Showing posts from May, 2020

Powershell: Changing NSX-T Segment Profiles enmasse.

Note to self, cut back on the reddit.  It's a time suck and VMware questions are popping up that I have time to answer w/o the shadow of a retired LucD bot lurking.  Anyway, someone asked if you could update segment profiles, so I got curious and followed the rabbit.

Here is the example I came up with.  It's straight powershell core, so no special modules needed, not even vmware.powercli.  GASP!

Powershell: Clearing a bad route advertisement rule from NSX-T logical router/gateway created via policy API.

Basically ran into a weird issue where a T1 was not advertising a very specific subnet when configured on segment.  Come to find out when looking at the advanced networking section of that T1, there was a route advertisement rule that denied that subnet from being advertised up.  Since the T1 was created via the policy API, you cannot simply delete it via UI.

Have no idea how that route advertisement rule even got there, but something tells me a bug exists.  Unfortunately have no idea how to reproduce it.[Update: I have a hypothesis on how it got there now.  When you instantiate a DHCP server via the policy engine, whatever network you place on and attach to a T1 shows up here.  This is likely why the network was here.  What seems to have happened is that deletion of the DHCP server did not happen cleanly and left that artifact there.]

Long story short, you have to call the API to do so.  Here is a powershell snippet to be able to do so.

PowerCLI: New-HCXMobilityGroup - A parameter cannot be found that matches parameter name 'source'

Running the above cmdlet and passing what is apparently the only required parameter of name, results in the above obscure error. It refers to a parameter that doesn't appear to exist for the cmdlet.  There is also the -migration parameter that looks for a <HCXMobilityGroupMigration[]> object array that no other HCX cmdlet provides.

Long story short, informed VMware, they are going to fix the cmdlets and their documentation.  In the meantime, here are some examples that VMware's GSS shared to be able to use the New-HCXMobilityGroup cmdlet.

Here is the code: