Merge "Enhance network-list to allow --fields"
This commit is contained in:
commit
4dbf1323cc
@ -1758,7 +1758,7 @@ class FakeHTTPClient(base_client.HTTPClient):
|
|||||||
def get_os_networks(self, **kw):
|
def get_os_networks(self, **kw):
|
||||||
return (200, {}, {'networks': [{"label": "1", "cidr": "10.0.0.0/24",
|
return (200, {}, {'networks': [{"label": "1", "cidr": "10.0.0.0/24",
|
||||||
'project_id': '4ffc664c198e435e9853f2538fbcd7a7',
|
'project_id': '4ffc664c198e435e9853f2538fbcd7a7',
|
||||||
'id': '1'}]})
|
'id': '1', 'vlan': '1234'}]})
|
||||||
|
|
||||||
def delete_os_networks_1(self, **kw):
|
def delete_os_networks_1(self, **kw):
|
||||||
return (202, {}, None)
|
return (202, {}, None)
|
||||||
|
@ -1699,6 +1699,13 @@ class ShellTest(utils.TestCase):
|
|||||||
self.run_command('network-list')
|
self.run_command('network-list')
|
||||||
self.assert_called('GET', '/os-networks')
|
self.assert_called('GET', '/os-networks')
|
||||||
|
|
||||||
|
def test_network_list_fields(self):
|
||||||
|
output = self.run_command('network-list --fields '
|
||||||
|
'vlan,project_id')
|
||||||
|
self.assert_called('GET', '/os-networks')
|
||||||
|
self.assertIn('1234', output)
|
||||||
|
self.assertIn('4ffc664c198e435e9853f2538fbcd7a7', output)
|
||||||
|
|
||||||
def test_network_show(self):
|
def test_network_show(self):
|
||||||
self.run_command('network-show 1')
|
self.run_command('network-show 1')
|
||||||
self.assert_called('GET', '/os-networks/1')
|
self.assert_called('GET', '/os-networks/1')
|
||||||
|
@ -784,10 +784,25 @@ def do_scrub(cs, args):
|
|||||||
cs.security_groups.delete(group)
|
cs.security_groups.delete(group)
|
||||||
|
|
||||||
|
|
||||||
def do_network_list(cs, _args):
|
@utils.arg('--fields',
|
||||||
|
default=None,
|
||||||
|
metavar='<fields>',
|
||||||
|
help='Comma-separated list of fields to display. '
|
||||||
|
'Use the show command to see which fields are available.')
|
||||||
|
def do_network_list(cs, args):
|
||||||
"""Print a list of available networks."""
|
"""Print a list of available networks."""
|
||||||
network_list = cs.networks.list()
|
network_list = cs.networks.list()
|
||||||
columns = ['ID', 'Label', 'Cidr']
|
columns = ['ID', 'Label', 'Cidr']
|
||||||
|
|
||||||
|
formatters = {}
|
||||||
|
field_titles = []
|
||||||
|
if args.fields:
|
||||||
|
for field in args.fields.split(','):
|
||||||
|
field_title, formatter = utils._make_field_formatter(field, {})
|
||||||
|
field_titles.append(field_title)
|
||||||
|
formatters[field_title] = formatter
|
||||||
|
|
||||||
|
columns = columns + field_titles
|
||||||
utils.print_list(network_list, columns)
|
utils.print_list(network_list, columns)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user