mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-04 11:06:21 +00:00
qemu: create vm directory before launching qemu
Right now we create it in `createsandbox` and it would create the vm dir unnecessarily for fetchsandbox() and it ends up leaving an empty vm dir behind even after DeleteSandbox. Fixes: #547 Signed-off-by: Peng Tao <bergwolf@gmail.com>
This commit is contained in:
parent
568b65c275
commit
bd5076101c
@ -299,11 +299,6 @@ func (q *qemu) createQmpSocket() ([]govmmQemu.QMPSocket, error) {
|
||||
path: monitorSockPath,
|
||||
}
|
||||
|
||||
err = os.MkdirAll(filepath.Dir(monitorSockPath), dirMode)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return []govmmQemu.QMPSocket{
|
||||
{
|
||||
Type: "unix",
|
||||
@ -489,7 +484,21 @@ func (q *qemu) startSandbox() error {
|
||||
}
|
||||
}()
|
||||
|
||||
strErr, err := govmmQemu.LaunchQemu(q.qemuConfig, newQMPLogger())
|
||||
vmPath := filepath.Join(RunVMStoragePath, q.id)
|
||||
err := os.MkdirAll(vmPath, dirMode)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer func() {
|
||||
if err != nil {
|
||||
if err := os.RemoveAll(vmPath); err != nil {
|
||||
q.Logger().WithError(err).Error("Fail to clean up vm directory")
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
var strErr string
|
||||
strErr, err = govmmQemu.LaunchQemu(q.qemuConfig, newQMPLogger())
|
||||
if err != nil {
|
||||
return fmt.Errorf("%s", strErr)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user