} else if ("LeastConn".equalsIgnoreCase(lbMethod)) {
vserver.set_lbmethod("LEASTCONNECTION");
} else if ("Proximity".equalsIgnoreCase(lbMethod)) {
vserver.set_lbmethod("RTT");
} else {
throw new ExecutionException("Unsupported LB method");
}
vserver.set_persistencetype(persistenceType);
if ("SOURCEIP".equalsIgnoreCase(persistenceType)) {
vserver.set_persistenceid(persistenceId);
}
vserver.set_servicetype(serviceType);
vserver.set_state("ENABLED");
vserver.set_cookietimeout(null);
vserver.set_domainname(null);
if (isUpdateSite) {
// both netmask and LB method can not be specified while update so set to null
vserver.set_netmask(null);
vserver.set_v6netmasklen(null);
gslbvserver.update(client, vserver);
} else {
gslbvserver.add(client, vserver);
}
if (s_logger.isDebugEnabled()) {
s_logger.debug("Successfully added GSLB virtual server: " + vserverName);
}
} catch (Exception e) {
String errMsg = "Failed to add GSLB virtual server: " + vserverName + " due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
throw new ExecutionException(errMsg);
}
}