def _get_netscaler_updatenode_protocol_task(self, loadBalancerId, loadBalancer, node, newLoadBalancerId): servicename = NitroUtils.get_servicename_from_nodeid( loadBalancerId, node.id) if not "protocol" in loadBalancer: return None lbprotocol = loadBalancer.protocol servicetype = NitroUtils.get_servicetype_from_protocol(lbprotocol) servicetype = NitroUtils.get_decrypted_version_of_servicetype( servicetype) service = {} service["name"] = servicename service["protocol"] = servicetype task = {} task["name"] = servicename task["type"] = "service" task["operation"] = "UPDATE" task["state"] = service return task
def _get_netscaler_service_from_node(self, loadBalancerId, loadBalancer, nodeId, node): service_obj = {} for key in node: self.logger.debug("Examining key \"%s\" of node object" % key) if key == "_properties": continue if key == "id": service_obj["name"] = NitroUtils.get_servicename_from_nodeid(loadBalancerId, nodeId) continue if key == "address": service_obj["ip"] = node.address continue if key == "port": service_obj["port"] = node.port continue if loadBalancer: servicetype = NitroUtils.get_servicetype_from_protocol(loadBalancer.protocol) servicetype = NitroUtils.get_decrypted_version_of_servicetype(servicetype) service_obj["servicetype"] = servicetype return service_obj
def _get_lbvserver_state(self, lbvserver_name, loadBalancer): lbvserver = {} lbvserver["name"] = lbvserver_name for key in loadBalancer: self.logger.debug("Examining key \"%s\" of loadBalancer payload" % key) if key == "_properties": continue if key == "protocol": lbvserver[ "servicetype"] = NitroUtils.get_servicetype_from_protocol( loadBalancer.protocol) """ XXX - We also need to modify the protocol of all the services of this lbvserver!! """ continue if key == "port": lbvserver["port"] = loadBalancer.port continue if key == "algorithm": algorithm = loadBalancer.algorithm lbvserver["lbmethod"] = NitroUtils.get_lbmethod_from_algorithm( algorithm) continue if key == "virtualIps": virtualIps = loadBalancer.virtualIps self._set_netscaler_lbvserver_vipaddress(lbvserver, virtualIps) continue if key == "sessionPersistence": sessionPersistence = loadBalancer.sessionPersistence self._set_netscaler_lbvserver_persistencetype( lbvserver, sessionPersistence) continue if self._process_loadBalancer_extensions(loadBalancer, key, lbvserver): continue return lbvserver