Add 'uptime' in 'hypervisor show'
Fetch the 'uptime' by making a call to hypervisor-uptime. Update the help for 'hypervisor show' to mention that it supports by Name or Id. Change-Id: I31060d203e87749cfc05810c2d9db42f2416051d Partial-Bug: #1423748
This commit is contained in:
parent
0047b022d5
commit
5fddec359d
@ -16,6 +16,7 @@
|
|||||||
"""Hypervisor action implementations"""
|
"""Hypervisor action implementations"""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
import re
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
@ -76,6 +77,18 @@ class ShowHypervisor(show.ShowOne):
|
|||||||
hypervisor = utils.find_resource(compute_client.hypervisors,
|
hypervisor = utils.find_resource(compute_client.hypervisors,
|
||||||
parsed_args.hypervisor)._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_id"] = hypervisor["service"]["id"]
|
||||||
hypervisor["service_host"] = hypervisor["service"]["host"]
|
hypervisor["service_host"] = hypervisor["service"]["host"]
|
||||||
del hypervisor["service"]
|
del hypervisor["service"]
|
||||||
|
Loading…
Reference in New Issue
Block a user