Merge remote-tracking branch 'woju/pull/24/head' into core3-devel
This commit is contained in:
commit
c5f44f9b07
@ -23,6 +23,8 @@
|
|||||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
''' Shutdown a qube '''
|
||||||
|
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
@ -32,7 +34,7 @@ import qubes.config
|
|||||||
import qubes.tools
|
import qubes.tools
|
||||||
|
|
||||||
parser = qubes.tools.QubesArgumentParser(
|
parser = qubes.tools.QubesArgumentParser(
|
||||||
description='gracefully shut down a qube', vmname_nargs='+')
|
description=__doc__, vmname_nargs='+')
|
||||||
|
|
||||||
parser.add_argument('--force',
|
parser.add_argument('--force',
|
||||||
action='store_true', default=False,
|
action='store_true', default=False,
|
||||||
@ -50,10 +52,11 @@ parser.add_argument('--timeout',
|
|||||||
' (default: %d)')
|
' (default: %d)')
|
||||||
|
|
||||||
|
|
||||||
def main(args=None):
|
def main(args=None): # pylint: disable=missing-docstring
|
||||||
args = parser.parse_args(args)
|
args = parser.parse_args(args)
|
||||||
|
|
||||||
for vm in args.domains:
|
for vm in args.domains:
|
||||||
|
if not vm.is_halted():
|
||||||
vm.shutdown(force=args.force)
|
vm.shutdown(force=args.force)
|
||||||
|
|
||||||
if not args.wait:
|
if not args.wait:
|
||||||
@ -64,13 +67,16 @@ def main(args=None):
|
|||||||
while timeout >= 0:
|
while timeout >= 0:
|
||||||
current_vms = [vm for vm in current_vms
|
current_vms = [vm for vm in current_vms
|
||||||
if vm.get_power_state() != 'Halted']
|
if vm.get_power_state() != 'Halted']
|
||||||
|
if not current_vms:
|
||||||
|
return 0
|
||||||
args.app.log.info('Waiting for shutdown ({}): {}'.format(
|
args.app.log.info('Waiting for shutdown ({}): {}'.format(
|
||||||
timeout, ', '.join(map(str, current_vms))))
|
timeout, ', '.join([str(vm) for vm in current_vms])))
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
timeout -= 1
|
timeout -= 1
|
||||||
|
|
||||||
args.app.log.notice(
|
args.app.log.info(
|
||||||
'Killing remaining qubes: {}'.format(', '.join(map(str, current_vms))))
|
'Killing remaining qubes: {}'
|
||||||
|
.format(', '.join([str(vm) for vm in current_vms])))
|
||||||
for vm in current_vms:
|
for vm in current_vms:
|
||||||
vm.force_shutdown()
|
vm.force_shutdown()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user