@@ -32,7 +32,8 @@ public enum Status {
3232 ErrorInMaintenance (false , false , false ),
3333 Maintenance (false , false , false ),
3434 Alert (true , true , true ),
35- Removed (true , false , true );
35+ Removed (true , false , true ),
36+ Rebalance (false , false , false );
3637
3738 private final boolean updateManagementServer ;
3839 private final boolean checkManagementServer ;
@@ -72,7 +73,11 @@ public enum Event {
7273 WaitedTooLong (false , "Waited too long from the agent to reconnect on its own. Time to do HA" ),
7374 Remove (true , "Host is removed" ),
7475 Ready (false , "Host is ready for commands" ),
75- UpdatePassword (false , "Update host password from db" );
76+ UpdatePassword (false , "Update host password from db" ),
77+ RequestAgentRebalance (false , "Request rebalance for the certain host" ),
78+ StartAgentRebalance (false , "Start rebalance for the certain host" ),
79+ RebalanceCompleted (false , "Host is rebalanced successfully" ),
80+ RebalanceFailed (false , "Failed to rebalance the host" );
7681
7782 private final boolean isUserRequest ;
7883 private final String comment ;
@@ -132,6 +137,7 @@ public static String[] toStrings(Status... states) {
132137 s_fsm .addTransition (Status .Up , Event .Ping , Status .Up );
133138 s_fsm .addTransition (Status .Up , Event .AgentConnected , Status .Connecting );
134139 s_fsm .addTransition (Status .Up , Event .ManagementServerDown , Status .Disconnected );
140+ s_fsm .addTransition (Status .Up , Event .StartAgentRebalance , Status .Rebalance );
135141 s_fsm .addTransition (Status .Updating , Event .PingTimeout , Status .Alert );
136142 s_fsm .addTransition (Status .Updating , Event .Ping , Status .Updating );
137143 s_fsm .addTransition (Status .Updating , Event .AgentConnected , Status .Connecting );
@@ -177,6 +183,8 @@ public static String[] toStrings(Status... states) {
177183 s_fsm .addTransition (Status .Alert , Event .Ping , Status .Up );
178184 s_fsm .addTransition (Status .Alert , Event .Remove , Status .Removed );
179185 s_fsm .addTransition (Status .Alert , Event .ManagementServerDown , Status .Alert );
186+ s_fsm .addTransition (Status .Rebalance , Event .RebalanceFailed , Status .Alert );
187+ s_fsm .addTransition (Status .Rebalance , Event .RebalanceCompleted , Status .Connecting );
180188 }
181189
182190 public static void main (String [] args ) {
0 commit comments