diff --git a/runtime/cni_integ_test.go b/runtime/cni_integ_test.go index 7887d01d0..0d97b0cbb 100644 --- a/runtime/cni_integ_test.go +++ b/runtime/cni_integ_test.go @@ -135,6 +135,7 @@ func TestCNISupport_Isolated(t *testing.T) { func TestAutomaticCNISupport_Isolated(t *testing.T) { internal.RequiresIsolation(t) + useDefaultNetworkInterfaceRuntimeConfig(t) testTimeout := 120 * time.Second ctx, cancel := context.WithTimeout(namespaces.WithNamespace(context.Background(), defaultNamespace), testTimeout) @@ -355,6 +356,16 @@ func writeCNIConf(path, chainedPluginName, networkName, nameserver string) error }`, networkName, nameserver, chainedPluginName)), 0644) } +func useDefaultNetworkInterfaceRuntimeConfig(t *testing.T) { + t.Helper() + + err := os.RemoveAll(runtimeConfigPath) + require.NoError(t, err, "failed to remove existing firecracker containerd runtime config file") + + err = os.Symlink(defaultNetworkInterfaceRuntimeConfigPath, runtimeConfigPath) + require.NoError(t, err, "failed to symlink default network interface runtime config") +} + func runCommand(ctx context.Context, t *testing.T, name string, args ...string) { t.Helper() output, err := exec.CommandContext(ctx, name, args...).CombinedOutput() diff --git a/runtime/service_integ_test.go b/runtime/service_integ_test.go index 2b16aae07..ff746d1a2 100644 --- a/runtime/service_integ_test.go +++ b/runtime/service_integ_test.go @@ -63,6 +63,9 @@ const ( defaultVMRootfsPath = "/var/lib/firecracker-containerd/runtime/default-rootfs.img" defaultVMNetDevName = "eth0" varRunDir = "/run/firecracker-containerd" + + runtimeConfigPath = "/etc/containerd/firecracker-runtime.json" + defaultNetworkInterfaceRuntimeConfigPath = "/etc/containerd/firecracker-runtime-defaultnetwork.json" ) // Images are presumed by the isolated tests to have already been pulled diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 0a68f136d..579251a4e 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -165,6 +165,7 @@ RUN make -C /firecracker-containerd/internal test-bridged-tap && \ chmod a+x /firecracker-containerd/internal/test-bridged-tap COPY tools/docker/firecracker-runtime.json /etc/containerd/firecracker-runtime.json +COPY tools/docker/firecracker-runtime-defaultnetwork.json /etc/containerd/firecracker-runtime-defaultnetwork.json COPY tools/docker/naive-snapshotter/entrypoint.sh /entrypoint ENTRYPOINT ["/entrypoint"] diff --git a/tools/docker/firecracker-runtime-defaultnetwork.json b/tools/docker/firecracker-runtime-defaultnetwork.json new file mode 100644 index 000000000..110169ae3 --- /dev/null +++ b/tools/docker/firecracker-runtime-defaultnetwork.json @@ -0,0 +1,19 @@ +{ + "firecracker_binary_path": "/usr/local/bin/firecracker", + "kernel_image_path": "/var/lib/firecracker-containerd/runtime/default-vmlinux.bin", + "kernel_args": "ro console=ttyS0 noapic reboot=k panic=1 pci=off nomodules systemd.journald.forward_to_console systemd.unit=firecracker.target init=/sbin/overlay-init", + "root_drive": "/var/lib/firecracker-containerd/runtime/default-rootfs.img", + "cpu_count": 1, + "cpu_template": "T2", + "log_fifo": "/tmp/fc-logs.fifo", + "log_level": "Debug", + "metrics_fifo": "/tmp/fc-metrics.fifo", + "default_network_interfaces": [ + { + "CNIConfig": { + "NetworkName": "fcnet", + "InterfaceName": "veth0" + } + } + ] +} diff --git a/tools/docker/firecracker-runtime.json b/tools/docker/firecracker-runtime.json index 110169ae3..3edd6acfc 100644 --- a/tools/docker/firecracker-runtime.json +++ b/tools/docker/firecracker-runtime.json @@ -7,13 +7,5 @@ "cpu_template": "T2", "log_fifo": "/tmp/fc-logs.fifo", "log_level": "Debug", - "metrics_fifo": "/tmp/fc-metrics.fifo", - "default_network_interfaces": [ - { - "CNIConfig": { - "NetworkName": "fcnet", - "InterfaceName": "veth0" - } - } - ] + "metrics_fifo": "/tmp/fc-metrics.fifo" }