@@ -28,16 +28,16 @@ containerd_config="/etc/containerd/config.toml"
2828containerd_config_backup=" /tmp/containerd.config.toml"
2929
3030# test image for container
31- IMAGE=" ${IMAGE:- ghcr.io/ dragonflyoss/ image-service/ alpine: nydus-latest } "
31+ IMAGE=" ${IMAGE:- ghcr.io/ dragonflyoss/ image-service/ alpine: nydus-nightly-v6 } "
3232
3333if [ " $KATA_HYPERVISOR " != " qemu" ] && [ " $KATA_HYPERVISOR " != " cloud-hypervisor" ] && [ " $KATA_HYPERVISOR " != " dragonball" ]; then
3434 echo " Skip nydus test for $KATA_HYPERVISOR , it only works for QEMU/CLH/DB now."
3535 exit 0
3636fi
3737
3838arch=" $( uname -m) "
39- if [ " $arch " != " x86_64" ]; then
40- echo " Skip nydus test for $arch , it only works for x86_64 now. See https://github.com/kata-containers/tests/issues/4445"
39+ if [ " $arch " != " x86_64" -a " $arch " != " aarch64 " ]; then
40+ echo " Skip nydus test for $arch , it only works for x86_64 and aarch64 now. See https://github.com/kata-containers/tests/issues/4445"
4141 exit 0
4242fi
4343
@@ -58,17 +58,53 @@ function install_from_tarball() {
5858 curl -Ls " $tarball_url " | sudo tar xfz - -C /usr/local/bin --strip-components=1
5959}
6060
61- function setup_nydus() {
62- # install nydus
63- install_from_tarball " nydus" " nydus-static"
61+ function install_from_source() {
62+ [ -z $( command -v cargo) ] && " ${dir_path} /../../.ci/install_rust.sh" && source " $HOME /.cargo/env"
63+ [ -z $( command -v cmake) ] && apt install cmake -y
64+ local src_dir=$( mktemp -d)
65+
66+ pushd ${src_dir}
67+ if false ; then
68+ git clone https://github.com/dragonflyoss/image-service.git
6469
70+ pushd image-service
71+ # install nydusd nydus-image
72+ make && make install
73+ [ -f " /usr/bin/nydusd" -a ! -f /usr/local/bin/nydusd ] && ln -s /usr/bin/nydusd /usr/local/bin/nydusd
74+ [ -f " /usr/bin/nydus-image" -a ! -f /usr/local/bin/nydus-image ] && ln -s /usr/bin/nydus-image /usr/local/bin/nydus-image
75+ # install nydusify
76+ make -C contrib/nydusify/ && install -m 755 contrib/nydusify/cmd/nydusify /usr/bin
77+ popd
78+ fi
6579 # install nydus-snapshotter
66- install_from_tarball " nydus-snapshotter" " nydus-snapshotter"
80+ git clone https://github.com/containerd/nydus-snapshotter.git
81+ pushd nydus-snapshotter
82+ make && install -m 755 bin/containerd-nydus-grpc /usr/local/bin
83+ popd
84+
85+ popd
86+
87+ # clean up temp dir
88+ rm -rf ${src_dir}
89+ }
90+
91+ function setup_nydus() {
92+
93+ # install nydus
94+ install_from_tarball " nydus" " nydus-static"
95+
96+ if [ " ${arch} " == " x86_64" ]; then
97+ # install nydus-snapshotter
98+ install_from_tarball " nydus-snapshotter" " nydus-snapshotter"
99+ else
100+ install_from_source
101+ fi
67102
68103 # Config nydus snapshotter
69104 sudo -E cp " $dir_path /nydusd-config.json" /etc/
70105
71106 # start nydus-snapshotter
107+ if [ " $arch " == " x86_64" ]; then
72108 nohup /usr/local/bin/containerd-nydus-grpc \
73109 --config-path /etc/nydusd-config.json \
74110 --shared-daemon \
@@ -80,6 +116,18 @@ function setup_nydus() {
80116 --disable-cache-manager true \
81117 --enable-nydus-overlayfs true \
82118 --log-to-stdout > /dev/null 2>&1 &
119+ else
120+ nohup /usr/local/bin/containerd-nydus-grpc \
121+ --config-path /etc/nydusd-config.json \
122+ --log-level debug \
123+ --root /var/lib/containerd/io.containerd.snapshotter.v1.nydus \
124+ --log-to-stdout \
125+ --daemon-mode shared \
126+ --nydusd /usr/local/bin/nydusd \
127+ --nydus-image /usr/local/bin/nydus-image \
128+ --address /run/containerd-nydus/containerd-nydus-grpc.sock \
129+ --fs-driver fusedev > /dev/null 2>&1 &
130+ fi
83131}
84132
85133function config_kata() {
@@ -144,14 +192,15 @@ EOF
144192
145193function setup() {
146194 setup_nydus
147- config_kata
195+ # config_kata
148196 config_containerd
149197 restart_containerd_service
150198 check_processes
151199 extract_kata_env
152200}
153201
154202function run_test() {
203+ echo $RUNTIME_CONFIG_PATH
155204 sudo -E crictl pull " ${IMAGE} "
156205 pod=$( sudo -E crictl runp -r kata $dir_path /nydus-sandbox.yaml)
157206 echo " Pod $pod created"
0 commit comments