NSX Intelligence 'Collection Status' shown as "Unknown" post upgrade from 3.2.1 to 4.0.1 or 3.2.1 to 3.2.2.1.
search cancel

NSX Intelligence 'Collection Status' shown as "Unknown" post upgrade from 3.2.1 to 4.0.1 or 3.2.1 to 3.2.2.1.

book

Article ID: 336801

calendar_today

Updated On:

Products

VMware vDefend Firewall

Issue/Introduction

Symptoms:

  • After upgrade from NSX Intelligence 3.2.1 to 4.0.1, or upgrade from 3.2.1 to 3.2.2.1, the cluster activation GUI under System -> NSX Intelligence -> Data Collection showed the Collection Status for each cluster as "Unknown", and all clusters were greyed out and unable to be edited.
  • API call to GET https://<NSX_Manager>/policy/api/v1/infra/sites/default/intelligence/clusters?cluster_type=HOST_CLUSTER returns a list of clusters.  The clusters with a status of "Unknown" will return with "owner_nsx": "NONE".
Example: 
{
    "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
        }



Environment

VMware NSX-T Data Center
VMware NSX-T Data Center 3.x

Cause

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

  1. SELF:  current nsx is the owner
  2. MULTIPLE: multiple nsx managers are owners
  3. NONE: multi-nsx feature is disabled. 
  4. OTHER: current nsx is not the owner

Resolution

This issue is resolved on NSX 4.0.1 onwards.

Workaround:

  • First Workaround:
    1. Upgrade NSX-T version to 4.1.0.2 - after the upgrade is complete you will see 2 copies of each cluster - one which is greyed out and one which appears normally.
    2. To remove the clusters which are greyed out, run the API calls documented here -  Known Issues
  • Second 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"
        }
    ]
}