def createNewVlanRange(cls):
        """ Increment current cidr of vlan range present in network
            and create new range
        """
        publicIpRange = PublicIpRange.list(cls.api_client)
        cls.startIp = publicIpRange[0].startip
        cls.endIp = publicIpRange[0].endip
        cls.gateway = publicIpRange[0].gateway
        cls.netmask = publicIpRange[0].netmask
        # Pass ip address and mask length to IPNetwork to findout the CIDR
        ip = IPNetwork(cls.startIp + "/" + cls.netmask)
        # Take random increment factor to avoid adding the same vlan ip range
        # in each test case
        networkIncrementFactor = random.randint(1,255)
        new_cidr = ip.__iadd__(networkIncrementFactor)
        ip2 = IPNetwork(new_cidr)
        test_nw = ip2.network
        ip = IPAddress(test_nw)
        # Add IP range(5 IPs) in the new CIDR
        test_gateway = ip.__add__(1)
        test_startIp = ip.__add__(3)
        test_endIp = ip.__add__(10)
        # Populating services with new IP range
        cls.testdata["vlan_ip_range"]["startip"] = test_startIp
        cls.testdata["vlan_ip_range"]["endip"] = test_endIp
        cls.testdata["vlan_ip_range"]["gateway"] = test_gateway
        cls.testdata["vlan_ip_range"]["netmask"] = cls.netmask
        cls.testdata["vlan_ip_range"]["zoneid"] = cls.zone.id
        cls.testdata["vlan_ip_range"]["podid"] = cls.pod.id

        return PublicIpRange.create(
                cls.api_client,
                cls.testdata["vlan_ip_range"])
    def createNewVlanRange(cls):
        """ Increment current cidr of vlan range present in network
            and create new range
        """
        publicIpRange = PublicIpRange.list(cls.api_client)
        cls.startIp = publicIpRange[0].startip
        cls.endIp = publicIpRange[0].endip
        cls.gateway = publicIpRange[0].gateway
        cls.netmask = publicIpRange[0].netmask
        # Pass ip address and mask length to IPNetwork to findout the CIDR
        ip = IPNetwork(cls.startIp + "/" + cls.netmask)
        # Take random increment factor to avoid adding the same vlan ip range
        # in each test case
        networkIncrementFactor = random.randint(1, 255)
        new_cidr = ip.__iadd__(networkIncrementFactor)
        ip2 = IPNetwork(new_cidr)
        test_nw = ip2.network
        ip = IPAddress(test_nw)
        # Add IP range(5 IPs) in the new CIDR
        test_gateway = ip.__add__(1)
        test_startIp = ip.__add__(3)
        test_endIp = ip.__add__(10)
        # Populating services with new IP range
        cls.testdata["vlan_ip_range"]["startip"] = test_startIp
        cls.testdata["vlan_ip_range"]["endip"] = test_endIp
        cls.testdata["vlan_ip_range"]["gateway"] = test_gateway
        cls.testdata["vlan_ip_range"]["netmask"] = cls.netmask
        cls.testdata["vlan_ip_range"]["zoneid"] = cls.zone.id
        cls.testdata["vlan_ip_range"]["podid"] = cls.pod.id

        return PublicIpRange.create(cls.api_client,
                                    cls.testdata["vlan_ip_range"])
 def increment_cidr(self):
     """Takes CIDR as input and will increment by one and returns the new CIDR
     """
     publicIpRange = PublicIpRange.list(self.apiclient)
     self.startIp = publicIpRange[0].startip
     self.endIp = publicIpRange[0].endip
     self.gateway = publicIpRange[0].gateway
     self.netmask = publicIpRange[0].netmask
     # Pass ip address and mask length to IPNetwork to findout the CIDR
     ip = IPNetwork(self.startIp + "/" + self.netmask)
     # Take random increment factor to avoid adding the same vlan ip range
     # in each test case
     networkIncrementFactor = random.randint(1, 255)
     new_cidr = ip.__iadd__(networkIncrementFactor)
     ip2 = IPNetwork(new_cidr)
     return ip2
 def increment_cidr(self):
     """Takes CIDR as input and will increment by one and returns the new CIDR
     """
     publicIpRange = PublicIpRange.list(self.apiclient)
     self.startIp = publicIpRange[0].startip
     self.endIp = publicIpRange[0].endip
     self.gateway = publicIpRange[0].gateway
     self.netmask = publicIpRange[0].netmask
     # Pass ip address and mask length to IPNetwork to findout the CIDR
     ip = IPNetwork(self.startIp + "/" + self.netmask)
     # Take random increment factor to avoid adding the same vlan ip range
     # in each test case
     networkIncrementFactor = random.randint(1,255)
     new_cidr = ip.__iadd__(networkIncrementFactor)
     ip2 = IPNetwork(new_cidr)
     return ip2
