mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
AgentAttache: allow checkonhost command in maintenance, cancel if only allowed
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
46cd98b163
commit
e40b06e9ca
@ -38,6 +38,7 @@ import com.cloud.agent.Listener;
|
||||
import com.cloud.agent.api.Answer;
|
||||
import com.cloud.agent.api.CheckHealthCommand;
|
||||
import com.cloud.agent.api.CheckNetworkCommand;
|
||||
import com.cloud.agent.api.CheckOnHostCommand;
|
||||
import com.cloud.agent.api.CheckVirtualMachineCommand;
|
||||
import com.cloud.agent.api.CleanupNetworkRulesCmd;
|
||||
import com.cloud.agent.api.Command;
|
||||
@ -111,7 +112,7 @@ public abstract class AgentAttache {
|
||||
public final static String[] s_commandsAllowedInMaintenanceMode = new String[] {MaintainCommand.class.toString(), MigrateCommand.class.toString(),
|
||||
StopCommand.class.toString(), CheckVirtualMachineCommand.class.toString(), PingTestCommand.class.toString(), CheckHealthCommand.class.toString(),
|
||||
ReadyCommand.class.toString(), ShutdownCommand.class.toString(), SetupCommand.class.toString(),
|
||||
CleanupNetworkRulesCmd.class.toString(), CheckNetworkCommand.class.toString(), PvlanSetupCommand.class.toString()};
|
||||
CleanupNetworkRulesCmd.class.toString(), CheckNetworkCommand.class.toString(), PvlanSetupCommand.class.toString(), CheckOnHostCommand.class.toString()};
|
||||
protected final static String[] s_commandsNotAllowedInConnectingMode = new String[] {StartCommand.class.toString(), CreateCommand.class.toString()};
|
||||
static {
|
||||
Arrays.sort(s_commandsAllowedInMaintenanceMode);
|
||||
@ -307,16 +308,18 @@ public abstract class AgentAttache {
|
||||
}
|
||||
|
||||
protected void cancelAllCommands(final Status state, final boolean cancelActive) {
|
||||
final Set<Map.Entry<Long, Listener>> entries = _waitForList.entrySet();
|
||||
final Iterator<Map.Entry<Long, Listener>> it = entries.iterator();
|
||||
while (it.hasNext()) {
|
||||
final Map.Entry<Long, Listener> entry = it.next();
|
||||
it.remove();
|
||||
final Listener monitor = entry.getValue();
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug(log(entry.getKey(), "Sending disconnect to " + monitor.getClass()));
|
||||
if (cancelActive) {
|
||||
final Set<Map.Entry<Long, Listener>> entries = _waitForList.entrySet();
|
||||
final Iterator<Map.Entry<Long, Listener>> it = entries.iterator();
|
||||
while (it.hasNext()) {
|
||||
final Map.Entry<Long, Listener> entry = it.next();
|
||||
it.remove();
|
||||
final Listener monitor = entry.getValue();
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug(log(entry.getKey(), "Sending disconnect to " + monitor.getClass()));
|
||||
}
|
||||
monitor.processDisconnect(_id, state);
|
||||
}
|
||||
monitor.processDisconnect(_id, state);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user