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
Ejemplo n.º 2
0
    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