def _project_fetch_or_create(self, test_id): project = Project(name='project-{}'.format(test_id)) try: uuid = self.api.project_create(project) except RefsExistError: uuid = self.api.fq_name_to_id('project', project.fq_name) project.set_uuid(uuid) return project
def test_mac_address_always_allocated(self): project = Project(name='p-{}'.format(self.id())) p_uuid = self.api.project_create(project) project.set_uuid(p_uuid) vn = VirtualNetwork(name='vn-{}'.format(self.id()), parent_obj=project) vn_uuid = self.api.virtual_network_create(vn) vn.set_uuid(vn_uuid) mac_addr_test_cases = [ ['02:ce:1b:d7:a6:e7'], ['02-ce-1b-d7-a6-e8'], ['02:ce:1b:d7:a6:e9', '02-ce-1b-d7-a6-f1', '02:ce:1b:d7:a6:f2'], [], None, ] for i, macs_test_case in enumerate(mac_addr_test_cases): vmi = VirtualMachineInterface(name='vmi{}-{}'.format(i, self.id()), parent_obj=project) vmi.set_virtual_network(vn) vmi.set_virtual_machine_interface_mac_addresses( MacAddressesType(macs_test_case)) vmi_uuid = self.api.virtual_machine_interface_create(vmi) vmi = self.api.virtual_machine_interface_read(id=vmi_uuid) vmi_macs = vmi.get_virtual_machine_interface_mac_addresses() \ .get_mac_address() if macs_test_case: # check if vmi_macs len is the same as input len self.assertItemsEqual( vmi_macs, [mac.replace('-', ':') for mac in macs_test_case]) else: # if input was empty or None, check if vmi_macs has been alloc self.assertEqual(len(vmi_macs), 1) for m in vmi_macs: # check if any of mac is not zero self.assertNotEqual(m, '00:00:00:00:00:00')
def test_get_floating_ip_project_ref(self): # create project project = Project(name='project-{}'.format(self.id())) p_uuid = self._vnc_lib.project_create(project) project.set_uuid(p_uuid) # create virtual network vn = VirtualNetwork(name='vn-{}'.format(self.id()), parent_obj=project) vn.add_network_ipam(NetworkIpam(), VnSubnetsType([ IpamSubnetType(SubnetType('1.1.1.0', 28)), ])) vn_uuid = self._vnc_lib.virtual_network_create(vn) vn.set_uuid(vn_uuid) # create floating IP pool fip_pool = FloatingIpPool(name='fip_p-{}'.format(self.id()), parent_obj=vn) fip_p_uuid = self._vnc_lib.floating_ip_pool_create(fip_pool) fip_pool.set_uuid(fip_p_uuid) # finally, create floating IP fip = FloatingIp(name='fip-{}'.format(self.id()), parent_obj=fip_pool) fip_uuid = self._vnc_lib.floating_ip_create(fip) # get floating IPs fip_list = self._vnc_lib.floating_ips_list(obj_uuids=[fip_uuid], fields=['project_refs'], detail=True) self.assertEqual(len(fip_list), 1) project_refs = fip_list[0].get_project_refs() self.assertEqual(len(project_refs), 1) self.assertEqual(project_refs[0]['uuid'], p_uuid) self.assertEqual(project_refs[0]['to'], project.fq_name)