Cloning VM’s from powercli then automatically add to a NSX load balancer.

Started by burnyd, June 09, 2018, 12:00:59 AM

Previous topic - Next topic

burnyd

Cloning VM's from powercli then automatically add to a NSX load balancer.

This environment will be built out from the script.  It is a simple powershell script from powercli.  I am not that great with powercli I was able to learn a lot about powercli this week with some given down time.  It really is not that hard. The script can be found on my github here the script […]

loadbalancer


This environment will be built out from the script.  It is a simple powershell script from powercli.  I am not that great with powercli I was able to learn a lot about powercli this week with some given down time.  It really is not that hard.


The script can be found on my github here the script basically first clones a vm from a template as many times as it is in the range.  After cloning it will then return back the vsphere mob id for the VM’s as NSX load balancer uses either a mob reference or it can use an IP. Im not sure how to power on the VM and then grab the IP?  I guess I could have done that but I really do not have the time and this was just for a small fun project.


After the VM’s are created the NSX portion takes over.  I could not figure out for the life of me how to get powershell to communicate properly with the NSX api.  Thankfully Chris Wahl had a really good blog post on how to do just that followed up with hit github on how to do so.


There are three effective API calls.  The first is to create the application profile.  I put in 443 but that can be changed, the second is to create the back end pool I am also assuming that snat is being used.  The third then creates a virtual IP with that Pool inside of it.  I need to add more to this logic.  Like returning the pool in a string etc… I just ran out of useable time today unfortunately.   But for the most part the script should work within powershell.


Source: Cloning VM's from powercli then automatically add to a NSX load balancer.

Dieselboy

Nice!
Regarding powering on and fetching the IP are there any ansible modules that could do it? You could invoke Linux on windows 10 powershell by starting the command with 'wsl' as long as it's installed. For example 'wsl ansible-playbook...'.