Try adding regular node state change tests
This commit is contained in:
parent
21f719977c
commit
7779f7f895
|
@ -41,6 +41,7 @@ class NodeInstance():
|
||||||
self.domains_count = 0
|
self.domains_count = 0
|
||||||
self.memused = 0
|
self.memused = 0
|
||||||
self.memfree = 0
|
self.memfree = 0
|
||||||
|
self.inflush = False
|
||||||
|
|
||||||
# Zookeeper handlers for changed states
|
# Zookeeper handlers for changed states
|
||||||
@zk.DataWatch('/nodes/{}/state'.format(self.name))
|
@zk.DataWatch('/nodes/{}/state'.format(self.name))
|
||||||
|
@ -95,6 +96,7 @@ class NodeInstance():
|
||||||
|
|
||||||
# Flush all VMs on the host
|
# Flush all VMs on the host
|
||||||
def flush(self):
|
def flush(self):
|
||||||
|
self.inflush = True
|
||||||
ansiiprint.echo('Flushing node "{}" of running VMs'.format(self.name), '', 'i')
|
ansiiprint.echo('Flushing node "{}" of running VMs'.format(self.name), '', 'i')
|
||||||
for dom_uuid in self.domain_list:
|
for dom_uuid in self.domain_list:
|
||||||
most_memfree = 0
|
most_memfree = 0
|
||||||
|
@ -127,6 +129,9 @@ class NodeInstance():
|
||||||
# Wait 1s between migrations
|
# Wait 1s between migrations
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
self.zk.set('/nodes/{}/state'.format(self.name), 'flushed'.encode('ascii'))
|
||||||
|
self.inflush = False
|
||||||
|
|
||||||
def unflush(self):
|
def unflush(self):
|
||||||
ansiiprint.echo('Restoring node {} to active service.'.format(self.name), '', 'i')
|
ansiiprint.echo('Restoring node {} to active service.'.format(self.name), '', 'i')
|
||||||
self.zk.set('/nodes/{}/state'.format(self.name), 'start'.encode('ascii'))
|
self.zk.set('/nodes/{}/state'.format(self.name), 'start'.encode('ascii'))
|
||||||
|
@ -182,6 +187,12 @@ class NodeInstance():
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
# toggle state management of this node
|
||||||
|
if self.state == 'flush':
|
||||||
|
self.flush()
|
||||||
|
if self.state == 'unflush':
|
||||||
|
self.unflush()
|
||||||
|
|
||||||
# Set our information in zookeeper
|
# Set our information in zookeeper
|
||||||
self.name = conn.getHostname()
|
self.name = conn.getHostname()
|
||||||
self.cpucount = conn.getCPUMap()[0]
|
self.cpucount = conn.getCPUMap()[0]
|
||||||
|
|
Loading…
Reference in New Issue