Skip to content

Commit 05993a9

Browse files
committed
[feat] upgeade curvefs base image
Signed-off-by: Cyber-SiKu <[email protected]>
1 parent ac1941c commit 05993a9

File tree

12 files changed

+62
-20
lines changed

12 files changed

+62
-20
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,4 @@ test:
8787
@bash util/test.sh $(stor) $(only)
8888

8989
docker:
90-
@bash util/docker.sh $(os)
90+
@bash util/docker.sh --os=$(os) --ci=$(ci)
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
FROM opencurvedocker/curve-base:debian9
2-
COPY entrypoint.sh /
3-
COPY curvefs /curvefs
1+
FROM opencurvedocker/curve-base:debian11
42
COPY libmemcached.so libmemcached.so.11 libhashkit.so.2 /usr/lib/
3+
COPY curvefs /curvefs
54
RUN mkdir -p /etc/curvefs /core /etc/curve && chmod a+x /entrypoint.sh \
65
&& cp /curvefs/tools/sbin/curvefs_tool /usr/bin \
76
&& cp /curvefs/tools-v2/sbin/curve /usr/bin/
8-
ENTRYPOINT ["/entrypoint.sh"]
File renamed without changes.

curvefs/src/client/s3/client_s3_cache_manager.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1595,13 +1595,14 @@ void ChunkCacheManager::ReleaseCache() {
15951595
s3ClientAdaptor_->GetFsCacheManager()->FlushSignal();
15961596
}
15971597
WriteLockGuard writeLockGuard(rwLockRead_);
1598-
auto iter = dataRCacheMap_.begin();
1599-
for (; iter != dataRCacheMap_.end(); iter++) {
1598+
for (auto iter = dataRCacheMap_.begin(); iter != dataRCacheMap_.end();) {
16001599
if (s3ClientAdaptor_->GetFsCacheManager()->Delete(iter->second)) {
16011600
g_s3MultiManagerMetric->readDataCacheNum << -1;
16021601
g_s3MultiManagerMetric->readDataCacheByte
16031602
<< -1 * (*(iter->second))->GetActualLen();
1604-
dataRCacheMap_.erase(iter);
1603+
iter = dataRCacheMap_.erase(iter);
1604+
} else {
1605+
++iter;
16051606
}
16061607
}
16071608
}

curvefs/test/client/common/test_config.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ TEST(TestInitVolumeOption, Common) {
4444
conf.SetUInt64Value("volume.bitmapAllocator.sizePerBit",
4545
4ULL * 1024 * 1024);
4646
conf.SetDoubleValue("volume.bitmapAllocator.smallAllocProportion", 0.0);
47+
conf.SetDoubleValue("volume.space.useThreshold", 0.95);
48+
conf.SetDoubleValue("volume.space.releaseInterSec", 300);
4749

4850
ASSERT_NO_FATAL_FAILURE({ InitVolumeOption(&conf, &volopt); });
4951
}

curvefs/test/client/test_disk_cache_manager.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
#include <gtest/gtest.h>
2424
#include <gmock/gmock.h>
25+
#include <sys/stat.h>
2526
#include "curvefs/test/client/mock_client_s3.h"
2627

2728
#include "curvefs/test/client/mock_disk_cache_write.h"
@@ -467,10 +468,12 @@ TEST_F(TestDiskCacheManager, TrimCache_exceed) {
467468
diskCacheManager_->AddCache("test02");
468469
diskCacheManager_->AddCache("test03");
469470
diskCacheManager_->AddCache("test04");
470-
EXPECT_CALL(*wrapper, stat(NotNull(), NotNull()))
471+
struct stat rf;
472+
rf.st_size = 0;
473+
EXPECT_CALL(*wrapper, stat(NotNull(), _))
471474
.Times(2)
472475
.WillOnce(Return(-1))
473-
.WillOnce(Return(0));
476+
.WillOnce(DoAll(SetArgPointee<1>(rf), Return(0)));
474477
diskCacheManager_->TrimRun();
475478
diskCacheManager_->InitMetrics("test");
476479
sleep(6);

curvefs/test/mds/mds_test.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,11 @@ class MdsTest : public ::testing::Test {
8080
std::string(" --name curve_fs_test_mds");
8181

8282
LOG(INFO) << "start etcd: " << cmd;
83-
84-
ASSERT_EQ(0, execl("/bin/sh", "sh", "-c", cmd.c_str(), nullptr));
83+
ASSERT_EQ(0,
84+
execlp("etcd", "etcd", "--advertise-client-urls",
85+
"http://localhost:20032", "--listen-client-urls",
86+
"http://localhost:20032", "--name",
87+
"curve_fs_test_mds", nullptr));
8588
exit(0);
8689
}
8790

docker/debian11/base/Dockerfile

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
FROM debian:11
2-
ENV TZ=Asia/Shanghai
2+
ENV TZ=Asia/Shanghai \
3+
LANG=C.UTF-8 \
4+
LC_ALL=C.UTF-8
35
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \
46
sed -i 's|security.debian.org/debian-security|mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list && \
57
apt-get clean && \
@@ -24,6 +26,7 @@ RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \
2426
libnl-3-200 \
2527
libnl-genl-3-200 \
2628
libjemalloc2 \
29+
libjemalloc-dev \
2730
libsnappy1v5 \
2831
liblz4-1 \
2932
zlib1g \

docker/debian11/compile/Dockerfile

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
FROM debian:11
2-
ENV TZ=Asia/Shanghai
3-
ENV GITHUB_PROXY=https://ghproxy.com/
4-
ENV VERSION_ETCD=v3.4.0 \
2+
ENV TZ=Asia/Shanghai \
3+
LANG=C.UTF-8 \
4+
LC_ALL=C.UTF-8 \
5+
GITHUB_PROXY=https://ghproxy.com/ \
6+
VERSION_ETCD=v3.4.0 \
57
DOWNLOAD_ETCD_URL=${GITHUB_PROXY}https://github.com/etcd-io/etcd/releases/download \
68
GOPROXY=https://goproxy.io,direct \
79
PROTOC_VERSION=21.8 \
810
GO_INSTALL_VERSION=1.19.6 \
911
PROTOC_GEN_GO_VERSION=v1.28 \
10-
PROTOC_GEN_GO_GRPC_VERSION=v1.2
12+
PROTOC_GEN_GO_GRPC_VERSION=v1.2 \
13+
BAZELISK_BASE_URL=https://repo.huaweicloud.com/bazel
1114
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \
1215
sed -i 's|security.debian.org/debian-security|mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list && \
1316
apt clean && \

src/mds/nameserver2/file_lock.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ void FileLockManager::LockInternal(const std::string& path,
120120
bthread_rwlock_rdlock(&entry->rwLock_);
121121
} else {
122122
// get write lock
123-
bthread_rwlock_unlock(&entry->rwLock_);
123+
bthread_rwlock_wrlock(&entry->rwLock_);
124124
}
125125
}
126126

