One of our customers migrated from a version of k8s where CSI migration was not enabled to a version where CSI migration is enabled. Now bunch of those PVs are unusable with new version of k8s.
When I dug further, what I found is - syncer receives vim.fault.NotFound error for volume we are trying to register with CNS. So full error in syncer looks like:
", fault: "(*types.LocalizedMethodFault)(0xc00252d500)({
DynamicData: (types.DynamicData) {
},
Fault: (*types.NotFound)(0xc00252d520)({
VimFault: (types.VimFault) {
MethodFault: (types.MethodFault) {
FaultCause: (*types.LocalizedMethodFault)(<nil>),
FaultMessage: ([]types.LocalizableMessage) <nil>
}
}
}),
LocalizedMessage: (string) (len=50) \"The object or item referred to could not be found.\"
So although - vsan service thinks volume is already registered, later on volume is not found in its cache and hence vim.Fault.NotFound is returned to the client.
47635 │ 2024-10-17T08:56:56.197Z error vsanvcmgmtd[16073] [vSAN@6876 sub=FcdService opID=91718591] Failed to find vol e241bc4f-b78b-4cd5-997f-3424eb561ef1 from volumeInfoCache
One of our customers migrated from a version of k8s where CSI migration was not enabled to a version where CSI migration is enabled. Now bunch of those PVs are unusable with new version of k8s.
When I dug further, what I found is - syncer receives
vim.fault.NotFound
error for volume we are trying to register with CNS. So full error in syncer looks like:But - when I open vsan logs in vCenter, I see:
So although - vsan service thinks volume is already registered, later on volume is not found in its cache and hence
vim.Fault.NotFound
is returned to the client.This looks like similar to case we observed earlier - https://knowledge.broadcom.com/external/article?legacyId=91752
Is there a workaround we can use?