def test_0010_vm_setup(self): """Setup the vms required for the other tests in this module. Create a vApp with just one vm as per the configuration stated above. This test passes if the vApp and vm hrefs are not None. """ logger = Environment.get_default_logger() TestPVDC._org_client = Environment.get_client_in_default_org( TestPVDC._test_runner_role) vdc = Environment.get_test_vdc(TestPVDC._org_client) logger.debug('Creating vApp ' + TestPVDC._test_vapp_name + '.') TestPVDC._test_vapp_href = create_customized_vapp_from_template( client=TestPVDC._org_client, vdc=vdc, name=TestPVDC._test_vapp_name, catalog_name=Environment.get_default_catalog_name(), template_name=Environment.get_default_template_name(), memory_size=TestPVDC._test_vapp_first_vm_memory_size, num_cpu=TestPVDC._test_vapp_first_vm_num_cpu, disk_size=TestPVDC._test_vapp_first_vm_first_disk_size, vm_name=TestPVDC._test_vapp_first_vm_name, nw_adapter_type=TestPVDC._test_vapp_first_vm_network_adapter_type) self.assertIsNotNone(TestPVDC._test_vapp_href) vapp = VApp(TestPVDC._org_client, href=TestPVDC._test_vapp_href) vm_resource = vapp.get_vm(TestPVDC._test_vapp_first_vm_name) TestPVDC._test_vapp_first_vm_href = vm_resource.get('href') self.assertIsNotNone(TestPVDC._test_vapp_first_vm_href)
def _create_customized_vapp_from_template(self, client, vdc): """Helper method to create a customized vApp from template. :param pyvcloud.vcd.client.Client client: a client that would be used to make ReST calls to vCD. :param pyvcloud.vcd.vcd.VDC vdc: the vdc in which the vApp will be created. :return: href of the created vApp. :rtype: str """ logger = Environment.get_default_logger() logger.debug('Creating customized vApp.') vapp_sparse_resource = vdc.instantiate_vapp( name=TestVApp._customized_vapp_name, catalog=Environment.get_default_catalog_name(), template=Environment.get_default_template_name(), description=TestVApp._customized_vapp_description, deploy=True, power_on=True, accept_all_eulas=True, memory=TestVApp._customized_vapp_memory_size, cpu=TestVApp._customized_vapp_num_cpu, disk_size=TestVApp._customized_vapp_disk_size, vm_name=TestVApp._customized_vapp_vm_name, hostname=TestVApp._customized_vapp_vm_hostname, network_adapter_type=TestVApp. _customized_vapp_vm_network_adapter_type) task = client.get_task_monitor().wait_for_success( vapp_sparse_resource.Tasks.Task[0]) self.assertEqual(task.get('status'), TaskStatus.SUCCESS.value) return vapp_sparse_resource.get('href')
def test_0000_setup(self): """Setup the independent disks for the other tests in this module. Create three independent disks as per the configuration stated above. Also create a vApp that will be used in attach/detach independent disk tests. This test passes if all the three disk ids and the vapp href are not None. """ logger = Environment.get_default_logger() TestDisk._client = Environment.get_client_in_default_org( TestDisk._test_runner_role) vdc = Environment.get_test_vdc(TestDisk._client) logger.debug('Creating disk : ' + TestDisk._idisk1_name) TestDisk._idisk1_id = create_independent_disk( client=TestDisk._client, vdc=vdc, name=TestDisk._idisk1_name, size=TestDisk._idisk1_size, description=TestDisk._idisk1_description) logger.debug('Creating disk : ' + TestDisk._idisk2_name) TestDisk._idisk2_id = create_independent_disk( client=TestDisk._client, vdc=vdc, name=TestDisk._idisk2_name, size=TestDisk._idisk2_size, description=TestDisk._idisk2_description) logger.debug('Creating disk : ' + TestDisk._idisk3_name) TestDisk._idisk3_id = create_independent_disk( client=TestDisk._client, vdc=vdc, name=TestDisk._idisk3_name, size=TestDisk._idisk3_size, description=TestDisk._idisk3_description) logger.debug('Creating vApp ' + TestDisk._test_vapp_name + '.') TestDisk._test_vapp_href = create_customized_vapp_from_template( client=TestDisk._client, vdc=vdc, name=TestDisk._test_vapp_name, catalog_name=Environment.get_default_catalog_name(), template_name=Environment.get_default_template_name(), memory_size=TestDisk._test_vapp_first_vm_memory_size, num_cpu=TestDisk._test_vapp_first_vm_num_cpu, disk_size=TestDisk._test_vapp_first_vm_first_disk_size, vm_name=TestDisk._test_vapp_first_vm_name, nw_adapter_type=TestDisk._test_vapp_first_vm_network_adapter_type) self.assertIsNotNone(TestDisk._idisk1_id) self.assertIsNotNone(TestDisk._idisk2_id) self.assertIsNotNone(TestDisk._idisk3_id) self.assertIsNotNone(TestDisk._test_vapp_href)
def test_0000_setup(self): """Setup the vms required for the other tests in this module. Create a vApp with just one vm as per the configuration stated above. This test passes if the vApp and vm hrefs are not None. """ logger = Environment.get_default_logger() TestVM._client = Environment.get_client_in_default_org( TestVM._test_runner_role) TestVM._sys_admin_client = Environment.get_sys_admin_client() vdc = Environment.get_test_vdc(TestVM._client) TestVM._media_resource = Environment.get_test_media_resource() logger.debug('Creating vApp ' + TestVM._test_vapp_name + '.') TestVM._test_vapp_href = create_customized_vapp_from_template( client=TestVM._client, vdc=vdc, name=TestVM._test_vapp_name, catalog_name=Environment.get_default_catalog_name(), template_name=Environment.get_default_template_name(), memory_size=TestVM._test_vapp_first_vm_memory_size, num_cpu=TestVM._test_vapp_first_vm_num_cpu, disk_size=TestVM._test_vapp_first_vm_first_disk_size, vm_name=TestVM._test_vapp_first_vm_name, nw_adapter_type=TestVM._test_vapp_first_vm_network_adapter_type) self.assertIsNotNone(TestVM._test_vapp_href) vapp = VApp(TestVM._client, href=TestVM._test_vapp_href) TestVM._test_vapp = vapp vm_resource = vapp.get_vm(TestVM._test_vapp_first_vm_name) TestVM._test_vapp_first_vm_href = vm_resource.get('href') self.assertIsNotNone(TestVM._test_vapp_first_vm_href) logger.debug('Creating empty vApp.') TestVM._empty_vapp_href = \ create_empty_vapp(client=TestVM._client, vdc=vdc, name=TestVM._empty_vapp_name, description=TestVM._empty_vapp_description) TestVM._empty_vapp_owner_name = Environment. \ get_username_for_role_in_test_org(TestVM._test_runner_role) #Create independent disk TestVM._idisk = vdc.create_disk(name=self._idisk_name, size=self._idisk_size, description=self._idisk_description)
def test_0000_setup(self): """Setup the vApps required for the other tests in this module. Create two vApps as per the configuration stated above. This test passes if the two vApp hrefs are not None. """ logger = Environment.get_default_logger() TestVApp._pvdc_name = Environment.get_test_pvdc_name() TestVApp._config = Environment.get_config() TestVApp._default_org_name = TestVApp._config['vcd'][ 'default_org_name'] TestVApp._client = Environment.get_client_in_default_org( TestVApp._test_runner_role) TestVApp._sys_admin_client = Environment.get_sys_admin_client() vdc = Environment.get_test_vdc(TestVApp._client) logger.debug('Creating empty vApp.') TestVApp._empty_vapp_href = \ create_empty_vapp(client=TestVApp._client, vdc=vdc, name=TestVApp._empty_vapp_name, description=TestVApp._empty_vapp_description) TestVApp._empty_vapp_owner_name = Environment.\ get_username_for_role_in_test_org(TestVApp._test_runner_role) logger.debug('Creating customized vApp.') TestVApp._customized_vapp_href = create_customized_vapp_from_template( client=TestVApp._client, vdc=vdc, name=TestVApp._customized_vapp_name, catalog_name=Environment.get_default_catalog_name(), template_name=Environment.get_default_template_name(), description=TestVApp._customized_vapp_description, memory_size=TestVApp._customized_vapp_memory_size, num_cpu=TestVApp._customized_vapp_num_cpu, disk_size=TestVApp._customized_vapp_disk_size, vm_name=TestVApp._customized_vapp_vm_name, vm_hostname=TestVApp._customized_vapp_vm_hostname, nw_adapter_type=TestVApp._customized_vapp_vm_network_adapter_type) TestVApp._customized_vapp_owner_name = Environment.\ get_username_for_role_in_test_org(TestVApp._test_runner_role) TestVApp._create_org_vdc() self.assertIsNotNone(TestVApp._empty_vapp_href) self.assertIsNotNone(TestVApp._customized_vapp_href)
def test_0000_setup(self): """Setup the vApps required for the other tests in this module. Create two vApps as per the configuration stated above. This test passes if the two vApp hrefs are not None. """ logger = Environment.get_default_logger() TestVApp._client = Environment.get_client_in_default_org( TestVApp._test_runner_role) TestVApp._sys_admin_client = Environment.get_sys_admin_client() vdc = Environment.get_test_vdc(TestVApp._client) logger.debug('Creating empty vApp.') TestVApp._empty_vapp_href = \ create_empty_vapp(client=TestVApp._client, vdc=vdc, name=TestVApp._empty_vapp_name, description=TestVApp._empty_vapp_description) TestVApp._empty_vapp_owner_name = Environment.\ get_username_for_role_in_test_org(TestVApp._test_runner_role) logger.debug('Creating customized vApp.') TestVApp._customized_vapp_href = create_customized_vapp_from_template( client=TestVApp._client, vdc=vdc, name=TestVApp._customized_vapp_name, catalog_name=Environment.get_default_catalog_name(), template_name=Environment.get_default_template_name(), description=TestVApp._customized_vapp_description, memory_size=TestVApp._customized_vapp_memory_size, num_cpu=TestVApp._customized_vapp_num_cpu, disk_size=TestVApp._customized_vapp_disk_size, vm_name=TestVApp._customized_vapp_vm_name, vm_hostname=TestVApp._customized_vapp_vm_hostname, nw_adapter_type=TestVApp._customized_vapp_vm_network_adapter_type) TestVApp._customized_vapp_owner_name = Environment.\ get_username_for_role_in_test_org(TestVApp._test_runner_role) self.assertIsNotNone(TestVApp._empty_vapp_href) self.assertIsNotNone(TestVApp._customized_vapp_href)
def test_0000_setup(self): """Setup the vms required for the other tests in this module. Create a vApp with just one vm as per the configuration stated above. This test passes if the vApp and vm hrefs are not None. """ logger = Environment.get_default_logger() TestVM._client = Environment.get_client_in_default_org( TestVM._test_runner_role) TestVM._sys_admin_client = Environment.get_sys_admin_client() vdc = Environment.get_test_vdc(TestVM._client) TestVM._media_resource = Environment.get_test_media_resource() logger.debug('Creating vApp ' + TestVM._test_vapp_name + '.') TestVM._test_vapp_href = create_customized_vapp_from_template( client=TestVM._client, vdc=vdc, name=TestVM._test_vapp_name, catalog_name=Environment.get_default_catalog_name(), template_name=Environment.get_default_template_name(), memory_size=TestVM._test_vapp_first_vm_memory_size, num_cpu=TestVM._test_vapp_first_vm_num_cpu, disk_size=TestVM._test_vapp_first_vm_first_disk_size, vm_name=TestVM._test_vapp_first_vm_name, nw_adapter_type=TestVM._test_vapp_first_vm_network_adapter_type) self.assertIsNotNone(TestVM._test_vapp_href) vapp = VApp(TestVM._client, href=TestVM._test_vapp_href) TestVM._test_vapp = vapp vm_resource = vapp.get_vm(TestVM._test_vapp_first_vm_name) TestVM._test_vapp_first_vm_href = vm_resource.get('href') self.assertIsNotNone(TestVM._test_vapp_first_vm_href) logger.debug('Creating empty vApp.') TestVM._empty_vapp_href = \ create_empty_vapp(client=TestVM._client, vdc=vdc, name=TestVM._empty_vapp_name, description=TestVM._empty_vapp_description) TestVM._empty_vapp_owner_name = Environment. \ get_username_for_role_in_test_org(TestVM._test_runner_role) #Create independent disk TestVM._idisk = vdc.create_disk(name=self._idisk_name, size=self._idisk_size, description=self._idisk_description) # Upload template with vm tools. catalog_author_client = Environment.get_client_in_default_org( CommonRoles.CATALOG_AUTHOR) org_admin_client = Environment.get_client_in_default_org( CommonRoles.ORGANIZATION_ADMINISTRATOR) org = Environment.get_test_org(org_admin_client) catalog_name = Environment.get_config()['vcd']['default_catalog_name'] catalog_items = org.list_catalog_items(catalog_name) template_name = Environment.get_config( )['vcd']['default_template_vmtools_file_name'] catalog_item_flag = False for item in catalog_items: if item.get('name').lower() == template_name.lower(): logger.debug('Reusing existing template ' + template_name) catalog_item_flag = True break if not catalog_item_flag: logger.debug('Uploading template ' + template_name + ' to catalog ' + catalog_name + '.') org.upload_ovf(catalog_name=catalog_name, file_name=template_name) # wait for the template import to finish in vCD. catalog_item = org.get_catalog_item(name=catalog_name, item_name=template_name) template = catalog_author_client.get_resource( catalog_item.Entity.get('href')) catalog_author_client.get_task_monitor().wait_for_success( task=template.Tasks.Task[0]) # Create Vapp with template of vmware tools logger.debug('Creating vApp ' + TestVM._test_vapp_vmtools_name + '.') TestVM._test_vapp_vmtools_href = create_customized_vapp_from_template( client=TestVM._client, vdc=vdc, name=TestVM._test_vapp_vmtools_name, catalog_name=catalog_name, template_name=template_name) self.assertIsNotNone(TestVM._test_vapp_href) vapp = VApp(TestVM._client, href=TestVM._test_vapp_vmtools_href) TestVM._test_vapp_vmtools = vapp vm_resource = vapp.get_vm(TestVM._test_vapp_vmtools_vm_name) TestVM._test_vapp_vmtools_vm_href = vm_resource.get('href') self.assertIsNotNone(TestVM._test_vapp_vmtools_vm_href)
def test_0000_setup(self): """Setup the vms required for the other tests in this module. Create a vApp with just one vm as per the configuration stated above. This test passes if the vApp and vm hrefs are not None. """ logger = Environment.get_default_logger() TestVM._client = Environment.get_client_in_default_org( TestVM._test_runner_role) TestVM._sys_admin_client = Environment.get_sys_admin_client() vdc = Environment.get_test_vdc(TestVM._client) TestVM._media_resource = Environment.get_test_media_resource() logger.debug('Creating vApp ' + TestVM._test_vapp_name + '.') TestVM._test_vapp_href = create_customized_vapp_from_template( client=TestVM._client, vdc=vdc, name=TestVM._test_vapp_name, catalog_name=Environment.get_default_catalog_name(), template_name=Environment.get_default_template_name(), memory_size=TestVM._test_vapp_first_vm_memory_size, num_cpu=TestVM._test_vapp_first_vm_num_cpu, disk_size=TestVM._test_vapp_first_vm_first_disk_size, vm_name=TestVM._test_vapp_first_vm_name, nw_adapter_type=TestVM._test_vapp_first_vm_network_adapter_type) self.assertIsNotNone(TestVM._test_vapp_href) vapp = VApp(TestVM._client, href=TestVM._test_vapp_href) TestVM._test_vapp = vapp vm_resource = vapp.get_vm(TestVM._test_vapp_first_vm_name) TestVM._test_vapp_first_vm_href = vm_resource.get('href') self.assertIsNotNone(TestVM._test_vapp_first_vm_href) logger.debug('Creating empty vApp.') TestVM._empty_vapp_href = \ create_empty_vapp(client=TestVM._client, vdc=vdc, name=TestVM._empty_vapp_name, description=TestVM._empty_vapp_description) TestVM._empty_vapp_owner_name = Environment. \ get_username_for_role_in_test_org(TestVM._test_runner_role) # Create independent disk TestVM._idisk = vdc.create_disk(name=self._idisk_name, size=self._idisk_size, description=self._idisk_description) # Upload template with vm tools. catalog_author_client = Environment.get_client_in_default_org( CommonRoles.CATALOG_AUTHOR) org_admin_client = Environment.get_client_in_default_org( CommonRoles.ORGANIZATION_ADMINISTRATOR) org = Environment.get_test_org(org_admin_client) catalog_name = Environment.get_config()['vcd']['default_catalog_name'] catalog_items = org.list_catalog_items(catalog_name) template_name = Environment.get_config( )['vcd']['default_template_vmtools_file_name'] catalog_item_flag = False for item in catalog_items: if item.get('name').lower() == template_name.lower(): logger.debug('Reusing existing template ' + template_name) catalog_item_flag = True break if not catalog_item_flag: logger.debug('Uploading template ' + template_name + ' to catalog ' + catalog_name + '.') org.upload_ovf(catalog_name=catalog_name, file_name=template_name) # wait for the template import to finish in vCD. catalog_item = org.get_catalog_item(name=catalog_name, item_name=template_name) template = catalog_author_client.get_resource( catalog_item.Entity.get('href')) catalog_author_client.get_task_monitor().wait_for_success( task=template.Tasks.Task[0]) # Create Vapp with template of vmware tools logger.debug('Creating vApp ' + TestVM._test_vapp_vmtools_name + '.') TestVM._test_vapp_vmtools_href = create_customized_vapp_from_template( client=TestVM._client, vdc=vdc, name=TestVM._test_vapp_vmtools_name, catalog_name=catalog_name, template_name=template_name) self.assertIsNotNone(TestVM._test_vapp_href) vapp = VApp(TestVM._client, href=TestVM._test_vapp_vmtools_href) TestVM._test_vapp_vmtools = vapp vm_resource = vapp.get_vm(TestVM._test_vapp_vmtools_vm_name) TestVM._test_vapp_vmtools_vm_href = vm_resource.get('href') self.assertIsNotNone(TestVM._test_vapp_vmtools_vm_href) resource = TestVM._sys_admin_client.get_extension() result = TestVM._sys_admin_client.get_linked_resource( resource, RelationType.DOWN, EntityType.DATASTORE_REFERENCES.value) if hasattr(result, '{' + NSMAP['vcloud'] + '}Reference'): for reference in result['{' + NSMAP['vcloud'] + '}Reference']: if reference.get('name') == 'shared-disk-2': TestVM._datastore_id = reference.get('id') break vapp = Environment.get_vapp_in_test_vdc( client=TestVM._client, vapp_name=TestVM._test_vapp_name) logger.debug('Creating a vApp network in ' + TestVM._test_vapp_name) task = vapp.create_vapp_network( TestVM._vapp_network_name, TestVM._vapp_network_cidr, TestVM._vapp_network_description, TestVM._vapp_network_dns1, TestVM._vapp_network_dns2, TestVM._vapp_network_dns_suffix, [TestVM._vapp_network_ip_range]) result = TestVM._client.get_task_monitor().wait_for_success(task) self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value) vapp.reload()