Support state parameter in list_vms command

Support the state parameter in the list_vms command to filter the
VM's to list based on their state.
pull/3020/head
Rik Theys 12 years ago
parent 3a635d2d26
commit a61978aed9

@ -275,13 +275,18 @@ class Virt(object):
} }
return info return info
def list_vms(self): def list_vms(self, state=None):
self.conn = self.__get_conn() self.conn = self.__get_conn()
vms = self.conn.find_vm(-1) vms = self.conn.find_vm(-1)
results = [] results = []
for x in vms: for x in vms:
try: try:
results.append(x.name()) if state:
vmstate = self.conn.get_status2(x)
if vmstate == state:
results.append(x.name())
else:
results.append(x.name())
except: except:
pass pass
return results return results
@ -395,6 +400,11 @@ def core(module):
v = Virt(uri) v = Virt(uri)
res = {} res = {}
if state and command=='list_vms':
res = v.list_vms(state=state)
if type(res) != dict:
res = { command: res }
return VIRT_SUCCESS, res
if state: if state:
if not guest: if not guest:

Loading…
Cancel
Save