예제 #1
0
    def get_actual_policybindings():
        bindings = {}
        if csvserver_cspolicy_binding.count(client,
                                            name=module.params['name']) == 0:
            return bindings

        for binding in csvserver_cspolicy_binding.get(
                client, name=module.params['name']):
            key = binding.policyname
            bindings[key] = binding

        return bindings
예제 #2
0
    def _bind_csvserver_policy_targetlb(self, cs_name, lb_name, policy_name):
        try:
            bindings = csvserver_cspolicy_binding.get(self.ns_session, cs_name)
            for b in bindings:
                if b.name == cs_name and b.policyname == policy_name:
                    logger.info('CS %s is already bound to policy %s' %
                                (cs_name, policy_name))
                    return
        except nitro_exception:
            pass

        binding = csvserver_cspolicy_binding()
        binding.name = cs_name
        binding.policyname = policy_name
        binding.targetlbvserver = lb_name
        csvserver_cspolicy_binding.add(self.ns_session, binding)
예제 #3
0
def get_actual_policybindings(client, module):
    log('Getting actual policy bindigs')
    bindings = {}
    try:
        count = csvserver_cspolicy_binding.count(client, name=module.params['name'])
        if count == 0:
            return bindings
    except nitro_exception as e:
        if e.errorcode == 258:
            return bindings
        else:
            raise

    for binding in csvserver_cspolicy_binding.get(client, name=module.params['name']):
        key = binding.policyname
        bindings[key] = binding

    return bindings
예제 #4
0
def get_actual_policybindings(client, module):
    log('Getting actual policy bindigs')
    bindings = {}
    try:
        count = csvserver_cspolicy_binding.count(client, name=module.params['name'])
        if count == 0:
            return bindings
    except nitro_exception as e:
        if e.errorcode == 258:
            return bindings
        else:
            raise

    for binding in csvserver_cspolicy_binding.get(client, name=module.params['name']):
        key = binding.policyname
        bindings[key] = binding

    return bindings
예제 #5
0
    def get_csvserver(self, client, parament2):
        try:
            result_csvserver_state = csvserver_stats.get(client)
            result_cspolicy = cspolicy.get(client)
            result_lbvserver_state = lbvserver_stats.get(client)
            if result_csvserver_state:
                flag = False
                for i in range(0, len(result_csvserver_state)):
                    #if parament2 == res
                    if parament2 == result_csvserver_state[i].name:
                        flag = True
                        policy_count = csvserver_cspolicy_binding.count(
                            client, result_csvserver_state[i].name)
                        policy_name = csvserver_cspolicy_binding.get(
                            client, result_csvserver_state[i].name)
                        print("	Name :" + result_csvserver_state[i].name)
                        print("	IP: " +
                              result_csvserver_state[i].primaryipaddress +
                              ":" + str(result_csvserver_state[i].primaryport))
                        print("	State:" + result_csvserver_state[i].state +
                              "	Type: " + result_csvserver_state[i].type)
                        print("	Total hits:" +
                              result_csvserver_state[i].tothits +
                              "	Hits rates:" +
                              str(result_csvserver_state[i].hitsrate))
                        #print("	Established State : " + result[j].establishedconn)
                        print("	Total requests :" +
                              result_csvserver_state[i].totalrequests)
                        print("	Total responses :" +
                              result_csvserver_state[i].totalresponses)
                        print(
                            "	Current server :" +
                            str(result_csvserver_state[i].cursrvrconnections))
                        print
                        #print("<-------------------------------------->")

                        for k in range(0, policy_count):
                            for j in range(0, len(result_cspolicy)):
                                global URL
                                if result_cspolicy[
                                        j].policyname == policy_name[
                                            k].policyname:
                                    URL = result_cspolicy[j].url
                                    #print("url:" + URL)
                            print("	Policy:")
                            print("	|--- Name: " + policy_name[k].policyname)
                            print("	|--- Hits: " + policy_name[k].hits)
                            print("	|--- URL: " + URL)
                            print("	|--- Priority: " + policy_name[k].priority)
                            print("	|--- Target LB: " +
                                  policy_name[k].targetlbvserver)
                            print

                        for k in range(0, policy_count):
                            # for j in range(0,len(result_cspolicy)):
                            print
                            print("	Policy  " + policy_name[k].policyname +
                                  " Target LBvserver:")

                            global lbvserver_name
                            lbvserver_name = policy_name[k].targetlbvserver

                            for p in range(0, len(result_lbvserver_state)):
                                if lbvserver_name == result_lbvserver_state[
                                        p].name:
                                    # print("	LBvserver:")
                                    print("	|--- Name: " +
                                          result_lbvserver_state[p].name)
                                    print("	|--- IP: " +
                                          result_lbvserver_state[p].
                                          primaryipaddress)
                                    print("	|--- Port:" + str(
                                        result_lbvserver_state[p].primaryport))
                                    print("	|--- State: " +
                                          result_lbvserver_state[p].state)
                                    print("	|--- Type: " +
                                          result_lbvserver_state[p].type)
                                    print("	|--- Request bytes:" +
                                          result_lbvserver_state[p].
                                          totalresponsebytes)
                                    print("	|--- Total packets sent:" +
                                          result_lbvserver_state[p].
                                          totalpktssent)
                                    print("	|--- Health of the vserver:" +
                                          result_lbvserver_state[p].vslbhealth)
                                    print(
                                        "	|--- Number of client connections in ESTABLISHED state:"
                                        + result_lbvserver_state[p].
                                        establishedconn)
                                    result_lbv_service_binding = lbvserver_service_binding.get(
                                        client, result_lbvserver_state[p].name)
                                    for kk in range(
                                            0,
                                            len(result_lbv_service_binding)):
                                        print("	|--- Service : ")
                                        print("		>--- Service Name : " +
                                              result_lbv_service_binding[kk].
                                              servicename)
                                        print("		>--- Service IP :" +
                                              result_lbv_service_binding[kk].
                                              ipv46)
                                        print("		>--- Service State: " +
                                              result_lbv_service_binding[kk].
                                              curstate)

                            #print("<<------------------------------------>>")
                    elif (i == len(result_csvserver_state) - 1) & (flag
                                                                   == False):
                        #print(isinstance(i,int))
                        #elif i == len(result_csvserver)-1:
                        print(
                            "There is no such csvserver name or policy, Exit!")

                # policy_count = csvserver_cspolicy_binding.count(client,result[i].name)
                # 	print("policy count:" + str(policy_count))
                # 	policy_name = csvserver_cspolicy_binding.get(client,result[i].name)
                # 	for j in range(0,policy_count):
                # 		print("Policy name :" + policy_name[j].policyname)
                # for i in range(0,len(result)):
                # 	print("Name of csvserver:" + result[i].name)
                # 	print
                # 	print("Target Load Balance Virtual Server:" + result[i].lbvserver)
                # 	print
                # 	print("The State of csvserver:" + result[i].curstate)
                # 	print
                # 	print("Down State Flush" + result[i].downstateflush)
                # 	print
                # 	print("****************************************")
            print("****************************************")
        except nitro_exception as e:
            print("Exception:: errorcode=" + str(e.errorcode) + ", message=" +
                  e.message)
        except Exception as e:
            print("Exception:: get_csvserver:: message=" + str(e.args))