Merge "Domain start
command accepts multiple domain names"
This commit is contained in:
commit
a800f72812
@ -224,8 +224,8 @@ class StartCommand(Command):
|
||||
def get_parser(self, prog_name):
|
||||
parser = super(StartCommand, self).get_parser(prog_name)
|
||||
|
||||
parser.add_argument('domain_name',
|
||||
help='The name of the virtual machine')
|
||||
parser.add_argument('domain_names', nargs='+',
|
||||
help='A list of virtual machine names')
|
||||
|
||||
return parser
|
||||
|
||||
|
@ -141,14 +141,15 @@ def command_dispatcher(vbmc_manager, data_in):
|
||||
|
||||
elif command == 'delete':
|
||||
data_out = [vbmc_manager.delete(domain_name)
|
||||
for domain_name in data_in['domain_names']]
|
||||
for domain_name in set(data_in['domain_names'])]
|
||||
return {
|
||||
'rc': max([rc for rc, msg in data_out]),
|
||||
'msg': [msg for rc, msg in data_out if msg],
|
||||
}
|
||||
|
||||
elif command == 'start':
|
||||
data_out = [vbmc_manager.start(data_in['domain_name'])]
|
||||
data_out = [vbmc_manager.start(domain_name)
|
||||
for domain_name in set(data_in['domain_names'])]
|
||||
return {
|
||||
'rc': max([rc for rc, msg in data_out]),
|
||||
'msg': [msg for rc, msg in data_out if msg],
|
||||
@ -156,7 +157,7 @@ def command_dispatcher(vbmc_manager, data_in):
|
||||
|
||||
elif command == 'stop':
|
||||
data_out = [vbmc_manager.stop(domain_name)
|
||||
for domain_name in data_in['domain_names']]
|
||||
for domain_name in set(data_in['domain_names'])]
|
||||
return {
|
||||
'rc': max([rc for rc, msg in data_out]),
|
||||
'msg': [msg for rc, msg in data_out if msg],
|
||||
|
@ -146,13 +146,13 @@ class VBMCTestCase(base.TestCase):
|
||||
|
||||
with mock.patch.object(sys, 'stdout', six.StringIO()) as output:
|
||||
|
||||
rc = vbmc.main(['start', 'foo'])
|
||||
rc = vbmc.main(['start', 'foo', 'bar'])
|
||||
|
||||
query = json.loads(mock_zmq_socket.send.call_args[0][0].decode())
|
||||
|
||||
expected_query = {
|
||||
'command': 'start',
|
||||
'domain_name': 'foo'
|
||||
'domain_names': ['foo', 'bar']
|
||||
}
|
||||
|
||||
self.assertEqual(expected_query, query)
|
||||
|
Loading…
x
Reference in New Issue
Block a user