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:
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"
}
]
}