@@ -48,6 +48,7 @@ def parse_args():
4848
4949 kill = subparsers .add_parser ('kill' , help = 'kills vm processes' )
5050 kill .set_defaults (entry_function = "kill" )
51+ kill .add_argument ("--with-disks" , default = False , action = 'store_true' , help = "also deletes the vm's disks" )
5152
5253 return parser .parse_args ()
5354
@@ -58,6 +59,7 @@ def __init__(self, args):
5859 self .names = []
5960 if args .names :
6061 self .names = args .names .split ("," )
62+ self .with_disks = args .with_disks if 'with_disks' in args else False
6163
6264 def run (self ):
6365 subcommands = {
@@ -92,6 +94,8 @@ def _create(self):
9294 def _kill (self ):
9395 for machine in self ._machines_from_cmdline ():
9496 Manager ._kill_vm_process (machine .get ("uuid" ))
97+ if self .with_disks :
98+ Manager ._delete_vm_disk (machine .get ("disk-path" ))
9599
96100
97101 @staticmethod
@@ -113,6 +117,13 @@ def _create_vm_disk(path, size):
113117 return
114118 subprocess .run (['qemu-img' , 'create' , '-f' , 'qcow2' , path , size ])
115119
120+ @staticmethod
121+ def _delete_vm_disk (path ):
122+ if not os .path .isfile (path ):
123+ print ("disk does not exist" )
124+ return
125+ os .remove (path )
126+
116127 @staticmethod
117128 def _start_vm (machine ):
118129 nics = []
@@ -136,7 +147,7 @@ def _start_vm(machine):
136147 "-cpu" , "host" ,
137148 "-drive" , "if=virtio,format=qcow2,file={disk}" .format (disk = machine .get ("disk-path" )),
138149 "-drive" , "if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd" ,
139- "-drive" , "if=pflash,format=raw,file=/usr/share/OVMF/OVMF_VARS.fd" ,
150+ "-drive" , "if=pflash,format=raw,readonly, file=/usr/share/OVMF/OVMF_VARS.fd" ,
140151 "-serial" , "telnet:127.0.0.1:{port},server,nowait" .format (port = machine .get ("serial-port" )),
141152 "-enable-kvm" ,
142153 "-nographic" ,
0 commit comments