Validation for edge cluster spec failing. please check the table for details, when shrinking an NSX Edge node cluster
VMware Cloud Foundation
There are some scenarios where NSX edge nodes are manually removed from Cluster, without SDDC involvement.
Such cases should be avoided, but in case that occurs we can update the NSX-T edge cluster membership
psql -h localhost -U postgres -d platform -c "select * from nsxt_edge_cluster where name='<edge cluster name>'"
curl localhost/inventory/nsxt-edgeclusters?id=<ID from step #3> | json_pp
Sample output
curl localhost/inventory/nsxt-edgeclusters?id=<ID from tep #> | json_pp
[
{
"clusterIds" : [
"UUI"
],
"edgeClusterNsxtId" : "xxxxxxxxxxxxxxxxxxxxx",
"id" : "aaaaaaaaaaaa",
"isTier0ManagedBySystem" : true,
"name" : "<Cluster_name>",
"nsxtClusterId" : "yyyyyyyyyyyyyyyy",
"nsxtEdgeNodes" : [
{
"edgeNodeNsxtId" : "bbbbbbbbbbbbbbbbb",
"hostName" : "en01.example.com",
"id" : "ccccccccccccccccccccc",
"managementIpAddress" : "xx.xx.xx.xx"
},
{
"edgeNodeNsxtId" : "ddddddddddddddddddddddddd",
"hostName" : "en02.example.com",
"id" : "eeeeeeeeeeeeeeeeeeee",
"managementIpAddress" : "yy.yy.yy.yy"
},
{
"edgeNodeNsxtId" : "ffffffffffffffffffffffffffffffffffffff",
"hostName" : "en03.example.com",
"id" : "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",
"managementIpAddress" : "zz.zz.zz.zz"
}
],
"originType" : "CLASSIC",
"skipTepRoutabilityCheck" : false,
"status" : "ACTIVE"
}
]
[
{
"clusterIds" : [
"UUI"
],
"edgeClusterNsxtId" : "xxxxxxxxxxxxxxxxxxxxx",
"id" : "aaaaaaaaaaaa",
"isTier0ManagedBySystem" : true,
"name" : "<Cluster_name>",
"nsxtClusterId" : "yyyyyyyyyyyyyyyy",
"nsxtEdgeNodes" : [
{
"edgeNodeNsxtId" : "bbbbbbbbbbbbbbbbb",
"hostName" : "en01.example.com",
"id" : "ccccccccccccccccccccc",
"managementIpAddress" : "xx.xx.xx.xx"
},
{
"edgeNodeNsxtId" : "ddddddddddddddddddddddddd",
"hostName" : "en02.example.com",
"id" : "eeeeeeeeeeeeeeeeeeee",
"managementIpAddress" : "yy.yy.yy.yy"
},
{
"edgeNodeNsxtId" : "ffffffffffffffffffffffffffffffffffffff",
"hostName" : "en03.example.com",
"id" : "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",
"managementIpAddress" : "zz.zz.zz.zz"
}
],
"originType" : "CLASSIC",
"skipTepRoutabilityCheck" : false,
"status" : "ACTIVE"
}
]
vi ec.json
{
"clusterIds" : [
"UUI"
],
"edgeClusterNsxtId" : "xxxxxxxxxxxxxxxxxxxxx",
"id" : "aaaaaaaaaaaa",
"isTier0ManagedBySystem" : true,
"name" : "<Cluster_name>",
"nsxtClusterId" : "yyyyyyyyyyyyyyyy",
"nsxtEdgeNodes" : [
{
"edgeNodeNsxtId" : "bbbbbbbbbbbbbbbbb",
"hostName" : "en01.example.com",
"id" : "ccccccccccccccccccccc",
"managementIpAddress" : "xx.xx.xx.xx"
},
{
"edgeNodeNsxtId" : "ddddddddddddddddddddddddd",
"hostName" : "en02.example.com",
"id" : "eeeeeeeeeeeeeeeeeeee",
"managementIpAddress" : "yy.yy.yy.yy"
}
],
"originType" : "CLASSIC",
"skipTepRoutabilityCheck" : false,
"status" : "ACTIVE"
}
curl localhost/inventory/nsxt-edgeclusters/<nsxt edge cluster id from step #3 > -X PUT -H 'Content-Type: application/json' -d @ec.json | json_pp
curl localhost/inventory/nsxt-edgeclusters?id=<ID from step #3> | json_pp