From aa487952031579b7c9abf036b90c489474787cdf Mon Sep 17 00:00:00 2001 From: Zachery Hostens Date: Tue, 1 Aug 2017 11:23:43 -0500 Subject: [PATCH 1/2] save qemu pid in state directory Signed-off-by: Zachery Hostens --- src/cmd/linuxkit/run_qemu.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/cmd/linuxkit/run_qemu.go b/src/cmd/linuxkit/run_qemu.go index b93a7c595..3f7fc013c 100644 --- a/src/cmd/linuxkit/run_qemu.go +++ b/src/cmd/linuxkit/run_qemu.go @@ -32,6 +32,7 @@ type QemuConfig struct { GUI bool Disks Disks MetadataPath string + StatePath string FWPath string Arch string CPUs string @@ -183,12 +184,9 @@ func runQemu(args []string) { if *state == "" { *state = prefix + "-state" } - var mkstate func() - mkstate = func() { - if err := os.MkdirAll(*state, 0755); err != nil { - log.Fatalf("Could not create state directory: %v", err) - } - mkstate = func() {} + + if err := os.MkdirAll(*state, 0755); err != nil { + log.Fatalf("Could not create state directory: %v", err) } isoPath := "" @@ -202,7 +200,6 @@ func runQemu(args []string) { log.Fatalf("Cannot read user data: %v", err) } } - mkstate() isoPath = filepath.Join(*state, "data.iso") if err := WriteMetadataISO(isoPath, d); err != nil { log.Fatalf("Cannot write user data ISO: %v", err) @@ -218,7 +215,6 @@ func runQemu(args []string) { d.Format = "qcow2" } if d.Size != 0 && d.Path == "" { - mkstate() d.Path = filepath.Join(*state, "disk"+id+".img") } if d.Path == "" { @@ -283,6 +279,7 @@ func runQemu(args []string) { GUI: *enableGUI, Disks: disks, MetadataPath: isoPath, + StatePath: *state, FWPath: *fw, Arch: *arch, CPUs: *cpus, @@ -463,6 +460,7 @@ func buildQemuCmdline(config QemuConfig) (QemuConfig, []string) { qemuArgs = append(qemuArgs, "-smp", config.CPUs) qemuArgs = append(qemuArgs, "-m", config.Memory) qemuArgs = append(qemuArgs, "-uuid", config.UUID.String()) + qemuArgs = append(qemuArgs, "-pidfile", filepath.Join(config.StatePath, "qemu.pid")) // Need to specify the vcpu type when running qemu on arm64 platform, for security reason, // the vcpu should be "host" instead of other names such as "cortex-a53"... if config.Arch == "aarch64" { From dd0c340264872397f47f4321cb8f66b0cf817137 Mon Sep 17 00:00:00 2001 From: Zachery Hostens Date: Wed, 2 Aug 2017 08:04:40 -0500 Subject: [PATCH 2/2] update cleanup to use -depth option Signed-off-by: Zachery Hostens --- test/cases/040_packages/003_containerd/test.sh | 2 +- test/cases/040_packages/007_getty-containerd/test.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cases/040_packages/003_containerd/test.sh b/test/cases/040_packages/003_containerd/test.sh index f985b764f..f4cc59272 100644 --- a/test/cases/040_packages/003_containerd/test.sh +++ b/test/cases/040_packages/003_containerd/test.sh @@ -10,7 +10,7 @@ set -e . "${RT_PROJECT_ROOT}/_lib/lib.sh" clean_up() { - find . -iname "test-containerd*" -not -iname "*.yml" -exec rm -rf {} \; + find . -depth -iname "test-containerd*" -not -iname "*.yml" -exec rm -rf {} \; } trap clean_up EXIT diff --git a/test/cases/040_packages/007_getty-containerd/test.sh b/test/cases/040_packages/007_getty-containerd/test.sh index adb317820..2e9b420cb 100755 --- a/test/cases/040_packages/007_getty-containerd/test.sh +++ b/test/cases/040_packages/007_getty-containerd/test.sh @@ -12,7 +12,7 @@ set -e NAME=test-ctr clean_up() { - find . -iname "test-ctr*" -not -iname "*.yml" -exec rm -rf {} \; + find . -depth -iname "test-ctr*" -not -iname "*.yml" -exec rm -rf {} \; } trap clean_up EXIT