summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorStephen Finucane <sfinucan@redhat.com>2021-12-14 15:14:49 +0000
committerStephen Finucane <sfinucan@redhat.com>2021-12-14 15:55:33 +0000
commit0cde82dcd86205f9e190b1a4f02136e1d83797b9 (patch)
tree5dd54c70c1eb49745cd046d94cdb2c6fad9d10d8 /openstackclient/compute
parent9971d7253e9c3abd2e3940bf549ef8532ef929f9 (diff)
downloadpython-openstackclient-0cde82dcd86205f9e190b1a4f02136e1d83797b9.tar.gz
compute: Return information about fixed IP
The compute API provides this information to us. We might as well use it. Change-Id: I5608fa80745975ce49712718452cfe296c0f64d2 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py33
1 files changed, 28 insertions, 5 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 0931a6ca..2c1e42cc 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -204,7 +204,7 @@ def boolenv(*vars, default=False):
return default
-class AddFixedIP(command.Command):
+class AddFixedIP(command.ShowOne):
_description = _("Add fixed IP address to server")
def get_parser(self, prog_name):
@@ -231,7 +231,7 @@ class AddFixedIP(command.Command):
metavar='<tag>',
help=_(
'Tag for the attached interface. '
- '(supported by --os-compute-api-version 2.52 or above)'
+ '(supported by --os-compute-api-version 2.49 or above)'
)
)
return parser
@@ -265,16 +265,39 @@ class AddFixedIP(command.Command):
server.id,
net_id
)
- return
+ return ((), ())
kwargs = {
'net_id': net_id,
'fixed_ip': parsed_args.fixed_ip_address,
}
-
if parsed_args.tag:
kwargs['tag'] = parsed_args.tag
- compute_client.create_server_interface(server.id, **kwargs)
+
+ interface = compute_client.create_server_interface(server.id, **kwargs)
+
+ columns = (
+ 'port_id', 'server_id', 'net_id', 'mac_addr', 'port_state',
+ 'fixed_ips',
+ )
+ column_headers = (
+ 'Port ID', 'Server ID', 'Network ID', 'MAC Address', 'Port State',
+ 'Fixed IPs',
+ )
+ if sdk_utils.supports_microversion(compute_client, '2.49'):
+ columns += ('tag',)
+ column_headers += ('Tag',)
+
+ return (
+ column_headers,
+ utils.get_item_properties(
+ interface,
+ columns,
+ formatters={
+ 'fixed_ips': format_columns.ListDictColumn,
+ },
+ ),
+ )
class AddFloatingIP(network_common.NetworkAndComputeCommand):