Pre-install failed for vpxd:Expand.
search cancel

Pre-install failed for vpxd:Expand.

book

Article ID: 378696

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Symptoms:

  • Error below was found while patching vCenter from 8.0.2.00100 to 8.0.3. 
  • Referenced screenshots:
  • When checked with logs found: 
    • In /var/log/vmware/applmgmt/PatchRunner.log we see below entries.

  • The error indicated that the vpxd.cfg file could not be parsed.at line 39.
  • When checked the same we could see that the below excerpt was present:
    <vcls>
    <clusters>
    <domain-c22>
    <enabled>False</enabled>
    </domain-c22>
    <domain-c22:f696e05a-6cf8-4d02-af1c-10e81f90ec81>
    <enabled>False</enabled>
    </domain-c22:f696e05a-6cf8-4d02-af1c-10e81f90ec81>
    <domain-c86>
    <enabled>false</enabled>
    </domain-c86>
    <f696e05a-6cf8-4d02-af1c-10e81f90ec81>
    <enabled>False</enabled>
    </f696e05a-6cf8-4d02-af1c-10e81f90ec81>
    </clusters>
    </vcls>

Environment

VMware vCenter Server Appliance 8.x

Cause

The VCLS VMs were either deleted or previously misconfigured, followed by a vCenter reboot. As a result of this action, the vpxd.cfg file was left with incorrect data, preventing the vpxd service from starting.

Resolution

    1. Connect to the VCSA via an SSH session as the root user.
    2. Create a backup of the file /etc/vmware-vpx/vpxd.cfg.
    3. Verify that the vmware-vpxd service is not running, or stop it using the command:
      service-control --stop vpxd.
    4. Remove the VCLS entries from the /etc/vmware-vpx/vpxd.cfg file.

    Workaround 1: Run the following command to remove the VCLS entries automatically:
    sed '/<vcls>/,/<\/vcls>/d' -i /etc/vmware-vpx/vpxd.cfg.

    Workaround 2: Manually edit the vpxd.cfg file using the vi editor:

    • Run vi /etc/vmware-vpx/vpxd.cfg.
    • Remove the section related to VCLS, which looks similar to:
    <vcls>
    <clusters>
    <domain-c22>
    <enabled>False</enabled>
    </domain-c22>
    <domain-c22:f696e05a-6cf8-4d02-af1c-10e81f90ec81>
    <enabled>False</enabled>
    </domain-c22:f696e05a-6cf8-4d02-af1c-10e81f90ec81>
    <domain-c86>
    <enabled>false</enabled>
    </domain-c86>
    <f696e05a-6cf8-4d02-af1c-10e81f90ec81>
    <enabled>False</enabled>
    </f696e05a-6cf8-4d02-af1c-10e81f90ec81>
    </clusters>
    </vcls>
     
    • Press the Esc key, type :wq!, and press Enter to save and exit the file.
    1. restart vpxd service using:
      service-control --start vpxd.

    2. post which verify restarting all services:
      service-control --stop --all && service-control --start --all.

    3. Re-run the update after completing these steps.

Additional Information

  • VCSA patching to vCenter Server 8.0 Update 3d 24322831 version fails with "Internal error occurs during execution of update process. Pre-Install failed for vpxd:Expand"
  • In /var/log/vmware/applmgmt/PatchRunner.log we see below entries.

Traceback (most recent call last):
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/py/vmware_b2b/patching/executor/hook_executor.py", line 74, in executeHook
    executionResult = systemExtension(args)
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/libs/sdk/extensions.py", line 106, in __call__
    result = self.extension(*args)
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/libs/sdk/extensions.py", line 123, in _func
    return func(*args)
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/payload/components-script/vpxd/__init__.py", line 152, in expand
    vpxd_cfg_patch.doPatching()
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/payload/components-script/vpxd/patch_utils.py", line 371, in doPatching
    raise ex
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/payload/components-script/vpxd/patch_utils.py", line 363, in doPatching
    self.initCfgTree()
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/payload/components-script/vpxd/patch_utils.py", line 233, in initCfgTree
    self.vpxdcfg = ET.parse(self.vpxd_cfg_path)
  File "/usr/lib/python3.10/xml/etree/ElementTree.py", line 1222, in parse
    tree.parse(source, parser)
  File "/usr/lib/python3.10/xml/etree/ElementTree.py", line 580, in parse
    self._root = parser._parse_whole(source)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 48, column 15
2024-10-24T05:30:36.695Z ERROR vmware_b2b.patching.utils.phase_utils Patch hook Expand got ComponentError.
Traceback (most recent call last):
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/py/vmware_b2b/patching/utils/phase_utils.py", line 143, in executeHook
    executeComponentsHook(hook,
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/py/vmware_b2b/patching/utils/phase_utils.py", line 98, in executeComponentsHook
    executeComponentHook(hook, ctx, c, userData, reportingQueue)
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/py/vmware_b2b/patching/executor/execution_facade.py", line 97, in executeComponentHook
    result = executeHook(c.patchScript, hook, args,
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/py/vmware_b2b/patching/executor/execution_facade.py", line 53, in executeHook
    result = executor.executeHook(scriptFile, hook, args, reportQueue, reportIdentifier)
  File "/storage/seat/software-updatefkq70r2m/stage/scripts/patches/py/vmware_b2b/patching/executor/hook_executor_process.py", line 119, in executeHook
    raise ex
patch_errors.ComponentError
2024-10-24T05:30:37.697Z WARNING root stopping status aggregation...
2024-10-24T05:30:37.698Z ERROR __main__ Pre-patch vCSA failed

 

cd /etc/vmware-vpx

less vpxd.cfg

Copy the details and paste in the notepad++ and then confirm the line that patchrunner.log is throwing an error for and then follow the resolution.

Then you can follow the workaround1 or 2 once the lines are verified as mentioned above and in the resolution section.