Tie fence timers to keepalive_interval
Also wait 2 full keepalive intervals after fencing before doing anything else, to give the Ceph cluster a chance to recover.
This commit is contained in:
		| @@ -155,9 +155,9 @@ def readConfig(pvcnoded_config_file, myhostname): | ||||
|             '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'], | ||||
|             'console_log_lines': o_config['pvc']['system']['configuration']['logging']['console_log_lines'], | ||||
|             'keepalive_interval': o_config['pvc']['system']['intervals']['keepalive_interval'], | ||||
|             'fence_intervals': o_config['pvc']['system']['intervals']['fence_intervals'], | ||||
|             'suicide_intervals': o_config['pvc']['system']['intervals']['suicide_intervals'], | ||||
|             'keepalive_interval': int(o_config['pvc']['system']['intervals']['keepalive_interval']), | ||||
|             'fence_intervals': int(o_config['pvc']['system']['intervals']['fence_intervals']), | ||||
|             'suicide_intervals': int(o_config['pvc']['system']['intervals']['suicide_intervals']), | ||||
|             'successful_fence': o_config['pvc']['system']['fencing']['actions']['successful_fence'], | ||||
|             'failed_fence': o_config['pvc']['system']['fencing']['actions']['failed_fence'], | ||||
|             'migration_target_selector': o_config['pvc']['system']['migration']['target_selector'], | ||||
|   | ||||
| @@ -35,7 +35,7 @@ def fenceNode(node_name, zk_conn, config, logger): | ||||
|     failcount = 0 | ||||
|     while failcount < failcount_limit: | ||||
|         # Wait 5 seconds | ||||
|         time.sleep(5) | ||||
|         time.sleep(config.keepalive_interval) | ||||
|         # Get the state | ||||
|         node_daemon_state = zkhandler.readdata(zk_conn, '/nodes/{}/daemonstate'.format(node_name)) | ||||
|         # Is it still 'dead' | ||||
| @@ -56,8 +56,8 @@ def fenceNode(node_name, zk_conn, config, logger): | ||||
|  | ||||
|     # Shoot it in the head | ||||
|     fence_status = rebootViaIPMI(ipmi_hostname, ipmi_username, ipmi_password, logger) | ||||
|     # Hold to ensure the fence takes effect | ||||
|     time.sleep(3) | ||||
|     # Hold to ensure the fence takes effect and system stabilizes | ||||
|     time.sleep(config.keepalive_interval * 2) | ||||
|  | ||||
|     # Force into secondary network state if needed | ||||
|     if node_name in config['coordinators']: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user