vCenter update from 7.0U3p to 7.0U3s fails with the error "Invalid Type, Expected String, Instead got None Type"
search cancel

vCenter update from 7.0U3p to 7.0U3s fails with the error "Invalid Type, Expected String, Instead got None Type"

book

Article ID: 378081

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Symptoms:

  • You will see the below in VAMI page during the patching  
     

     

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



    YYYY-MM-DDTHH:MM:SS.431Z vmidentity:Contract INFO vmidentity Registering Active Directory Service with Lookup Service.
    YYYY-MM-DDTHH:MM:SS.936Z vmidentity:Contract ERROR vmidentity Failed to register Active Directory Service with Lookup Service.
    YYYY-MM-DDTHH:MM:SS.936Z vmidentity:Contract INFO vmidentity Failed to register Active Directory Service with Lookup Service.
    YYYY-MM-DDTHH:MM:SS.947Z vmidentity:Contract ERROR vmware_b2b.patching.executor.hook_executor Patch hook 'vmidentity:Contract' failed.
    Traceback (most recent call last):
      File "/storage/seat/software-updatero4nt5o0/stage/scripts/patches/py/vmware_b2b/patching/executor/hook_executor.py", line 74, in executeHook
        executionResult = systemExtension(args)
      File "/storage/seat/software-updatero4nt5o0/stage/scripts/patches/libs/sdk/extensions.py", line 106, in __call__
        result = self.extension(*args)
      File "/storage/seat/software-updatero4nt5o0/stage/scripts/patches/libs/sdk/extensions.py", line 123, in _func
        return func(*args)
      File "/storage/seat/software-updatero4nt5o0/stage/scripts/patches/payload/components-script/vmidentity/__init__.py", line 287, in contract
        raise e
      File "/storage/seat/software-updatero4nt5o0/stage/scripts/patches/payload/components-script/vmidentity/__init__.py", line 283, in contract
        registerActiveDirectoryServiceWithLookupService()
      File "/storage/seat/software-updatero4nt5o0/stage/scripts/patches/payload/components-script/vmidentity/__init__.py", line 234, in registerActiveDirectoryServiceWithLookupService
        raise e
      File "/storage/seat/software-updatero4nt5o0/stage/scripts/patches/payload/components-script/vmidentity/__init__.py", line 231, in registerActiveDirectoryServiceWithLookupService
        dynVars=dynVars)
      File "/usr/lib/vmware-cm/bin/cloudvmcisreg.py", line 714, in cloudvm_sso_cm_register
        serviceId = do_lsauthz_operation(cisreg_opts_dict)
      File "/usr/lib/vmware/site-packages/cis/cisreglib.py", line 1185, in do_lsauthz_operation
        ls_obj.reregister_service(svc_id, svc_set_spec)
      File "/usr/lib/vmware/site-packages/cis/cisreglib.py", line 348, in add_securityctx_to_requests
        return req_method(self, *args, **kargs)
      File "/usr/lib/vmware/site-packages/cis/cisreglib.py", line 364, in reregister_service
        self.service_content.serviceRegistration.Set(svc_id, svc_set_spec)
      File "/usr/lib/vmware/site-packages/pyVmomi/VmomiSupport.py", line 595, in <lambda>
        self.f(*(self.args + (obj,) + args), **kwargs)
      File "/usr/lib/vmware/site-packages/pyVmomi/VmomiSupport.py", line 385, in _InvokeMethod
        return self._stub.InvokeMethod(self, info, args)
      File "/usr/lib/vmware/site-packages/pyVmomi/SoapAdapter.py", line 1570, in InvokeMethod
        raise obj  # pylint: disable-msg=E0702
    pyVmomi.VmomiSupport.lookup.fault.EntryNotFoundFault: (lookup.fault.EntryNotFoundFault) {
       dynamicType = <unset>,
       dynamicProperty = (vmodl.DynamicProperty) [],
       msg = '',
       faultCause = <unset>,
       faultMessage = (vmodl.LocalizableMessage) [],
       errorMessage = 'Entry with name serviceId: ########-####-####-####-############ not found.',
       name = 'serviceId: ########-####-####-####-############'
    }
    YYYY-MM-DDTHH:MM:SS.964Z ERROR vmware_b2b.patching.phases.patcher Patch hook Patch got ComponentWrapperError.
    Traceback (most recent call last):
 

Environment

VMware vCenter Server 7.0.x

Cause

Missing serviceId for one of the service registrations. (Active directory in our case)

Resolution

To fix this issue, we need to use the lsdoctor tool available at the KB below:

Using the 'lsdoctor' Tool

Once we have the tool installed on the vCenter we will run it with the "rebuild" option to rebuild the missing service registration. 

Important: Before doing changes  please make sure to take snapshots of the vCenter Server (Powered off snapshots if Vcenters are in Linked mode)

1. python lsdoctor.py -r

2. Select option 3 to to replace the individual service

3. Select the specific service registration which is missing (Active directory in this case so we would choose 13)

4. Once done, exit the tool and retry the update.