YYYY-MM-DDTHH:MM:SS.###Z wcp:Patch INFO roles_groups_users Checking if privileges should be updated for role {'id': '1026', 'name': 'PodVmLifeCycleManager', 'description': 'This role entitles the permission required by PodVM LCM controller to be granted in the datacenter.', 'priv_ids': ['Network.Assign', 'Resource.AssignVMToPool', 'System.Read', 'System.Anonymous', 'System.View', 'VirtualMachine.Config.AddExistingDisk', 'VirtualMachine.Config.AddNewDisk', 'VirtualMachine.Config.AddRemoveDevice', 'VirtualMachine.Config.RemoveDisk', 'VirtualMachine.Config.Settings', 'VirtualMachine.Inventory.Create', 'VirtualMachine.Inventory.Delete', 'Datastore.AllocateSpace', 'Datastore.FileManagement', 'StorageProfile.View', 'EAM.Modify', 'Cns.Searchable', 'Resource.ColdMigrate', 'Host.Config.Storage']}YYYY-MM-DDTHH:MM:SS.###Z wcp:Patch ERROR wcp Failed to apply patch %s! Error: %s.YYYY-MM-DDTHH:MM:SS.###Z wcp:Patch ERROR wcp Not all patches were applied. Latest applied patch is 1YYYY-MM-DDTHH:MM:SS.###Z wcp:Patch ERROR vmware_b2b.patching.executor.hook_executor Patch hook 'wcp:Patch' failed.Traceback (most recent call last): File "/storage/seat/software-update5vpph267/stage/scripts/patches/py/vmware_b2b/patching/executor/hook_executor.py", line 74, in executeHook executionResult = systemExtension(args) File "/storage/seat/software-update5vpph267/stage/scripts/patches/libs/sdk/extensions.py", line 106, in __call__ result = self.extension(*args) File "/storage/seat/software-update5vpph267/stage/scripts/patches/libs/sdk/extensions.py", line 123, in _func return func(*args) File "/storage/seat/software-update5vpph267/stage/scripts/patches/payload/components-script/wcp/__init__.py", line 225, in doPatching doIncrementalPatching(current_version) File "/storage/seat/software-update5vpph267/stage/scripts/patches/payload/components-script/wcp/__init__.py", line 343, in doIncrementalPatching raise user_errorpatch_errors.UserError: Failed to apply patch roles_groups_users! Error: Role PodVmLifeCycleManager (id: 1026) not found in VC..
ldapsearch -o ldif-wrap=no -LLL -h localhost -b "cn=RoleModel,cn=VmwAuthz,cn=Services,dc=vsphere,dc=local" -s sub -D "cn=Administrator,cn=Users,dc=vsphere,dc=local" -W > /tmp/roles.ldif && grep "PodVmLifeCycleManager" /tmp/roles.ldifThe upgrade installer uses this property to identify the roles to use them when re-registering the services during the upgrade, and will fail when it cannot find a specific role.
Step 1 : Extract the Role from a Working VCSA
Connect via ssh (as root) to a working VCSA.
Export the missing role's data to a new file by specifying the exact Role ID identified in logs (using 1026 as the example):
ldapsearch -o ldif-wrap=no -LLL -h localhost -b "cn=1026,cn=RoleModel,cn=VmwAuthz,cn=Services,dc=vsphere,dc=local" -s sub -D "cn=Administrator,cn=Users,dc=vsphere,dc=local" -W >/tmp/working_1026.ldif Step 2 : Import the role to the affected VCSA
nTSecurityDescriptor. Delete that line and replace it with changetype: adddn: cn=1026,cn=RoleModel,cn=VmwAuthz,cn=services,dc=vsphere,dc=localchangetype: addobjectClass: topobjectClass: vmwAuthzRolecn: 1026vmwAuthzRolePrivilegeId: System.AnonymousvmwAuthzRolePrivilegeId: System.ReadvmwAuthzRolePrivilegeId: System.ViewvmwAuthzRolePrivilegeId: VirtualMachine.Config.AddRemoveDevicevmwAuthzRolePrivilegeId: VirtualMachine.Config.RemoveDiskvmwAuthzRolePrivilegeId: EAM.ModifyvmwAuthzRolePrivilegeId: Host.Config.StoragevmwAuthzRolePrivilegeId: VirtualMachine.Inventory.DeletevmwAuthzRolePrivilegeId: StorageProfile.ViewvmwAuthzRolePrivilegeId: VirtualMachine.Config.AddExistingDiskvmwAuthzRolePrivilegeId: VirtualMachine.Config.SettingsvmwAuthzRolePrivilegeId: VirtualMachine.Inventory.CreatevmwAuthzRolePrivilegeId: VirtualMachine.Config.AddNewDiskvmwAuthzRolePrivilegeId: Resource.ColdMigratevmwAuthzRolePrivilegeId: Cns.SearchablevmwAuthzRolePrivilegeId: Datastore.FileManagementvmwAuthzRolePrivilegeId: Datastore.AllocateSpacevmwAuthzRolePrivilegeId: Network.AssignvmwAuthzRolePrivilegeId: InventoryService.Tagging.ObjectAttachablevmwAuthzRolePrivilegeId: Resource.AssignVMToPoolvmwAuthzRoleVersion: 2vmwAuthzRoleName: PodVmLifeCycleManagervmwAuthzRoleDescription: This role entitles the permission required by PodVM LCM controller to be granted in the datacenter./opt/likewise/bin/ldapmodify -f /tmp/1026.ldif -h localhost -D "cn=Administrator,cn=Users,dc=vsphere,dc=local" -W