示例#5
0
    def test_01_create_ipv6_public_ip_range(self):
        """Test to add IPv6 public IP range

        # Validate the following:
        # 1. createVlanIpRange should return valid info for new public range
        # 2. The Cloud Database contains the valid information
        """
        ipv6_publiciprange_service = self.services["publicip6range"]
        ipv6_publiciprange_service["zoneid"] = self.zone.id
        ipv6_publiciprange = PublicIpRange.create(
            self.apiclient,
            ipv6_publiciprange_service
        )
        self.cleanup.append(ipv6_publiciprange)

        self.debug("Created IPv6 public IP range with ID: %s" % ipv6_publiciprange.vlan.id)
        ipv6_publiciprange = ipv6_publiciprange.vlan

        public_ip_ranges = PublicIpRange.list(
                    self.apiclient,
                    id=ipv6_publiciprange.id
                )
        self.assertEqual(
            isinstance(public_ip_ranges, list),
            True,
            "Check list response returns a valid list"
        )
        self.assertNotEqual(
            len(public_ip_ranges),
            0,
            "Check public IP range is created"
        )
        public_ip_range = public_ip_ranges[0]

        self.assertEqual(
            public_ip_range.id,
            ipv6_publiciprange.id,
            "Check server id"
        )
        self.assertEqual(
            public_ip_range.ip6cidr,
            ipv6_publiciprange_service["ip6cidr"],
            "Check ip6cidr for IPv6 public IP range"
        )
        return
示例#6
0
 def getPublicIpv6Range(cls):
     list_public_ip_range_response = PublicIpRange.list(
         cls.apiclient,
         zoneid=cls.zone.id
     )
     ipv4_range_vlan = None
     if isinstance(list_public_ip_range_response, list) == True and len(list_public_ip_range_response) > 0:
         for ip_range in list_public_ip_range_response:
             if ip_range.ip6cidr != None and ip_range.ip6gateway != None:
                 return ip_range
             if ip_range.netmask != None and ip_range.gateway != None:
                 vlan = ip_range.vlan
                 if ipv4_range_vlan == None and vlan.startswith("vlan://"):
                     vlan = vlan.replace("vlan://", "")
                     ipv4_range_vlan = int(vlan)
     ipv6_publiciprange_service = cls.services["publicip6range"]
     ipv6_publiciprange_service["zoneid"] = cls.zone.id
     ipv6_publiciprange_service["vlan"] = ipv4_range_vlan
     ipv6_publiciprange = PublicIpRange.create(
         cls.apiclient,
         ipv6_publiciprange_service
     )
     cls._cleanup.append(ipv6_publiciprange)
     return ipv6_publiciprange
示例#7
0
            h = Host(tmp_dict)
#            h.forced = 'True'
            h.id = host.id
            h.delete(apiClient)

    clusters = Cluster.list(apiClient)
    if clusters:
      for cluster in clusters:
        print "cluster name={}, id={}".format(cluster.name, cluster.id)
        if cluster.allocationstate == 'Enabled':
          print "Delete Cluster"
          c = Cluster(tmp_dict)
          c.id = cluster.id
          c.delete(apiClient)

    ipranges = PublicIpRange.list(apiClient)
    if ipranges:
      for iprange in ipranges:
        print "ip range name={}, id={}".format(iprange.name, iprange.id)

    if clusters:
      nets = PhysicalNetwork.list(apiClient)
      if nets:
        for net in nets:
          print "net name={}, id={}".format(net.name, net.id)
          print "Delete PhysicalNetwork"
          n = PhysicalNetwork(tmp_dict)
          n.id = net.id
          n.delete(apiClient)

    pods = Pod.list(apiClient)