def class_host_ud( self, azurermclient, session_puppet_enabled_sat, module_azurerm_cloudimg_puppet, module_puppet_loc, module_puppet_org, session_puppet_default_os, azurerm_hostgroup, ): """ Provisions the host on AzureRM using UserData template Later in tests this host will be used to perform assertions """ with session_puppet_enabled_sat.hammer_api_timeout(): with session_puppet_enabled_sat.skip_yum_update_during_provisioning( template='Kickstart default user data' ): host = session_puppet_enabled_sat.cli.Host.create( { 'name': self.hostname, 'compute-attributes': self.compute_attrs, 'interface': self.interfaces_attributes, 'image': module_azurerm_cloudimg_puppet.name, 'hostgroup': azurerm_hostgroup.name, 'location': module_puppet_loc.name, 'organization': module_puppet_org.name, 'operatingsystem-id': session_puppet_default_os.id, }, timeout=1800000, ) yield host with satellite_setting('destroy_vm_on_host_delete=True'): Host.delete({'name': self.fullhostname}, timeout=1800000)
def class_host_gallery_ft( self, session_puppet_enabled_sat, azurermclient, module_azurerm_gallery_finishimg_puppet, module_azurerm_cr_puppet, session_puppet_default_architecture, module_puppet_domain, module_puppet_loc, module_puppet_org, session_puppet_default_os, session_puppet_enabled_proxy, module_puppet_environment, ): """ Provisions the host on AzureRM using Finish template Later in tests this host will be used to perform assertions """ with session_puppet_enabled_sat.skip_yum_update_during_provisioning( template='Kickstart default finish'): host = session_puppet_enabled_sat.api.Host( architecture=session_puppet_default_architecture, build=True, compute_resource=module_azurerm_cr_puppet, compute_attributes=self.compute_attrs, interfaces_attributes=self.interfaces_attributes, domain=module_puppet_domain, organization=module_puppet_org, operatingsystem=session_puppet_default_os, location=module_puppet_loc, name=self.hostname, provision_method='image', image=module_azurerm_gallery_finishimg_puppet, root_pass=gen_string('alphanumeric'), environment=module_puppet_environment, puppet_proxy=session_puppet_enabled_proxy, puppet_ca_proxy=session_puppet_enabled_proxy, ).create() yield host with satellite_setting('destroy_vm_on_host_delete=True'): host.delete()
def class_byos_ft_host( self, default_sat, azurermclient, module_azurerm_byos_finishimg, module_azurerm_cr, default_architecture, module_domain, module_location, module_org, default_os, default_smart_proxy, module_puppet_environment, ): """ Provisions the host on AzureRM with BYOS Image Later in tests this host will be used to perform assertions """ with default_sat.hammer_api_timeout(): with default_sat.skip_yum_update_during_provisioning( template='Kickstart default finish'): host = Host.create( { 'name': self.hostname, 'compute-resource': module_azurerm_cr.name, 'compute-attributes': self.compute_attrs, 'interface': self.interfaces_attributes, 'location-id': module_location.id, 'organization-id': module_org.id, 'domain-id': module_domain.id, 'architecture-id': default_architecture.id, 'operatingsystem-id': default_os.id, 'root-password': gen_string('alpha'), 'image': module_azurerm_byos_finishimg.name, 'volume': "disk_size_gb=5", }, timeout=1800000, ) yield host with satellite_setting('destroy_vm_on_host_delete=True'): Host.delete({'name': self.fullhostname}, timeout=1800)
def class_host_ft( self, azurermclient, session_puppet_enabled_sat, module_azurerm_finishimg_puppet, module_azurerm_cr_puppet, session_puppet_default_architecture, module_puppet_domain, module_puppet_loc, module_puppet_org, session_puppet_default_os, ): """ Provisions the host on AzureRM using Finish template Later in tests this host will be used to perform assertions """ with session_puppet_enabled_sat.hammer_api_timeout(): with session_puppet_enabled_sat.skip_yum_update_during_provisioning( template='Kickstart default finish' ): host = session_puppet_enabled_sat.cli.Host.create( { 'name': self.hostname, 'compute-resource': module_azurerm_cr_puppet.name, 'compute-attributes': self.compute_attrs, 'interface': self.interfaces_attributes, 'location-id': module_puppet_loc.id, 'organization-id': module_puppet_org.id, 'domain-id': module_puppet_domain.id, 'domain': module_puppet_domain.name, 'architecture-id': session_puppet_default_architecture.id, 'operatingsystem-id': session_puppet_default_os.id, 'root-password': gen_string('alpha'), 'image': module_azurerm_finishimg_puppet.name, }, timeout=1800000, ) yield host with satellite_setting('destroy_vm_on_host_delete=True'): Host.delete({'name': self.fullhostname}, timeout=1800000)
def test_positive_end_to_end_azurerm_ft_host_provision( session, session_puppet_enabled_sat, azurermclient, module_azurerm_finishimg_puppet, module_azurerm_cr_puppet, module_puppet_domain, module_puppet_org, module_puppet_loc, module_azure_hg, ): """Provision Host with hostgroup and Compute-profile using finish template on AzureRm compute resource :id: d64d249d-70a2-4329-bff4-3b50b8596c44 :expectedresults: 1. Host is provisioned. 2. Host is deleted Successfully. :CaseLevel: System :BZ: 1850934 """ hostname = f'test-{gen_string("alpha")}' fqdn = f'{hostname}.{module_puppet_domain.name}'.lower() finishimg_image = module_azurerm_finishimg_puppet.name with session_puppet_enabled_sat.ui_session as session: session.organization.select(org_name=module_puppet_org.name) session.location.select(loc_name=module_puppet_loc.name) # Provision Host try: with session_puppet_enabled_sat.skip_yum_update_during_provisioning( template='Kickstart default finish'): session.host.create({ 'host.name': hostname, 'host.hostgroup': module_azure_hg.name, 'provider_content.operating_system.root_password': gen_string('alpha'), 'provider_content.operating_system.image': finishimg_image, }) host_info = session.host.get_details(fqdn) assert 'Installed' in host_info['properties'][ 'properties_table']['Build'] assert (host_info['properties']['properties_table'] ['Host group'] == module_azure_hg.name) # AzureRm Cloud assertion azurecloud_vm = azurermclient.get_vm(name=hostname.lower()) assert azurecloud_vm assert azurecloud_vm.is_running assert azurecloud_vm.name == hostname.lower() assert azurecloud_vm.ip == host_info['properties'][ 'properties_table']['IP Address'] assert azurecloud_vm.type == AZURERM_VM_SIZE_DEFAULT # Host Delete with satellite_setting('destroy_vm_on_host_delete=True'): session.host.delete(fqdn) assert not session.host.search(fqdn) # AzureRm Cloud assertion assert not azurecloud_vm.exists except Exception as error: azure_vm = session_puppet_enabled_sat.api.Host().search( query={'search': f'name={fqdn}'}) if azure_vm: azure_vm[0].delete(synchronous=False) azurecloud_vm = azurermclient.get_vm(name=hostname.lower()) if azurecloud_vm.exists: azurecloud_vm.delete() raise error
def test_positive_azurerm_host_provision_ud( session, session_puppet_enabled_sat, azurermclient, module_azurerm_cloudimg_puppet, module_azurerm_cr_puppet, module_puppet_domain, session_puppet_default_os, module_puppet_org, module_puppet_loc, module_azure_hg, ): """Provision a Host with hostgroup and Compute-profile using cloud-init image on AzureRm compute resource :id: 2dc6c494-0e80-4845-af8f-43d37f69a093 :expectedresults: Host is provisioned successfully. :CaseImportance: Critical :CaseLevel: System :BZ: 1850934 """ hostname = f'test-{gen_string("alpha")}' fqdn = f'{hostname}.{module_puppet_domain.name}'.lower() cloudimg_image = module_azurerm_cloudimg_puppet.name with session_puppet_enabled_sat.ui_session as session: session.organization.select(org_name=module_puppet_org.name) session.location.select(loc_name=module_puppet_loc.name) # Provision Host try: with session_puppet_enabled_sat.skip_yum_update_during_provisioning( template='Kickstart default user data'): session.host.create({ 'host.name': hostname, 'host.hostgroup': module_azure_hg.name, 'provider_content.operating_system.root_password': gen_string('alpha'), 'provider_content.operating_system.image': cloudimg_image, }) host_info = session.host.get_details(fqdn) assert ( 'Pending installation' in host_info['properties']['properties_table']['Build']) assert (host_info['properties']['properties_table'] ['Host group'] == module_azure_hg.name) # AzureRm Cloud assertion azurecloud_vm = azurermclient.get_vm(name=hostname.lower()) assert azurecloud_vm assert azurecloud_vm.is_running assert azurecloud_vm.name == hostname.lower() assert azurecloud_vm.ip == host_info['properties'][ 'properties_table']['IP Address'] assert azurecloud_vm.type == AZURERM_VM_SIZE_DEFAULT finally: azure_vm = session_puppet_enabled_sat.api.Host().search( query={'search': f'name={fqdn}'}) if azure_vm: with satellite_setting('destroy_vm_on_host_delete=True'): azure_vm[0].delete(synchronous=False)