parent
3dbdd12d8f
commit
3cc7df63f2
|
@ -96,6 +96,8 @@ pvc:
|
||||||
system:
|
system:
|
||||||
# intervals: Intervals for keepalives and fencing
|
# intervals: Intervals for keepalives and fencing
|
||||||
intervals:
|
intervals:
|
||||||
|
# vm_shutdown_timeout: Number of seconds for a VM to 'shutdown' before being forced off
|
||||||
|
vm_shutdown_timeout: 180
|
||||||
# keepalive_interval: Number of seconds between keepalive/status updates
|
# keepalive_interval: Number of seconds between keepalive/status updates
|
||||||
keepalive_interval: 5
|
keepalive_interval: 5
|
||||||
# fence_intervals: Number of keepalive_intervals to declare a node dead and fence it
|
# fence_intervals: Number of keepalive_intervals to declare a node dead and fence it
|
||||||
|
|
|
@ -155,6 +155,7 @@ def readConfig(pvcnoded_config_file, myhostname):
|
||||||
'log_keepalive_cluster_details': o_config['pvc']['system']['configuration']['logging']['log_keepalive_cluster_details'],
|
'log_keepalive_cluster_details': o_config['pvc']['system']['configuration']['logging']['log_keepalive_cluster_details'],
|
||||||
'log_keepalive_storage_details': o_config['pvc']['system']['configuration']['logging']['log_keepalive_storage_details'],
|
'log_keepalive_storage_details': o_config['pvc']['system']['configuration']['logging']['log_keepalive_storage_details'],
|
||||||
'console_log_lines': o_config['pvc']['system']['configuration']['logging']['console_log_lines'],
|
'console_log_lines': o_config['pvc']['system']['configuration']['logging']['console_log_lines'],
|
||||||
|
'vm_shutdown_timeout': int(o_config['pvc']['system'['intervals']['vm_shutdown_timeout']),
|
||||||
'keepalive_interval': int(o_config['pvc']['system']['intervals']['keepalive_interval']),
|
'keepalive_interval': int(o_config['pvc']['system']['intervals']['keepalive_interval']),
|
||||||
'fence_intervals': int(o_config['pvc']['system']['intervals']['fence_intervals']),
|
'fence_intervals': int(o_config['pvc']['system']['intervals']['fence_intervals']),
|
||||||
'suicide_intervals': int(o_config['pvc']['system']['intervals']['suicide_intervals']),
|
'suicide_intervals': int(o_config['pvc']['system']['intervals']['suicide_intervals']),
|
||||||
|
|
|
@ -301,8 +301,8 @@ class VMInstance(object):
|
||||||
self.dom.shutdown()
|
self.dom.shutdown()
|
||||||
tick = 0
|
tick = 0
|
||||||
while True:
|
while True:
|
||||||
tick += 2
|
tick += 1
|
||||||
time.sleep(2)
|
time.sleep(1)
|
||||||
|
|
||||||
# Abort shutdown if the state changes to start
|
# Abort shutdown if the state changes to start
|
||||||
current_state = zkhandler.readdata(self.zk_conn, '/domains/{}/state'.format(self.domuuid))
|
current_state = zkhandler.readdata(self.zk_conn, '/domains/{}/state'.format(self.domuuid))
|
||||||
|
@ -325,9 +325,8 @@ class VMInstance(object):
|
||||||
self.console_log_instance.stop()
|
self.console_log_instance.stop()
|
||||||
break
|
break
|
||||||
|
|
||||||
# HARDCODE: 90s is a reasonable amount of time for any operating system to shut down cleanly
|
if tick >= self.config['vm_shutdown_timeout']:
|
||||||
if tick >= 90:
|
self.logger.out('Shutdown timeout ({}s) expired, forcing off'.format(self.config['vm_shutdown_timeout']), state='e', prefix='Domain {}:'.format(self.domuuid))
|
||||||
self.logger.out('Shutdown timeout expired', state='e', prefix='Domain {}:'.format(self.domuuid))
|
|
||||||
zkhandler.writedata(self.zk_conn, { '/domains/{}/state'.format(self.domuuid): 'stop' })
|
zkhandler.writedata(self.zk_conn, { '/domains/{}/state'.format(self.domuuid): 'stop' })
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue