Forum Discussion
patrickmamaid_1
Dec 27, 2008Nimbostratus
I have got my force down the pool member code to work!
here is the code:
public void forceDownMember(PoolMember member) {
//set up a sessionstate obj.
iControl.LocalLBPoolMemberMemberSessionState sessionstate = new LocalLBPoolMemberMemberSessionState();
iControl.CommonIPPortDefinition sessionipportdef = new iControl.CommonIPPortDefinition();
sessionipportdef.setAddress(member.getHostip());
sessionipportdef.setPort(member.getHostport());
sessionstate.setMember(sessionipportdef);
sessionstate.setSession_state(CommonEnabledState.STATE_DISABLED);
iControl.LocalLBPoolMemberMemberSessionState[][] lbpoolmembersessionstateArray = {{sessionstate}};
//set up member state obj
iControl.LocalLBPoolMemberMemberMonitorState monitorstate = new LocalLBPoolMemberMemberMonitorState();
iControl.CommonIPPortDefinition monitoripportdef = new iControl.CommonIPPortDefinition();
monitoripportdef.setAddress(member.getHostip());
monitoripportdef.setPort(member.getHostport());
monitorstate.setMember(monitoripportdef);
monitorstate.setMonitor_state(CommonEnabledState.STATE_DISABLED);
iControl.LocalLBPoolMemberMemberMonitorState monitorstatArray[][] = {{monitorstate}};
try {
String tmp[] = {member.getPoolName()};
interfaces.getLocalLBPoolMember().set_session_enabled_state(tmp, lbpoolmembersessionstateArray);
interfaces.getLocalLBPoolMember().set_monitor_state(tmp, monitorstatArray);
System.out.println("Took down " + member.getHostip() + " " + member.getHostname());
} catch (Exception e) {
System.out.println("forceDownMember: " + e.toString());
}
}
you must have both monitor state and session state disabled so it can be forced down