diff options
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/api/image_v1.py | 9 | ||||
| -rw-r--r-- | openstackclient/api/image_v2.py | 7 | ||||
| -rw-r--r-- | openstackclient/common/clientmanager.py | 2 | ||||
| -rw-r--r-- | openstackclient/compute/v2/hypervisor.py | 27 | ||||
| -rw-r--r-- | openstackclient/compute/v2/security_group.py | 4 | ||||
| -rw-r--r-- | openstackclient/compute/v2/server.py | 6 | ||||
| -rw-r--r-- | openstackclient/identity/client.py | 1 | ||||
| -rw-r--r-- | openstackclient/tests/compute/v2/test_server.py | 10 |
8 files changed, 44 insertions, 22 deletions
diff --git a/openstackclient/api/image_v1.py b/openstackclient/api/image_v1.py index c363ce49..534c7750 100644 --- a/openstackclient/api/image_v1.py +++ b/openstackclient/api/image_v1.py @@ -19,11 +19,18 @@ from openstackclient.api import api class APIv1(api.BaseAPI): """Image v1 API""" + _endpoint_suffix = 'v1' + def __init__(self, endpoint=None, **kwargs): super(APIv1, self).__init__(endpoint=endpoint, **kwargs) + self.endpoint = self.endpoint.rstrip('/') + self._munge_url() + + def _munge_url(self): # Hack this until discovery is up - self.endpoint = '/'.join([self.endpoint.rstrip('/'), 'v1']) + if self._endpoint_suffix not in self.endpoint.split('/')[-1]: + self.endpoint = '/'.join([self.endpoint, self._endpoint_suffix]) def image_list( self, diff --git a/openstackclient/api/image_v2.py b/openstackclient/api/image_v2.py index 37c2ed83..d8bb2801 100644 --- a/openstackclient/api/image_v2.py +++ b/openstackclient/api/image_v2.py @@ -19,11 +19,12 @@ from openstackclient.api import image_v1 class APIv2(image_v1.APIv1): """Image v2 API""" - def __init__(self, endpoint=None, **kwargs): - super(APIv2, self).__init__(endpoint=endpoint, **kwargs) + _endpoint_suffix = 'v2' + def _munge_url(self): # Hack this until discovery is up, and ignore parent endpoint setting - self.endpoint = '/'.join([endpoint.rstrip('/'), 'v2']) + if 'v2' not in self.endpoint.split('/')[-1]: + self.endpoint = '/'.join([self.endpoint, 'v2']) def image_list( self, diff --git a/openstackclient/common/clientmanager.py b/openstackclient/common/clientmanager.py index c4307919..748894a9 100644 --- a/openstackclient/common/clientmanager.py +++ b/openstackclient/common/clientmanager.py @@ -54,6 +54,8 @@ class ClientManager(object): for o in auth.OPTIONS_LIST]: return self._auth_params[name[1:]] + raise AttributeError(name) + def __init__( self, cli_options, diff --git a/openstackclient/compute/v2/hypervisor.py b/openstackclient/compute/v2/hypervisor.py index e01258d1..65035d04 100644 --- a/openstackclient/compute/v2/hypervisor.py +++ b/openstackclient/compute/v2/hypervisor.py @@ -16,6 +16,7 @@ """Hypervisor action implementations""" import logging +import re import six from cliff import lister @@ -33,8 +34,8 @@ class ListHypervisor(lister.Lister): parser = super(ListHypervisor, self).get_parser(prog_name) parser.add_argument( "--matching", - metavar="<hostname-str>", - help="Filter hypervisors using <hostname-str> substring", + metavar="<hostname>", + help="Filter hypervisors using <hostname> substring", ) return parser @@ -58,23 +59,35 @@ class ListHypervisor(lister.Lister): class ShowHypervisor(show.ShowOne): - """Show hypervisor details""" + """Display hypervisor details""" log = logging.getLogger(__name__ + ".ShowHypervisor") def get_parser(self, prog_name): parser = super(ShowHypervisor, self).get_parser(prog_name) parser.add_argument( - "id", - metavar="<id>", - help="ID of the hypervisor to display") + "hypervisor", + metavar="<hypervisor>", + help="Hypervisor to display (name or ID)") return parser def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) compute_client = self.app.client_manager.compute hypervisor = utils.find_resource(compute_client.hypervisors, - parsed_args.id)._info.copy() + parsed_args.hypervisor)._info.copy() + + uptime = compute_client.hypervisors.uptime(hypervisor['id'])._info + # Extract data from uptime value + # format: 0 up 0, 0 users, load average: 0, 0, 0 + # example: 17:37:14 up 2:33, 3 users, load average: 0.33, 0.36, 0.34 + m = re.match("(.+)\sup\s+(.+),\s+(.+)\susers,\s+load average:\s(.+)", + uptime['uptime']) + if m: + hypervisor["host_time"] = m.group(1) + hypervisor["uptime"] = m.group(2) + hypervisor["users"] = m.group(3) + hypervisor["load_average"] = m.group(4) hypervisor["service_id"] = hypervisor["service"]["id"] hypervisor["service_host"] = hypervisor["service"]["host"] diff --git a/openstackclient/compute/v2/security_group.py b/openstackclient/compute/v2/security_group.py index 13a2103f..d4643438 100644 --- a/openstackclient/compute/v2/security_group.py +++ b/openstackclient/compute/v2/security_group.py @@ -327,7 +327,7 @@ class DeleteSecurityGroupRule(command.Command): parser.add_argument( 'group', metavar='<group>', - help='Create rule in this security group', + help='Security group rule to delete (name or ID)', ) parser.add_argument( "--proto", @@ -380,7 +380,7 @@ class ListSecurityGroupRule(lister.Lister): parser.add_argument( 'group', metavar='<group>', - help='Create rule in this security group', + help='List all rules in this security group', ) return parser diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 3d28cc15..49ef18b2 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -1073,9 +1073,9 @@ class ResizeServer(command.Command): help=_('Resize server to specified flavor'), ) phase_group.add_argument( - '--verify', + '--confirm', action="store_true", - help=_('Verify server resize is complete'), + help=_('Confirm server resize is complete'), ) phase_group.add_argument( '--revert', @@ -1114,7 +1114,7 @@ class ResizeServer(command.Command): else: sys.stdout.write(_('\nError resizing server')) raise SystemExit - elif parsed_args.verify: + elif parsed_args.confirm: compute_client.servers.confirm_resize(server) elif parsed_args.revert: compute_client.servers.revert_resize(server) diff --git a/openstackclient/identity/client.py b/openstackclient/identity/client.py index d10d046d..4127a451 100644 --- a/openstackclient/identity/client.py +++ b/openstackclient/identity/client.py @@ -46,7 +46,6 @@ def make_client(instance): API_VERSIONS) LOG.debug('Instantiating identity client: %s', identity_client) - LOG.debug('Using auth plugin: %s' % instance._auth_plugin) client = identity_client( session=instance.session, region_name=instance._region_name, diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py index 5a126697..079f301e 100644 --- a/openstackclient/tests/compute/v2/test_server.py +++ b/openstackclient/tests/compute/v2/test_server.py @@ -437,7 +437,7 @@ class TestServerResize(TestServer): compute_fakes.server_id, ] verifylist = [ - ('verify', False), + ('confirm', False), ('revert', False), ('server', compute_fakes.server_id), ] @@ -461,7 +461,7 @@ class TestServerResize(TestServer): ] verifylist = [ ('flavor', compute_fakes.flavor_id), - ('verify', False), + ('confirm', False), ('revert', False), ('server', compute_fakes.server_id), ] @@ -486,11 +486,11 @@ class TestServerResize(TestServer): def test_server_resize_confirm(self): arglist = [ - '--verify', + '--confirm', compute_fakes.server_id, ] verifylist = [ - ('verify', True), + ('confirm', True), ('revert', False), ('server', compute_fakes.server_id), ] @@ -515,7 +515,7 @@ class TestServerResize(TestServer): compute_fakes.server_id, ] verifylist = [ - ('verify', False), + ('confirm', False), ('revert', True), ('server', compute_fakes.server_id), ] |
