def METHOD_NAME(
    session,
    sat_azure,
    azurermclient,
    module_azurerm_custom_finishimg,
    module_azurerm_cr,
    sat_azure_domain,
    sat_azure_org,
    sat_azure_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}.{sat_azure_domain.name}'.lower()
    finishimg_image = module_azurerm_custom_finishimg.name
    with sat_azure.ui_session() as session:
        session.organization.select(org_name=sat_azure_org.name)
        session.location.select(loc_name=sat_azure_loc.name)
        # Provision Host
        try:
            with sat_azure.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 sat_azure.api_factory.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 = sat_azure.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