Improve some timeouts and conditionals
This commit is contained in:
		| @@ -520,8 +520,8 @@ class VMInstance(object): | ||||
|         lock.release() | ||||
|         self.logger.out('Released read lock for synchronization phase D', state='o', prefix='Domain {}'.format(self.domuuid)) | ||||
|  | ||||
|         # Wait 0.5 seconds for everything to stabilize before we declare all-done | ||||
|         time.sleep(0.5) | ||||
|         # Wait 1 second for everything to stabilize before we declare all-done and release locks | ||||
|         time.sleep(1) | ||||
|         migrate_lock_node.release() | ||||
|         migrate_lock_state.release() | ||||
|  | ||||
| @@ -596,6 +596,7 @@ class VMInstance(object): | ||||
|                 # The receive somehow failed | ||||
|                 zkhandler.writedata(self.zk_conn, { '/domains/{}/state'.format(self.domuuid): 'fail' }) | ||||
|         else: | ||||
|             if self.node == self.this_node.name: | ||||
|                 if self.state in ['start']: | ||||
|                     # The receive was aborted | ||||
|                     self.logger.out('Receive aborted via state change', state='w', prefix='Domain {}'.format(self.domuuid)) | ||||
| @@ -607,10 +608,9 @@ class VMInstance(object): | ||||
|                     self.logger.out('Migrate aborted or failed; VM in state {}'.format(self.state), state='w', prefix='Domain {}'.format(self.domuuid)) | ||||
|  | ||||
|         self.logger.out('Releasing write lock for synchronization phase D', state='i', prefix='Domain {}'.format(self.domuuid)) | ||||
|         zkhandler.writedata(self.zk_conn, { '/locks/domain_migrate/{}'.format(self.domuuid): '' }) | ||||
|         lock.release() | ||||
|         self.logger.out('Released write lock for synchronization phase D', state='o', prefix='Domain {}'.format(self.domuuid)) | ||||
|         time.sleep(0.1) # Time for new writer to acquire the lock | ||||
|         zkhandler.writedata(self.zk_conn, { '/locks/domain_migrate/{}'.format(self.domuuid): '' }) | ||||
|  | ||||
|         self.inreceive = False | ||||
|         return | ||||
|   | ||||
		Reference in New Issue
	
	Block a user