Symptoms:
Transfer failed: Error during transfer of ds:///vmfs/volumes/<Datastore_UUID>//<VM_NAME>/<VM_NAME>.vmdk:
A specified parameter was not correct: spec.source.cnxSpec.host.
..
2023-04-03T17:59:27.137+02:00 info vpxd[07160] [Originator@6876 sub=vpxLro opID=c1c37d81-####-####-####-########384-c2-bf] [VpxLRO] -- BEGIN task-2561223 -- nfcManager -- nfc.NfcManager.copy -- 522b0ee1-####-####-####-########973(5241cb5c-####-####-####-########eb4)
2023-04-03T17:59:27.138+02:00 error vpxd[07160] [Originator@6876 sub=NfcMgr opID=c1c37d81-####-####-####-########384-c2-bf] Host: <IPV4 address> not found
..
2023-04-03T17:59:52.357+02:00 info vpxd[07019] [Originator@6876 sub=Default opID=50ae248c-01] [VpxLRO] -- ERROR task-2561222 -- <template name>-qrubu -- ResourcePool.ImportVAppLRO: vim.fault.OvfImportFailed:
--> Result:
--> (vim.fault.OvfImportFailed) {
--> faultCause = (vmodl.fault.SystemError) {
--> faultCause = (vmodl.MethodFault) null,
--> faultMessage = (vmodl.LocalizableMessage) [
--> (vmodl.LocalizableMessage) {
--> key = "com.vmware.ovfs.ovfs-main.ovfs.transfer_failed",
--> arg = (vmodl.KeyAnyValue) [
--> (vmodl.KeyAnyValue) {
--> key = "0",
--> value = "Error during transfer of ds:///vmfs/volumes/########-####-########eff6//<VM-name>/<VM-NAME>.vmdk: A specified parameter was not correct: spec.source.cnxSpec.host"
--> }
--> ],
--> message = "Transfer failed: Error during transfer of ds:///vmfs/volumes/########-####-########eff6//<VM-name>/<VM-NAME>.vmdk: A specified parameter was not correct: spec.source.cnxSpec.host"
--> }
--> ],
--> reason = ""
--> msg = "Transfer failed: Error during transfer of ds:///vmfs/volumes/########-####-########eff6//<VM-name>/<VM-NAME>.vmdk: A specified parameter was not correct: spec.source.cnxSpec.host"
--> },
--> faultMessage = <unset>
--> msg = ""
--> }
--> Args:
-->
..
2023-04-03T17:59:27.070+02:00 | DEBUG | c1c37d81-####-####-####-########384 | transferService-pool-7-thread-29 | NfcHostSelectionStrategy | Creating NFC tickets for specs: [CreateSpec (com.vmware.vcenter.files.nfc.tickets.datastore.create_spec) => {
datastore = datastore-166786:2ddca27f-####-####-####-########d69,
hosts = [host-171767:2ddca27f-####-####-####-########d69, host-173181:2ddca27f-####-####-####-########d69, host-183139:2ddca27f-####-####-####-########d69, host-319901:2ddca27f-####-####-####-########d69, host-171173:2ddca27f-####-####-####-########d69, host-160144:2ddca27f-####-####-####-########d69, host-171761:2ddca27f-####-####-####-########d69] =======================> goes through all the HOST IDs will fail with the error from VPXD from above ["Host: <IPV4 address> not found"]
# psql -d VCDB -U postgres -c "SELECT ID, IP_ADDRESS FROM VPX_HOST"
Aug 29 21:00:05 dnsmasq[1391]: cached esxi-01.example.lab is xx.xx.xx.xxx Aug 29 21:00:05 dnsmasq[1391]: cached esxi-01.example.lab is xx.xx.xx.xxx
VMware vSphere ESXi 7.0.x
VMware vCenter Server 7.0.x
Currently, there is no resolution to this issue in dual stack IPv6/IPv4 environments, though VMware engineering is aware of this problem and working towards a solution. Use the workaround below for now.
In environments where there are duplicate DNS entries for the ESXi hostname, you must remove or change the entries that are not associated with the management IP address.
Workaround:
Note: Before attempting to apply the steps outlined below, ensure that a fresh backup or an offline snapshot of the vCenter Server Appliance exists. If the vCenter Server Appliance is part of an ELM replication group, please be aware that offline snapshots or backups need to be created for all members of the ELM replication. In case a restore is required, all other ELM member must be restored as well.
Note: Snapshots are not supported for vCenter Server Appliances where VCHA is enabled (see https://kb.vmware.com/s/article/2148003).
To work around the issue in a dual IPv4/IPv6 environment
# cp /etc/vmware/vmware-vmon/svcCfgfiles/vdcs.json /storage/core/vdcs.json_orig
# vi /etc/vmware/vmware-vmon/svcCfgfiles/vdcs.json
"StartCommandArgs": [
"-Dcom.sun.management.jmxremote=true",
"-Dcom.sun.management.jmxremote.host=localhost",
"-Dcom.sun.management.jmxremote.port=13038",
"-Dcom.sun.management.jmxremote.ssl=false",
"-Dcom.sun.management.jmxremote.authenticate=true",
"-Dcom.sun.management.jmxremote.access.file=/etc/vmware/vmware-vmon/svcCfgfiles/jmx/content-library.access",
"-Dcom.sun.management.jmxremote.password.file=/etc/vmware/vmware-vmon/svcCfgfiles/jmx/content-library.password",
"StartCommandArgs": [
"-Djava.net.preferIPv6Addresses=true",
"-Dcom.sun.management.jmxremote=true",
"-Dcom.sun.management.jmxremote.host=localhost",
"-Dcom.sun.management.jmxremote.port=13038",
"-Dcom.sun.management.jmxremote.ssl=false",
"-Dcom.sun.management.jmxremote.authenticate=true",
"-Dcom.sun.management.jmxremote.access.file=/etc/vmware/vmware-vmon/svcCfgfiles/jmx/content-library.access",
"-Dcom.sun.management.jmxremote.password.file=/etc/vmware/vmware-vmon/svcCfgfiles/jmx/content-library.password",
# service-control --restart vmware-content-library
Impact/Risks:
Mostly impacting NSX -T and Content Library - see documentation at https://avinetworks.com/docs/latest/avi-nsx-t-integration/.