vCenter Server patching/upgrade to 7.0U2b fails at 94% with error "Invalid Type,expected String, instead got NoneType"
search cancel

vCenter Server patching/upgrade to 7.0U2b fails at 94% with error "Invalid Type,expected String, instead got NoneType"

book

Article ID: 316466

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Symptoms:

  • vCenter Server upgrade/patching fails at 94% with error message:

Invalid Type, expected String, instead got NoneType,
Converting data as part of postinstall process 94%
.

  • /var/log/vmware/applmgmt/Patchrunner.log

YYYY-MM-DD hh:mm:ss,920.920Z vmdir:Patch ERROR vmdir password:
YYYY-MM-DD hh:mm:ss,920.920Z vmdir:Patch ERROR vmdir Failed to update DSE ROOT PSC version to 7.0.2, error (53)
Vdcupgrade failed. Error[53] - Server is unwilling to perform
YYYY-MM-DD hh:mm:ss,920.920Z vmdir:Patch ERROR vmware_b2b.patching.executor.hook_executor Patch hook 'vmdir:Patch' failed.
Traceback (most recent call last):
 File "/storage/core/software-packages/scripts/patches/py/vmware_b2b/patching/executor/hook_executor.py", line 74, in executeHook
  executionResult = systemExtension(args)
File "/storage/core/software-packages/scripts/patches/libs/sdk/extensions.py", line 106, in __call__
result = self.extension(*args)
File "/storage/core/software-packages/scripts/patches/payload/components-script/vmdir/__init__.py", line 216, in update_vmdir raise InternalError("Vmware Directory Service patch failed" )
patch_errors.InternalError: Vmware Directory Service patch failed
YYYY-MM-DD hh:mm:ss.940Z ERROR vmware_b2b.patching.phases.patcher Patch hook Patch got ComponentWrapperError.

  • /var/log/vmware/vmdird/vmdird-syslog.log 

YYYY-MM-DD hh:mm:ss.833277+00:00 info vmdird t@139987521619712: Init Sid cache (dc=vsphere,dc=local) RID (697421)
YYYY-MM-DD hh:mm:ss.918607+00:00 info vmdird t@139987521619712: MOD 1,rep,vmwPlatformServicesControllerVersion: (7.0.2)
YYYY-MM-DD hh:mm:ss.919085+00:00 err vmdird t@139987521619712: VmDirMDBGetNextUSN: failed with error (13),(Permission denied)
YYYY-MM-DD hh:mm:ss.919167+00:00 err vmdird t@139987521619712: InternalModifyEntry: VdirExecutePostModifyCommitPlugins - code(9114)
YYYY-MM-DD hh:mm:ss.919215+00:00 err vmdird t@139987521619712: VmDirSendLdapResult: Request (Modify), Error (LDAP_UNWILLING_TO_PERFORM(53)), Message (Get next USN), (0) socket (127.0.0.1)
YYYY-MM-DD hh:mm:ss.214075+00:00 info vmdird t@139987655804672: Backend state set to NORMAL
YYYY-MM-DD hh:mm:ss.557972+00:00 info vmdird t@139987655804672: _VmDirCpMdbFile: completed making snapshot with file size 3525Mb in 9 seconds; data transfer rate: 391.6MB/sec, db last tid: 4903651

 

Environment

VMware vCenter Server 7.0.x

Resolution

To fix this issue, please follow the below steps:

  1. Take offline snapshot of vCenter Server (vCenter Server virtual machine powered off)
  2. Set the CopyDbIntervalInSec to 0
  • Connect to the VCSA command line using the root user via SSH connection.
  • Run the below command

# /opt/likewise/bin/lwregshell set_value '[HKEY_THIS_MACHINE\Services\vmdir\Parameters]' "CopyDbIntervalInSec" "0"

  1. Restart the vmdird service through the below command:

# service-control --restart vmdird

  1. Perform the patching/upgrade.
  2. Once the VCSA is up, set the CopyDbIntervalInSec registry value back to 60 sec using this command

# /opt/likewise/bin/lwregshell set_value '[HKEY_THIS_MACHINE\Services\vmdir\Parameters]' "CopyDbIntervalInSec" "60"

  1. Restart the vmdird service through the below command:

# service-control --restart vmdird