mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	Externalize KVM Agent storage's reboot configuration (#4586)
Co-authored-by: GutoVeronezi <daniel@scclouds.com.br>
This commit is contained in:
		
							parent
							
								
									8a16729fcf
								
							
						
					
					
						commit
						83c0b61ab2
					
				| @ -271,5 +271,8 @@ iscsi.session.cleanup.enabled=false | ||||
| # Depending on the use case, this timeout might need increasing/decreasing. | ||||
| # heartbeat.update.timeout=60000 | ||||
| 
 | ||||
| # This parameter specifies if the host must be rebooted when something goes wrong with the heartbeat. | ||||
| # reboot.host.and.alert.management.on.heartbeat.timeout=true | ||||
| 
 | ||||
| # Enable manually setting CPU's topology on KVM's VM. | ||||
| # enable.manually.setting.cpu.topology.on.kvm.vm=true | ||||
|  | ||||
| @ -32,6 +32,14 @@ public class AgentProperties{ | ||||
|     */ | ||||
|     public static final Property<Integer> HEARTBEAT_UPDATE_TIMEOUT = new Property<Integer>("heartbeat.update.timeout", 60000); | ||||
| 
 | ||||
|     /** | ||||
|      * Reboot host and alert management on heartbeat timeout. <br> | ||||
|      * Data type: boolean.<br> | ||||
|      * Default value: true. | ||||
|      */ | ||||
|     public static final Property<Boolean> REBOOT_HOST_AND_ALERT_MANAGEMENT_ON_HEARTBEAT_TIMEOUT | ||||
|         = new Property<Boolean>("reboot.host.and.alert.management.on.heartbeat.timeout", true); | ||||
| 
 | ||||
|     /** | ||||
|      * Enable manually setting CPU's topology on KVM's VM. <br> | ||||
|      * Data type: boolean.<br> | ||||
|  | ||||
| @ -36,6 +36,7 @@ public class KVMHAMonitor extends KVMHABase implements Runnable { | ||||
| 
 | ||||
|     private static final Logger s_logger = Logger.getLogger(KVMHAMonitor.class); | ||||
|     private final Map<String, NfsStoragePool> storagePool = new ConcurrentHashMap<>(); | ||||
|     private final boolean rebootHostAndAlertManagementOnHeartbeatTimeout; | ||||
| 
 | ||||
|     private final String hostPrivateIp; | ||||
| 
 | ||||
| @ -47,6 +48,7 @@ public class KVMHAMonitor extends KVMHABase implements Runnable { | ||||
|         configureHeartBeatPath(scriptPath); | ||||
| 
 | ||||
|         _heartBeatUpdateTimeout = AgentPropertiesFileHandler.getPropertyValue(AgentProperties.HEARTBEAT_UPDATE_TIMEOUT); | ||||
|         rebootHostAndAlertManagementOnHeartbeatTimeout = AgentPropertiesFileHandler.getPropertyValue(AgentProperties.REBOOT_HOST_AND_ALERT_MANAGEMENT_ON_HEARTBEAT_TIMEOUT); | ||||
|     } | ||||
| 
 | ||||
|     private static synchronized void configureHeartBeatPath(String scriptPath) { | ||||
| @ -134,7 +136,7 @@ public class KVMHAMonitor extends KVMHABase implements Runnable { | ||||
| 
 | ||||
|                 } | ||||
| 
 | ||||
|                 if (result != null) { | ||||
|                 if (result != null && rebootHostAndAlertManagementOnHeartbeatTimeout) { | ||||
|                     s_logger.warn(String.format("Write heartbeat for pool [%s] failed: %s; stopping cloudstack-agent.", uuid, result)); | ||||
|                     Script cmd = createHeartBeatCommand(primaryStoragePool, null, false); | ||||
|                     result = cmd.execute(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user