util/docker.sh

+30-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,22 @@
33
# Copyright (C) 2021 Jingli Chen (Wine93), NetEase Inc.
44

55
############################ GLOBAL VARIABLES
6+
``
67
g_os="debian11"
8+
g_ci=0
9+
g_docker_opts=(
10+
"-v ${HOME}:${HOME}"
11+
"--user $(id -u ${USER}):$(id -g ${USER})"
12+
"-v /etc/passwd:/etc/passwd:ro"
13+
"-v /etc/group:/etc/group:ro"
14+
"-v /etc/sudoers.d/:/etc/sudoers.d/"
15+
"-v /etc/sudoers:/etc/sudoers:ro"
16+
"-v /etc/shadow:/etc/shadow:ro"
17+
"-v /var/run/docker.sock:/var/run/docker.sock"
18+
"-v /root/.docker:/root/.docker"
19+
"--ulimit core=-1"
20+
"--privileged"
21+
)
722

823
############################ BASIC FUNCTIONS
924
msg() {
@@ -27,7 +42,7 @@ print_title() {
2742
############################ FUNCTIONS
2843

2944
get_options() {
30-
local args=`getopt -o ldorh --long os: -n "$0" -- "$@"`
45+
local args=`getopt -o ldorh --long os:,ci: -n "$0" -- "$@"`
3146
eval set -- "${args}"
3247
while true
3348
do
@@ -36,6 +51,10 @@ get_options() {
3651
g_os=$2
3752
shift 2
3853
;;
54+
-c|--ci)
55+
g_ci=$2
56+
shift 2
57+
;;
3958
-h)
4059
usage
4160
exit 1
@@ -54,7 +73,16 @@ get_options() {
5473
main() {
5574
get_options "$@"
5675

57-
sudo docker run -it --rm -w $(pwd) -v $(pwd):$(pwd) -v ${HOME}:${HOME} --user $(id -u ${USER}):$(id -g ${USER}) -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro -v /etc/sudoers.d/:/etc/sudoers.d/ -v /etc/sudoers:/etc/sudoers:ro -v /etc/shadow:/etc/shadow:ro -v /var/run/docker.sock:/var/run/docker.sock -v /root/.docker:/root/.docker --ulimit core=-1 --privileged opencurvedocker/curve-base:build-$g_os bash
76+
if [ $g_ci -eq 0 ]; then
77+
g_docker_opts+=("--rm")
78+
g_docker_opts+=("-v $(pwd):$(pwd)")
79+
g_docker_opts+=("-w $(pwd)")
80+
else
81+
g_docker_opts+=("-v $(pwd):/var/lib/jenkins/workspace/curve/curve_multijob/")
82+
g_docker_opts+=("-w /var/lib/jenkins/workspace/curve/curve_multijob/")
83+
fi
84+
85+
sudo docker run -it ${g_docker_opts[@]} opencurvedocker/curve-base:build-$g_os bash
5886
}
5987

6088
############################ MAIN()

util/ut_in_image.sh

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ulimit -c unlimited
1313
ulimit -a
1414

1515
# start minio
16+
sudo pkill minio || true
1617
sudo MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password MINIO_BROWSER=off minio server /data/minio --address ":9999" &
1718

1819
ps -ef | grep chunkserver | grep -v grep | grep -v gcc | awk '{print $2}' | sudo xargs kill -9 || true

0 commit comments

Comments
 (0)