From 0a69eb8ffff4b8dd446c32f5dd9678612379dd6a Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Wed, 20 Feb 2019 14:41:01 +0000 Subject: [PATCH] kata-env: add SharedFS option to output It's useful to know whether virtio-9p or virtio-fs is being used. Add the status to the kata-env output. Signed-off-by: Stefan Hajnoczi --- cli/kata-env.go | 2 ++ cli/kata-env_test.go | 9 +++++++++ pkg/katatestutils/utils.go | 3 +++ pkg/katautils/config_test.go | 4 ++++ 4 files changed, 18 insertions(+) diff --git a/cli/kata-env.go b/cli/kata-env.go index af8c9a751..c8610daa4 100644 --- a/cli/kata-env.go +++ b/cli/kata-env.go @@ -92,6 +92,7 @@ type HypervisorInfo struct { MemorySlots uint32 Debug bool UseVSock bool + SharedFS string } // ProxyInfo stores proxy details @@ -352,6 +353,7 @@ func getHypervisorInfo(config oci.RuntimeConfig) HypervisorInfo { UseVSock: config.HypervisorConfig.UseVSock, MemorySlots: config.HypervisorConfig.MemSlots, EntropySource: config.HypervisorConfig.EntropySource, + SharedFS: config.HypervisorConfig.SharedFS, } } diff --git a/cli/kata-env_test.go b/cli/kata-env_test.go index 21e070f63..1e1b3ee09 100644 --- a/cli/kata-env_test.go +++ b/cli/kata-env_test.go @@ -37,6 +37,7 @@ const testHypervisorVersion = "QEMU emulator version 2.7.0+git.741f430a96-6.1, C var ( hypervisorDebug = false + enableVirtioFS = false proxyDebug = false runtimeDebug = false runtimeTrace = false @@ -91,6 +92,7 @@ func makeRuntimeConfig(prefixDir string) (configFile string, config oci.RuntimeC enableIOThreads := true hotplugVFIOOnRootBus := true disableNewNetNs := false + sharedFS := "virtio-9p" filesToCreate := []string{ hypervisorPath, @@ -126,6 +128,10 @@ func makeRuntimeConfig(prefixDir string) (configFile string, config oci.RuntimeC return "", oci.RuntimeConfig{}, err } + if enableVirtioFS { + sharedFS = "virtio-fs" + } + hypConfig := katautils.GetDefaultHypervisorConfig() configFileOptions := katatestutils.RuntimeConfigOptions{ @@ -157,6 +163,7 @@ func makeRuntimeConfig(prefixDir string) (configFile string, config oci.RuntimeC NetmonDebug: netmonDebug, AgentDebug: agentDebug, AgentTrace: agentTrace, + SharedFS: sharedFS, } runtimeConfig := katatestutils.MakeRuntimeConfigFileData(configFileOptions) @@ -321,6 +328,7 @@ func getExpectedHypervisor(config oci.RuntimeConfig) HypervisorInfo { MemorySlots: config.HypervisorConfig.MemSlots, Debug: config.HypervisorConfig.Debug, EntropySource: config.HypervisorConfig.EntropySource, + SharedFS: config.HypervisorConfig.SharedFS, } } @@ -498,6 +506,7 @@ func TestEnvGetEnvInfo(t *testing.T) { // options are tested. for _, toggle := range []bool{false, true} { hypervisorDebug = toggle + enableVirtioFS = toggle proxyDebug = toggle runtimeDebug = toggle runtimeTrace = toggle diff --git a/pkg/katatestutils/utils.go b/pkg/katatestutils/utils.go index ef2dcc654..62f6ffc97 100644 --- a/pkg/katatestutils/utils.go +++ b/pkg/katatestutils/utils.go @@ -27,6 +27,7 @@ type RuntimeConfigOptions struct { BlockDeviceDriver string AgentTraceMode string AgentTraceType string + SharedFS string DisableBlock bool EnableIOThreads bool HotplugVFIOOnRootBus bool @@ -61,6 +62,8 @@ func MakeRuntimeConfigFileData(config RuntimeConfigOptions) string { msize_9p = ` + strconv.FormatUint(uint64(config.DefaultMsize9p), 10) + ` enable_debug = ` + strconv.FormatBool(config.HypervisorDebug) + ` guest_hook_path = "` + config.DefaultGuestHookPath + `" + shared_fs = "` + config.SharedFS + `" + virtio_fs_daemon = "/path/to/virtiofsd" [proxy.kata] enable_debug = ` + strconv.FormatBool(config.ProxyDebug) + ` diff --git a/pkg/katautils/config_test.go b/pkg/katautils/config_test.go index 44d434893..0593581cb 100644 --- a/pkg/katautils/config_test.go +++ b/pkg/katautils/config_test.go @@ -83,6 +83,7 @@ func createAllRuntimeConfigFiles(dir, hypervisor string) (config testRuntimeConf enableIOThreads := true hotplugVFIOOnRootBus := true disableNewNetNs := false + sharedFS := "virtio-9p" configFileOptions := katatestutils.RuntimeConfigOptions{ Hypervisor: "qemu", @@ -113,6 +114,7 @@ func createAllRuntimeConfigFiles(dir, hypervisor string) (config testRuntimeConf NetmonDebug: netmonDebug, AgentDebug: agentDebug, AgentTrace: agentTrace, + SharedFS: sharedFS, } runtimeConfigFileData := katatestutils.MakeRuntimeConfigFileData(configFileOptions) @@ -160,6 +162,8 @@ func createAllRuntimeConfigFiles(dir, hypervisor string) (config testRuntimeConf MemSlots: defaultMemSlots, EntropySource: defaultEntropySource, GuestHookPath: defaultGuestHookPath, + SharedFS: sharedFS, + VirtioFSDaemon: "/path/to/virtiofsd", } agentConfig := vc.KataAgentConfig{}