NSX-T 3.2 and NSX ALB (Avi) Deployment Error — “Controller is not reachable. {0}”

NSX-T 3.2 has been released, and has a ton of spiffy features. The NSX ALB integration is particularly neat, but while repeatedly (repeatably) breaking the integration to learn more about it, I ran into this error:

When deploying NSX ALB appliances from the NSX Manager, it’s very important to keep the NSX ALB Controller appliances where NSX Manager can see them. In addition, the appliances must exist on the same Layer 2 Segment.

This post is not about the integration, however.

The following error:

NSX Advanced Load Balancer Controller is not reachable {0}

Indicates that NSX-T has orphaned appliances. NSX-T has API invocations for cleaning this up, but not GUI integrations. This is similar to other objects, and is because programmatic checking should be used to allow this work to be reliable.

To fix this, we must perform the following steps:

  • Get the list of NSX ALB appliances, if there isn’t any, exit
  • Iterate through the list of appliances, prompting the user to delete
  • After deleting, check to make sure that it was deleted

The first step for any API invocations should be consulting the documentation. The NSX ALB Appliance management section is After researching the procedure, I found the following endpoints:

Performing this procedure with programmatic interfaces is a good example of when to use APIs — the task is well defined, the results are easy to test, and work to prevent user mistakes is rewarding.

TL;DR — I wrote the code here, integrating it with the REST client: https://github.com/ngschmidt/python-restify/blob/main/nsx-t/nsxalb_deployment_cleanup.py

Originally published at https://blog.engyak.co.




I am a network engineer based out of Alaska, pursuing various methods of achieving SRE/NRE

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Software Testing

Don’t Create Maps of Optional — But Watch Out For Nulls!

Difference between Struct and Classes explained in Swift

Wonders of the Wayback Machine

Rookie R mistakes

Internet of Things — Kick-start for all IoT developers

The Mav API is now available ⚒

AWS CDK — a glimpse into the future.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Nick Schmidt

Nick Schmidt

I am a network engineer based out of Alaska, pursuing various methods of achieving SRE/NRE

More from Medium

Encrypting passwords (via Node and Bcrypt)

Recover Ethereum private key from kestore file in PHP

Recover pirvate key from keystore

Get Geolocation from IP Address Using PHP

Get Geolocation from IP Address Using PHP

VMware NSX-T and Ansible