vm beta zabbix usage
This commit is contained in:
parent
e016cf71e9
commit
74be8431a8
|
|
@ -13,6 +13,7 @@ parser.add_argument("node", choices=conn.get_node_list(), help="Choose node")
|
|||
parser.add_argument("type", choices=['vm', 'cluster', 'node'], help='categories')
|
||||
parser.add_argument("-l", "--list", dest='listing', action='store_true')
|
||||
parser.add_argument("-n", "--name", dest='name')
|
||||
parser.add_argument("-p", "--param", dest='param')
|
||||
args = parser.parse_args()
|
||||
NODE = args.node
|
||||
|
||||
|
|
@ -35,18 +36,23 @@ def get_vmnames(vmlist, node, **kwargs):
|
|||
return name_vmlist
|
||||
|
||||
|
||||
def get_vminfo(vmname):
|
||||
def get_vminfo(vmname, parameter=None):
|
||||
"""
|
||||
Get Virtual Machine data
|
||||
:param vmname: Virtual machine name
|
||||
:param kwargs: handle vm params
|
||||
:return: list od dicts with vm params
|
||||
"""
|
||||
vm_params = list()
|
||||
vm = next(v for v in conn.get_cluster_vmlist() if v.name == vmname)
|
||||
if parameter is not None:
|
||||
vm_params = vm.__getattribute__(parameter)
|
||||
return vm_params
|
||||
else:
|
||||
vm_params = list()
|
||||
for param in dir(vm):
|
||||
if not param.startswith('__'):
|
||||
vm_params.append({'#' + param.upper(): vm.__getattribute__(param)})
|
||||
return vm_params
|
||||
return listofdicts_to_zabbix_json(vm_params)
|
||||
|
||||
|
||||
def listofdicts_to_zabbix_json(dlist):
|
||||
|
|
@ -73,13 +79,13 @@ def exec_vm(**kwargs):
|
|||
:return:
|
||||
"""
|
||||
if kwargs['name'] is not None and kwargs['listing'] is False:
|
||||
print listofdicts_to_zabbix_json(get_vminfo(kwargs['name']))
|
||||
print get_vminfo(kwargs['name'],kwargs['param'])
|
||||
else:
|
||||
print listofdicts_to_zabbix_json(
|
||||
get_vmnames(conn.get_cluster_vmlist(), NODE, name=kwargs['name'], listing=kwargs['listing']))
|
||||
|
||||
|
||||
if args.type == "vm":
|
||||
exec_vm(listing=args.listing, name=args.name)
|
||||
exec_vm(listing=args.listing, name=args.name, param=args.param)
|
||||
else:
|
||||
print args
|
||||
|
|
|
|||
3
VM.py
3
VM.py
|
|
@ -6,7 +6,8 @@ class VM(object):
|
|||
template, disk, cpuusage, maxdisk, maxmem):
|
||||
self.name = name
|
||||
self.node = node
|
||||
self.status = status
|
||||
self.statusstr = status
|
||||
self.status = 1 if self.statusstr == "running" else 0
|
||||
self.uptime = uptime
|
||||
self.diskread = diskread
|
||||
self.diskwrite = diskwrite
|
||||
|
|
|
|||
Loading…
Reference in New Issue