Local manager config onboarding is failing due to the presence of the entity TRACEFLOW_STATUS on the local manager. This entity is not supported for importing to GM. On customer setup, this entity should be deleted before config import to avoid the same failure again. The following error can be seen in the proton/nsxapi.logs:
2024-05-30T10:13:50.325Z INFO LmConfigOnboardingThread LmConfigOnboardingServiceImpl 1781051 POLICY [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Onboarding resource type TRACEFLOW_STATUS
2024-05-30T10:13:50.327Z INFO LmConfigOnboardingThread LmConfigOnboardingServiceImpl 1781051 POLICY [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] MIGRATION_TIMER: Found 1 resources for class class com.vmware.nsx.management.policy.connectivity.model.TraceflowStatus, type TRACEFLOW_STATUS in [2] ms
2024-05-30T10:13:50.327Z WARN LmConfigOnboardingThread LmConfigOnboardingServiceImpl 1781051 POLICY [nsx@6876 comp="nsx-manager" level="WARNING" subcomp="manager"] skipping UNKNOWN features for resource TraceflowStatus{traceflowState= FINISHEDgetRequestStatus= SUCCESSisOverflowed= falsegetCounters= TraceflowObservationCounters{msg=forwarded_count: 1
received_count: 2
delivered_count: 1
, msgOrBuilder=forwarded_count: 1
received_count: 2
delivered_count: 1
, builder=null}getLogicalCounters= TraceflowObservationCounters{msg=forwarded_count: 7
received_count: 8
, msgOrBuilder=forwarded_count: 7
received_count: 8
, builder=null}getAnalysis= []isAnalysisFailed= falseisVlanSegmentPort= falsetraceflowId= <traceflow-uuid>}[policyPath=/infra/traceflow-status/<traceflow-uuid>, markedForDelete=false] of type TRACEFLOW_STATUS from migration
2024-05-30T10:13:50.327Z ERROR LmConfigOnboardingThread LmConfigOnboardingServiceImpl 1781051 POLICY [nsx@6876 comp="nsx-manager" errorCode="PM530001" level="ERROR" subcomp="manager"] Error occurred during entity migration to global namespace. Error: com.vmware.nsx.management.policy.lm.onboarding.exception.LMOnboardingException: feature associated with the resource type TRACEFLOW_STATUS is unknown to the system and hence not supported for onboarding.
com.vmware.nsx.management.policy.lm.onboarding.exception.LMOnboardingException: null
at com.vmware.nsx.management.policy.lm.onboarding.service.LmConfigOnboardingServiceImpl.migrateEntitiesToGlobalNamespace(LmConfigOnboardingServiceImpl.java:454) ~[?:?]
at com.vmware.nsx.management.policy.lm.onboarding.service.LmConfigOnboardingServiceImpl.lambda$startConfigOnboarding$2(LmConfigOnboardingServiceImpl.java:295) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_372]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_372]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_372]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_372]
at com.vmware.nsx.util.concurrent.Executors$MeteredRunnable.run(Executors.java:353) ~[nsx-util.jar:?]
at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_372]
2024-05-30T10:13:50.337Z INFO LmConfigOnboardingThread LmOnboardingUtil 1781051 POLICY [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Config onboarding status updated to LM_FAILED with stage LM_ENTITY_MIGRATION and message Error occurred during entity migration to global namespace. Error: com.vmware.nsx.management.policy.lm.onboarding.exception.LMOnboardingException: feature associated with the resource type TRACEFLOW_STATUS is unknown to the system and hence not supported for onboarding.
Any version before NSX 4.2.1
Traceflow is a site specific feature. It does not make sense to onboard the previous state of the LM system to GM.
The issue is fixed in the following versions:
NSX 4.2.1
In this version, this entity will be added to the skip list for config import to avoid failure.
Workaround:
Users should clean up the traceflow config manually before importing.
Use the following API to retrieve the traceflow UUID:
GET https://<nsx-mgr>/policy/api/v1/infra/traceflows
Use the following API call to clean up the traceflow config:
DELETE https://<nsx-mgr>/policy/api/v1/infra/traceflows/{traceflow-id}
Once there are no traceflow configs, you can then import the local manager to the global manager.