Convert the existing vCenter to a new VCF instance fails at Import in VCF 9.0.
search cancel

Convert the existing vCenter to a new VCF instance fails at Import in VCF 9.0.

book

Article ID: 423297

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

  • Converting an existing vCenter to a VCF instance using the VCF installer, version 9.0 fails at import - 

  • The failure at the tasks shows an error during - Import provided infrastructure into SDDC manager.

  • Error message - 

Import operation for convert with id 12##-####-####-##78 failed internally. Command was python3 /opt/vmware/vcf/domainmanager/scripts/vcf-import-tool/vcf_brownfield.py convert --auto-proceed --suppress-warnings --skip-ssh-thumbprint-validation --domain-name MGT-Domain --vcenter vcsa_fqdn --sso-user [email protected] --internal-vcf-auth --output-dir /var/log/vmware/vcf/domainmanager/brownfield/12##-####-####-##78/ --non-interactive.

  • Logs - /var/log/vmware/vcf/domainmanager/brownfield/12##-####-####-##78/

[yyyy-mm-dd hh:mm:ss] [INFO] discover_domain: Starting discovery of ESXi host: esxi_witness_fqdn
[yyyy-mm-dd hh:mm:ss] [INFO] discover_domain: Host esxi_witness_fqdn is standalone
[yyyy-mm-dd hh:mm:ss] [CRITICAL] vcf_brownfield: Fatal exception: ("cannot access local variable 'esxi_cluster_moid' where it is not associated with a value",)
Traceback (most recent call last):
  File "/opt/vmware/vcf/domainmanager/scripts/vcf-import-tool/vcf_brownfield.py", line 1435, in <module>
    main()
  File "/opt/vmware/vcf/domainmanager/scripts/vcf-import-tool/vcf_brownfield.py", line 1408, in main
    operation_successful: bool = convert_import(
  File "/opt/vmware/vcf/domainmanager/scripts/vcf-import-tool/vcf_brownfield.py", line 799, in convert_import
    discovery_output: Optional[DiscoveryModel] = discovery.discover_domain(domain_type, backup_password,
  File "/opt/vmware/vcf/domainmanager/scripts/vcf-import-tool/domain_discovery/discover_domain.py", line 1415, in discover_domain
    inventory_payload: dict[str, Any] = self.build_inventory_payload(domain_type, vcenter_vm, activating_status, existing_datastore_name, preferred_datastore_source_id_by_cluster_source_id, is_sync, cluster_id_by_cluster_source_id)
                                        
  File "/opt/vmware/vcf/domainmanager/scripts/vcf-import-tool/domain_discovery/discover_domain.py", line 1128, in build_inventory_payload
    self.build_host_entities(nfs_ips_by_cluster_moid, vsan_enabled_cluster_moids, activating_status, cluster_to_primary_ds, cluster_to_primary_ds_type, is_sync, cluster_id_by_cluster_source_id)
  File "/opt/vmware/vcf/domainmanager/scripts/vcf-import-tool/domain_discovery/discover_domain.py", line 335, in build_host_entities
    logger.info("For host {esxi_hostname} Parent esxi_cluster_moid {esxi_cluster_moid}")
UnboundLocalError: cannot access local variable 'esxi_cluster_moid' where it is not associated with a value

Environment

VCF 9.0

Cause

The import fails if the vSAN Witness host resides within a sub folder in the datacenter. Hence there is a failure during the discovery of vSAN witness ESXi node.

Something as below - 

Resolution

Move the ESXi vSAN witness host from a custom user-created folder to Datacenter. Refer - Relocate Your ESXi Host.