This is a know issue where the GPRR
realizationObjectId=null or the segment
lsId='null.
- Checking on the NSX manager in var/log/proton/nsxapi.log you can see the segment being created by following the segment UUID. The UUID of the segment can be obtained by running admin CLI command get logical-switch on an NSX manager or from the error message in the UI.
INFO providerTaskExecutor-71 SegmentProviderNsxT 4306 SWITCHING [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Realized segment /global-infra/realized-state/enforcement-points/default/logical-switches/infra-<uuid>-ls does not exist. Creating it.
- Following this thread you can see the lsId='null' for the segment:
INFO providerTaskExecutor-71 SegmentProviderNsxT 4306 SWITCHING [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Processing realization of segment Segment{type=ROUTED, lsId='null',
...
policyPath=/global-infra/segments/<uuid>, markedForDelete=false]
- This results in the GenericPolicyRealizedResource (GPRR) illustrating realizationObectId=null and realizationStatue=UNREALIZED :
INFO providerTaskExecutor-71 SegmentProviderNsxT 4306 SWITCHING [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Retrieving LS for segment <uuid>. The realized logical switch info is GenericPolicyRealizedResource{path=/global-infra/realized-state/enforcement-points/default/logical-switches/infra-<uuid>-ls, realizationObjectId=null, realizationState=UNREALIZED,
...
-
Instead of creating a new logical switch corresponding to the segment as part of realization, the existing logical switch should be updated and the GPRR's state should become REALIZED. However, as the value of GPRR's realizationObjectId is null, it will attempt to create a new logical switch which fails with "ObjectAlreadyExistsException".