diff options
Diffstat (limited to 'openstackclient/compute/v2/hypervisor.py')
| -rw-r--r-- | openstackclient/compute/v2/hypervisor.py | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/openstackclient/compute/v2/hypervisor.py b/openstackclient/compute/v2/hypervisor.py index f9051919..0222e899 100644 --- a/openstackclient/compute/v2/hypervisor.py +++ b/openstackclient/compute/v2/hypervisor.py @@ -17,6 +17,7 @@ import re +from novaclient import exceptions as nova_exceptions from osc_lib.command import command from osc_lib import utils import six @@ -94,18 +95,22 @@ class ShowHypervisor(command.ShowOne): if service_host in aggregate.hosts] hypervisor["aggregates"] = member_of - 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( - "\s*(.+)\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) + try: + 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( + "\s*(.+)\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) + except nova_exceptions.HTTPNotImplemented: + pass hypervisor["service_id"] = hypervisor["service"]["id"] hypervisor["service_host"] = hypervisor["service"]["host"] |
