mirror of
https://github.com/gryf/boxpy.git
synced 2026-02-02 22:25:53 +01:00
Guard against interruption during invalid cloud config.
This commit is contained in:
22
box.py
22
box.py
@@ -578,14 +578,20 @@ def vmcreate(args):
|
|||||||
|
|
||||||
# than, let's try to see if boostraping process has finished
|
# than, let's try to see if boostraping process has finished
|
||||||
print('Waiting for cloud init to finish ', end='')
|
print('Waiting for cloud init to finish ', end='')
|
||||||
while True:
|
try:
|
||||||
if vbox.vm_info['uuid'] in vbox.get_running_vms():
|
while True:
|
||||||
print('.', end='')
|
if vbox.vm_info['uuid'] in vbox.get_running_vms():
|
||||||
sys.stdout.flush()
|
print('.', end='')
|
||||||
time.sleep(3)
|
sys.stdout.flush()
|
||||||
else:
|
time.sleep(3)
|
||||||
print(' done.')
|
else:
|
||||||
break
|
print(' done.')
|
||||||
|
break
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print('\nIterrupted, cleaning up.')
|
||||||
|
VBoxManage(args.name).destroy()
|
||||||
|
return 1
|
||||||
|
|
||||||
# dettach ISO image
|
# dettach ISO image
|
||||||
vbox.storageattach('IDE', 1, 'dvddrive', 'none')
|
vbox.storageattach('IDE', 1, 'dvddrive', 'none')
|
||||||
vbox.closemedium('dvd', path_to_iso)
|
vbox.closemedium('dvd', path_to_iso)
|
||||||
|
|||||||
Reference in New Issue
Block a user