zone shell cmds & tests added
This commit is contained in:
parent
315b20b9c1
commit
637ddefbbe
@ -305,7 +305,7 @@ class OpenStackShell(object):
|
||||
"""
|
||||
Delete an image.
|
||||
|
||||
It should go without saying, but you cn only delete images you
|
||||
It should go without saying, but you can only delete images you
|
||||
created.
|
||||
"""
|
||||
image = self._find_image(args.image)
|
||||
@ -399,11 +399,6 @@ class OpenStackShell(object):
|
||||
flavor = self._find_flavor(args.flavor)
|
||||
server.resize(flavor)
|
||||
|
||||
@arg('zone', metavar='<zone>', help='Name or ID of zone.')
|
||||
def do_zone_add_child(self, args):
|
||||
"""Add a child zone."""
|
||||
self._find_zone(args.zone).add_child()
|
||||
|
||||
@arg('server', metavar='<server>', help='Name or ID of server.')
|
||||
def do_pause(self, args):
|
||||
"""Pause a server."""
|
||||
@ -488,14 +483,45 @@ class OpenStackShell(object):
|
||||
"""Immediately shut down and delete a server."""
|
||||
self._find_server(args.server).delete()
|
||||
|
||||
@arg('zone', metavar='<zone name>', help='Name of the parent zone')
|
||||
@arg('--name', dest='name', default=None, help='New name.')
|
||||
@arg('--auth_url', dest='auth_url', help='New Auth URL.')
|
||||
def do_zone(self, args):
|
||||
"""Show or edit a zone."""
|
||||
zone = self.cs.zones.get(args.zone)
|
||||
|
||||
# If we have some flags, update the zone
|
||||
zone_delta = {}
|
||||
if args.name:
|
||||
zone_delta['name'] = args.name
|
||||
if args.auth_url:
|
||||
zone_delta['auth_url'] = args.auth_url
|
||||
|
||||
if zone_delta:
|
||||
zone.update(**zone_delta)
|
||||
else:
|
||||
print_dict(zone._info)
|
||||
|
||||
@arg('name', metavar='<name>', help='Name for the new child zone')
|
||||
@arg('auth_url', metavar='<auth_url>', help="URL for the Zone's Auth API")
|
||||
def do_zone_add(self, args):
|
||||
"""Add a new child zone."""
|
||||
zone = self.cs.zones.create(args.name, args.auth_url)
|
||||
print_dict(zone._info)
|
||||
|
||||
@arg('zone', metavar='<zone name>', help='Name of the parent zone')
|
||||
def do_zone_delete(self, args):
|
||||
"""Delete a zone."""
|
||||
self.cs.zones.delete(args.zone)
|
||||
|
||||
def do_zone_list(self, args):
|
||||
"""List the children of a zone."""
|
||||
print_list(self.cs.zones.list(), ['ID', 'Name', 'Auth URL'])
|
||||
|
||||
def _find_server(self, server):
|
||||
"""Get a server by name or ID."""
|
||||
return self._find_resource(self.cs.servers, server)
|
||||
|
||||
def _find_zone(self, zone):
|
||||
"""Get a zone by name or ID."""
|
||||
return self._find_resource(self.cs.zones, zone)
|
||||
|
||||
def _find_ipgroup(self, group):
|
||||
"""Get an IP group by name or ID."""
|
||||
return self._find_resource(self.cs.ipgroups, group)
|
||||
|
@ -299,6 +299,34 @@ def test_delete():
|
||||
assert_called('DELETE', '/servers/1234')
|
||||
|
||||
|
||||
def test_zone():
|
||||
shell('zone 1')
|
||||
assert_called('GET', '/zones/1')
|
||||
|
||||
shell('zone 1 --name zoneA --auth_url http://zzz')
|
||||
assert_called(
|
||||
'PUT', '/zones/1',
|
||||
{'zone': {'name': 'zoneA', 'auth_url': 'http://zzz'}}
|
||||
)
|
||||
|
||||
def test_zone_add():
|
||||
shell('zone-add zone3 http://zzz')
|
||||
assert_called(
|
||||
'POST', '/zones',
|
||||
{'zone': {'name': 'zone3', 'auth_url': 'http://zzz'}}
|
||||
)
|
||||
|
||||
def test_zone_delete():
|
||||
shell('zone-delete 1')
|
||||
assert_called('DELETE', '/zones/1')
|
||||
|
||||
|
||||
def test_zone_list():
|
||||
shell('zone-list')
|
||||
assert_in(('GET', '/zones/detail', None),
|
||||
_shell.cs.client.callstack)
|
||||
|
||||
|
||||
def test_help():
|
||||
@mock.patch.object(_shell.parser, 'print_help')
|
||||
def test_help(m):
|
||||
|
Loading…
x
Reference in New Issue
Block a user