During an upgrade readiness assessment for vCenter Server (from 7.0 Update 3t to 8.0 Update 3g), the VMware vCenter Deployment Tool (VDT) diagnostic script (vdt.py) failed to execute on one of the vCenter Server Appliances. The script returned a critical xml.etree.ElementTree.ParseError: not well-formed (invalid token) error, specifically pointing to line 124, column 8 within the /etc/vmware-rhttpproxy/config.xml file. This error prevented the pre-upgrade validation from completing, blocking the upgrade readiness assessment.
Initializing VDT...There was an issue running the product plugin (vcenter) Please review the help and select the correct product if available.
Backtrace:
Traceback (most recent call last): File "vdt.py", line 92, in main ProductRunner.run(args.product) File "/vdt-2.2.5_09-05-2025/lib/vdt_base.py", line 456, in run return self.safe_execute(item, username, password) File "/vdt-2.2.5_09-05-2025/lib/vdt_base.py", line 426, in safe_execute return self.execute(params, username, password) File "/vdt-2.2.5_09-05-2025/lib/vdt_base.py", line 381, in execute spec.loader.exec_module(script_exec) File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removedFile "/vdt-2.2.5_09-05-2025/vcenter/vc_vdt.py", line 63, in <module> from vcenter.vc_cfg.current_defaults import httpsPort, service_status, sso_domain, version File "/vdt-2.2.5_09-05-2025/vcenter/vc_cfg/current_defaults.py", line 5, in <module> vc_defaults.setDefaults() File "/vdt-2.2.5_09-05-2025/vcenter/vc_cfg/vc_defaults.py", line 445, in setDefaults afd = VcConfig().__dict__ File "/vdt-2.2.5_09-05-2025/vcenter/vc_cfg/vc_defaults.py", line 377, in __init__ self.httpPort, self.httpsPort = get_rhttpProxy_config() File "/vdt-2.2.5_09-05-2025/vcenter/vc_cfg/vc_defaults.py", line 208, in get_rhttpProxy_config tree = ET.parse(os.path.join(rhttpProxyConfigDir, 'config.xml')) File "/usr/lib/python3.7/xml/etree/ElementTree.py", line 1197, in parse tree.parse(source, parser) File "/usr/lib/python3.7/xml/etree/ElementTree.py", line 598, in parseself._root = parser._parse_whole(source)xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 124, column 8
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "vdt.py", line 105, in <module> main() File "vdt.py", line 98, in main for frame in traceback.format_exception(e, limit=-5):TypeError: format_exception() missing 2 required positional arguments: 'value' and 'tb'
Steps:
config.xml file from the /etc/vmware-rhttpproxy/ directory of a vCenter Server Appliance that is running the exact same version and build number and is known to be healthy.config.xml file to the affected VCSA, replacing the unhealthy one (ensure to back up the original file first).vdt.py script to confirm its successful execution.