Symptoms:
{
"clusters": [
{
"cluster_id": "33e49e17-372d-4c11-a2f7-788dd9267ede:domain-c9959",
"cluster_type": "HOST_CLUSTER",
"compute_manager": {
"display_name": "<vcenter_Name>",
"id": "33e49e17-###-###-###",
"server": "<vcenter_FQDN>
},
"enabled": true,
"member_list": [
"b752a645-###-###-###-###",
"e67d17c6-###-###-###-###",
"29bc7d81-###-###-###-###",
"c19e64e1-###-###-###-###",
"6cac9e68-###-###-###-###"
],
"owner_nsx": "NONE",<------------------------------------------ this field.
"resource_type": "IntelligenceClusterConfig",
"id": "33e49e17-xxx-xxx-xxx-xxxe:domain-c9959",
"display_name": "<Cluster_Name>",
"path": "/infra/sites/e4924c2c-###-###-###-###/intelligence/cluster-configs/33e49e17-###-###-###-###:domain-c9959",
"relative_path": "33e49e17-###-###-###-###:domain-c9959",
"parent_path": "/infra/sites/e4924c2c-###-###-###-###",
"remote_path": "",
"unique_id": "06828fec-###-###-###-###",
"realization_id": "06828fec-###-###-###-###",
"owner_id": "e4924c2c-###-###-###-###",
"origin_site_id": "e4924c2c-###-###-###-###",
"marked_for_delete": false,
"overridden": false,
"_create_time": 1684447406407,
"_create_user": "system",
"_last_modified_time": 1684958305964,
"_last_modified_user": "system",
"_system_owned": false,
"_protection": "NOT_PROTECTED",
"_revision": 1
}
The owner_nsx field is used to establish if a vSphere Cluster is owned by the current NSX Manager in a Multi-NSX enabled setup. The NSX Intelligence Data Collection UI only allows you to modify clusters for the NSX Manager currently being accessed by requiring "owner_nsx" to be set to "SELF". However, if the Multi-NSX feature has not been enabled, cluster membership will default to "NONE". The bug here is that UI should only lock cluster if the ownership is set to OTHER. With all other values, it should be unlocked.
This issue is resolved on NSX 4.0.1 onwards.
Workaround:
Fetch the NSX Application Platform (NAPP) registration results using the following API request.GET https://<nsx-manager>/policy/api/v1/infra/sites/napp/registration
Set the the NSX Intelligence enablement to false using the following API request and the cluster_id info from the registration API request results (step 1). Make sure to have "is_intelligence_enabled": false" in the PATCH API request payload.PATCH https://<nsx-manager>/policy/api/v1/infra/sites/napp/registration/<cluster_id>
{
"cluster_id" : "<cluster_id>",
"is_intelligence_enabled" : false
}
Set the NSX Intelligence enablement back to true using the same API. Make sure to have "is_intelligence_enabled": true" in the PATCH API request payload.PATCH https://<nsx-manager>///policy/api/v1/infra/sites/napp/registration/<cluster_id>
{
"cluster_id" : "<cluster_id>",
"is_intelligence_enabled" : true
}
Note : 2nd step will clear all the config and 3rd step will re-create all the config.
Use the following GET API call to retrieve the entire cluster list:
GET https://<mgr-ip>/policy/api/v1/infra/sites/default/intelligence/clusters?cluster_type=HOST_CLUSTER
Use the cluster details obtained from the API call above, add that as the body to the below PATCH API call, for each cluster.
PATCH https://<mgr-ip>/policy/api/v1/infra/sites/default/intelligence/clusters
{
"clusters": [
{
"cluster_id": "bc43f52b-xxx-xxx-xxx-xxx:domain-c9",
"cluster_type": "HOST_CLUSTER",
"enabled": false,
"resource_type": "IntelligenceClusterConfig",
"nsx_ownwer": "SELF",<-------------------------------------- field to set.
"id": "bc43f52b-###-###-###-###:domain-c9",
"display_name": "Cluster-1",
"path": "/infra/sites/93982fd9-###-###-###-###/intelligence/cluster-configs/bc43f52b-###-###-###-###:domain-c9"
}
]
}