A quick update on our VMworld sessions, unfortunately all the three sessions Timo and I submitted were rejected, so unfortunately we will be not presenting on Vagrant and Packer in a breakout session, BUT!…

One of the panels I was part of has been accepted so I will be at VMworld on the Global Center of Excellence panel where we will discuss how we go from Marketecture to real world SDDC implementations, session is already in the catalog so make sure you add #INF1552 (SDDC: Buzzword to Reality. Discussions with SDDC Architects that Goes Well Beyond Markitecture) to your schedule!

As for Vagrant… I do really want to present the stuff we’ve been working on so I will work with the #vBrownBag guys to do some TechTalks at VMworld, hopefully I will be able to present all three sessions.

So make sure you convince your boss in sending you at VMworld and look for me on the showfloor or in the hang space, I have these:

Go SDDC stickers

that are up for grabs! :)

I’m back! these weeks I’m traveling through Asia delivering training and I’ve spent the last week in Beijing with very limited access to the internet (the Great Firewall of China is still going strong apparently) so I focused in merging PRs and adding code to our Vagrant plugins, and this resulted in three different releases, here’s what is still hot from the oven:

And we also have a new page up at Vagrant Cloud with all our available boxes (Ubuntu-based for now, CentOS and others are coming), all these boxes are available for both vagrant-vcloud and vagrant-vcenter and you can use them with the latest version of the plugins.

I’m currently working on finishing a new version of our Packer Templates, I’m working on some Windows Packer templates that will be part of the Next Gen VMware automated lab effort I’m leading.

That’s all for now, I will have a long trip back from Tokyo later this week where I plan to add some documentation on the wiki for both providers, and start working on a vmware-ova builder for packer, so stay tuned for more rock'n'roll! :).

P.S.

I have a penchant for naming software releases with song names, the more niche the software is, the more obscure the reference, but every software is associated with a band, so shouldn’t be too hard to figure them out with some google-fu ;-).

As part of an internal effort to automate our Pod development process (we develop pretty large Pods that are consumed during the trainings we deliver) we started exploring some options to automate the pod build and get a consistent use case configuration. We also want to test the pod against the lab manual we give to the students, in order to avoid to fix stuff as we go :).

To achieve this, I started exploring the idea of using Vagrant and Packer to automate the process, this is something I haven’t tried before and it’s likely I will encounter some major annoyances during the journey so I thought it would be good to document every success (or failure) with a blog post.

First thing I started working on is having an ESXi 5.5 box that works with Vagrant, and possibly to build that from the official ISO using Packer, it took me a couple of nights but I managed to create a working Packer template that builds and configure an ESXi 5.5 VM from scratch, I already uploaded the template and the associated files to our packer-templates repository.

Obviously you need to supply the ESXi ISO (as there’s no way to download it directly from VMware website), this should be fairly straightforward, just change the "iso_url" and "iso_checksum" accordingly.

Also, to build this specific box with Packer, I rely on a DHCP “trick”. What happens is that Packer monitors the DHCP lease table of Fusion (or Workstation) to match the MAC in the VMX file and gather the IP address of the VM it’s building, this, of course, will not work with ESXi as the MAC address is the one associated with the pNIC, and not with the VMkernel port.

To kind of “overcome” this, and maintain DHCP all across the board, I start a single build of ESXi, during the install the initial process will fetch an IP from the DHCP pool and Packer will immediately start to SSH against this IP to no avail (as the install process is still ongoing), after the install is done and after a reboot, the vmk0 interface will most likely get the same IP it had during the install (assuming no other DHCP events occur), this will keep Packer continue the build and conclude it succesfully.

I know it’s not a real solution, but it currently works for me (it’s the typical “it works on my machine” disclaimer) and until we get a better way to deal with DHCP in Packer I guess I’m stuck with it :).

This is a Vagrantfile that suits the ESXi box, it has minor tweaks as it requires to use root instead of vagrant as the ssh user and a different shell (bash is not available on ESXi).

It’s worth repeating that as almost everything on this website, this is absolutely NOT SUPPORTED by VMware.