@@ -13,9 +13,12 @@ crio_conf_file_backup="${crio_conf_file}.bak"
1313containerd_conf_file=" /etc/containerd/config.toml"
1414containerd_conf_file_backup=" ${containerd_conf_file} .bak"
1515
16- shim_binary=" containerd-shim-kata-v2"
17- shim_file=" /usr/local/bin/${shim_binary} "
18- shim_backup=" /usr/local/bin/${shim_binary} .bak"
16+ shims=(
17+ " qemu"
18+ " nemu"
19+ " fc"
20+ )
21+
1922# If we fail for any reason a message will be displayed
2023die () {
2124 msg=" $* "
@@ -131,29 +134,46 @@ function configure_containerd() {
131134 [plugins.cri.containerd]
132135 [plugins.cri.containerd.runtimes.kata]
133136 runtime_type = "io.containerd.kata.v2"
137+ [plugins.cri.containerd.runtimes.kata.options]
138+ ConfigPath = "/opt/kata/share/defaults/kata-containers/configuration.toml"
139+ [plugins.cri.containerd.runtimes.kata-fc]
140+ runtime_type = "io.containerd.kata-fc.v2"
141+ [plugins.cri.containerd.runtimes.kata-fc.options]
142+ ConfigPath = "/opt/kata/share/defaults/kata-containers/configuration-fc.toml"
143+ [plugins.cri.containerd.runtimes.kata-qemu]
144+ runtime_type = "io.containerd.kata-qemu.v2"
145+ [plugins.cri.containerd.runtimes.kata-qemu.options]
146+ ConfigPath = "/opt/kata/share/defaults/kata-containers/configuration-qemu.toml"
147+ [plugins.cri.containerd.runtimes.kata-nemu]
148+ runtime_type = "io.containerd.kata-nemu.v2"
149+ [plugins.cri.containerd.runtimes.kata-nemu.options]
150+ ConfigPath = "/opt/kata/share/defaults/kata-containers/configuration-nemu.toml"
134151EOT
135-
136-
137152 # Currently containerd has an assumption on the location of the shimv2 implementation
138153 # Until support is added (see https://github.com/containerd/containerd/issues/3073),
139- # create a link in /usr/local/bin/ to the v2-shim implementation in /opt/kata/bin.
140- if [ -f ${shim_file} ]; then
141- echo " warning: ${shim_binary} already exists" >&2
142- if [ ! -f ${shim_backup} ]; then
143- mv ${shim_file} ${shim_backup}
144- else
145- rm ${shim_file}
146- fi
147- fi
154+ # create a link in /usr/local/bin/ to the v2-shim implementation in /opt/kata/bin.
148155
149156 mkdir -p /usr/local/bin
150157
151- cat << EOT | tee "$shim_file "
158+ for shim in ${shims[@]} ; do
159+ local shim_binary=" containerd-shim-kata-${shim} -v2"
160+ local shim_file=" /usr/local/bin/${shim_binary} "
161+ local shim_backup=" /usr/local/bin/${shim_binary} .bak"
162+
163+ if [ -f ${shim_file} ]; then
164+ echo " warning: ${shim_binary} already exists" >&2
165+ if [ ! -f ${shim_backup} ]; then
166+ mv ${shim_file} ${shim_backup}
167+ else
168+ rm ${shim_file}
169+ fi
170+ fi
171+ cat << EOT | tee "$shim_file "
152172#!/bin/bash
153- KATA_CONF_FILE=/opt/kata/share/defaults/kata-containers/configuration.toml /opt/kata/bin/${shim_binary} \$ @
173+ KATA_CONF_FILE=/opt/kata/share/defaults/kata-containers/configuration- ${shim} .toml /opt/kata/bin/containerd-shim-kata-v2 \$ @
154174EOT
155- chmod +x $shim_file
156-
175+ chmod +x $shim_file
176+ done
157177}
158178
159179function remove_artifacts() {
@@ -186,10 +206,19 @@ function cleanup_containerd() {
186206
187207 # Currently containerd has an assumption on the location of the shimv2 implementation
188208 # Until support is added (see https://github.com/containerd/containerd/issues/3073), we manage
189- # a symlink to the v2-shim implementation
190- if [ -f " $shim_backup " ]; then
191- mv " $shim_backup " " $shim_file "
192- fi
209+ # a reference to the v2-shim implementation
210+
211+ for shim in ${shims[@]} ; do
212+ local shim_binary=" containerd-shim-kata-${shim} -v2"
213+ local shim_file=" /usr/local/bin/${shim_binary} "
214+ local shim_backup=" /usr/local/bin/${shim_binary} .bak"
215+
216+ rm ${shim_file} || true
217+
218+ if [ -f ${shim_backup} ]; then
219+ mv " $shim_backup " " $shim_file "
220+ fi
221+ done
193222
194223}
195224
0 commit comments