diff --git a/openstackclient/compute/v2/hypervisor.py b/openstackclient/compute/v2/hypervisor.py index 00625050a7..f9051919e7 100644 --- a/openstackclient/compute/v2/hypervisor.py +++ b/openstackclient/compute/v2/hypervisor.py @@ -98,8 +98,9 @@ class ShowHypervisor(command.ShowOne): # 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']) + 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) diff --git a/openstackclient/tests/unit/compute/v2/test_hypervisor.py b/openstackclient/tests/unit/compute/v2/test_hypervisor.py index d94a107c26..02ac6ba36e 100644 --- a/openstackclient/tests/unit/compute/v2/test_hypervisor.py +++ b/openstackclient/tests/unit/compute/v2/test_hypervisor.py @@ -159,10 +159,12 @@ class TestHypervisorShow(TestHypervisor): 'free_disk_gb', 'free_ram_mb', 'host_ip', + 'host_time', 'hypervisor_hostname', 'hypervisor_type', 'hypervisor_version', 'id', + 'load_average', 'local_gb', 'local_gb_used', 'memory_mb', @@ -172,6 +174,8 @@ class TestHypervisorShow(TestHypervisor): 'service_id', 'state', 'status', + 'uptime', + 'users', 'vcpus', 'vcpus_used', ) @@ -183,10 +187,12 @@ class TestHypervisorShow(TestHypervisor): 50, 1024, '192.168.0.10', + '01:28:24', self.hypervisor.hypervisor_hostname, 'QEMU', 2004001, self.hypervisor.id, + '0.94, 0.62, 0.50', 50, 0, 1024, @@ -196,6 +202,8 @@ class TestHypervisorShow(TestHypervisor): 1, 'up', 'enabled', + '3 days, 11:15', + '1', 4, 0, )