Example #1
0
def policy_exists(client, module):
    log('Checking if policy exists')
    try:
        cspolicy.get(client, module.params['policyname'])
        return True
    except:
        return False
Example #2
0
 def unset_cspolicy_domain(self, client):
     try:
         obj = cspolicy.get(client, "cs_pol")
         args = ["domain"]
         cspolicy.unset(client, obj, args)
         print("unset_cspolicy_domain - Done")
     except nitro_exception as e:
         print("Exception::unset_cspolicy_domain::errorcode=" + str(e.errorcode) + ",message=" + e.message)
     except Exception as e:
         print("Exception::unset_cspolicy_domain::message=" + str(e.args))
Example #3
0
 def unset_cspolicy_domain(self, client):
     try:
         obj = cspolicy.get(client, "cs_pol")
         args = ["domain"]
         cspolicy.unset(client, obj, args)
         print("unset_cspolicy_domain - Done")
     except nitro_exception as e:
         print("Exception::unset_cspolicy_domain::errorcode=" +
               str(e.errorcode) + ",message=" + e.message)
     except Exception as e:
         print("Exception::unset_cspolicy_domain::message=" + str(e.args))
Example #4
0
    def _create_cs_url_policy(self, policy_name, url_rule):
        try:
            policy = cspolicy.get(self.ns_session, policy_name)
            if (policy is not None):
                logger.info("CS URL Policy %s already exists " % policy_name)
                return
        except nitro_exception:
            pass

        policy = cspolicy()
        policy.policyname = policy_name
        policy.url = url_rule
        cspolicy.add(self.ns_session, policy)
Example #5
0
def policy_identical(client, module, cspolicy_proxy):
    log('Checking if defined policy is identical to configured')
    try:
        policy_list = cspolicy.get(client, module.params['policyname'])
    except:
        return False

    diff_dict = cspolicy_proxy.diff_object(policy_list)
    if 'ip' in diff_dict:
        del diff_dict['ip']
    if len(diff_dict) == 0:
        return True
    else:
        return False
Example #6
0
    def get_cspolicy(self, client, parament2):
        try:
            result1 = cspolicy.get(client)
            if result1:
                for i in range(0, len(result)):
                    print("Name of Policy:" + result[i].policyname)
                    print
                    print("Policy URL:" + result[i].url)
                    # print("The Rule is :" + result[i].rule)
                    # print
                    print("This policy hit is :" + result[i].hits)

                    print("****************************************")

        except nitro_exception as e:
            print("Exception:: errorcode=" + str(e.errorcode) + ", message=" +
                  e.message)
        except Exception as e:
            print("Exception:: get_cspolicy:: message=" + str(e.args))
Example #7
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))
Example #8
0
def diff_list(client, module, cspolicy_proxy):
    policy_list = cspolicy.get(client, module.params['policyname'])
    return cspolicy_proxy.diff_object(policy_list)