VMworld Europe 2013 vRockstar Party, Partner Day, and PernixData Party

After a quick flight over from the rainy UK, I arrived in Barcelona along with fellow Xtravirt colleagues traveling from Gatwick airport, Darren Woollard and Michael Poore.

With very little time before the Sunday night vRockstar party commenced, we reformed and took a taxi down to central Barcelona to meet up with others at the Hard Rock cafe. It was great to meet some new faces (if you exclude Twitter profiles) for me – Fred Hofer, Lars Troen, Damian Davis, Patrick Redknap, Juan, et al as well as catching up with old – Jonathan Medd, and others.

Drinks and snacks were provided free, and the team that put everything together for the community did a really good job of keeping things running smoothly. Many thanks go out to them, as well as all the sponsors! Here are a few snaps I took at the event.

vRockstar Party #1

vRockstar Party #3 Prize draw

vRockstar Party #4

Early Monday morning meant Partner day had soon arrived, so after catching a taxi down to the conference center, registration was soon complete.

VMworld Europe 2013 entrance

Walkways were fairly empty at this stage, which was great for mobility and exploring the venue layout.

Darren Woollard and Curtis Brown, fellow Xtravirt colleagues walk the travellator
Darren Woollard and Curtis Brown, fellow Xtravirt colleagues walk the travellator

I took the time to complete a few Hands on Lab sessions – targeting down Puppet Labs, VMware vCO and vCAC, as I really do enjoy my automation topics. The hands on labs were predictably fairly quiet on partner day, so this was a good time to get them done. The sign up process was smooth and the staff handled things well – guiding people in to the BYOD or traditional HOL sections and getting everyone setup. Soon the VM counter had risen from around 7, to 1000 virtual machines deployed.

Hands on Labs, VMworld 2013

HOL - Cloud topics

An interesting wall mural/interactive VMware Timeline seen – I can place myself as really starting off with learning VMware technologies around 2007-2008 when VI3 was the “in thing” 🙂

VMware timeline
VMware timeline

The day ended after speaking with/meeting some new faces at the Bloggers lounge and us heading off to the PernixData party at the El Boo beach club in Barcelona. Many thanks to the guys at PernixData for putting this event together. The atmosphere and location were awesome, and so was the selection of food and drinks.

VMworld Europe 2013

Finally, I have the chance to attend the much anticipated VMworld Europe conference. I’ll be attending along with a few work colleagues and have pre-booked all my sessions using the VMworld.com schedule planner.

It looks to be a very busy week up ahead for me with conference sessions, hands on labs, and solutions exchange events booked one after the other, followed by various parties and events every evening.

A few of the sessions I am really looking forward to are: surprise surprise, the PowerCLI sessions, Puppet labs, and VMware vSphere web client SDK related sessions. All relevant to my interests in automation and programming 🙂

With regard to evenings events, I will be going to the vRockstar Pre-VMworld party/gathering on Sunday. I’ll also definitely be attending the vExpert/VCDX reception on Tuesday evening (15th October). Both should be great opportunities to meet others in the community and have a catch up with those whom I have met at previous VMUGs and events in the past. Other than those two, I’ll probably tag along with others to the EMC party and from there see what else is on the cards.

I plan on doing one or two blog posts based on what I get up to or see at the conference, time permitting, so watch this space for more on VMworld Europe 2013!

Issues with authentication when running vSphere 5.5 with AD and SSO server on Windows Server 2012

This week I spent a considerable amount of time trying to first of all upgrade a vSphere 5.1 environment to 5.5, and then trying to build a new 5.5 environment up from scratch.

In both cases, the core environment was configured as follows:

 

  • Windows Server 2012 AD
  • Windows Server 2012 vCenter Server 5.5 + SSO
  • Windows Server 2012 with SQL Server 2012 for vCenter database

 

The upgrade process went fairly smoothly as expected. However, every time I tried to login to vCenter as a domain user via the vSphere Web Client, I would receive a message stating “cannot parse group information“. I did not find too much in terms of helpful messages in any logs, and the SSO log file that existed with vCenter 5.1 under the C:\ProgramData\VMware…\… folder does not seem to exist anymore (who knows where this went!)

However, after much struggling, I finally got the authentication working for users. Here is my authentication source configuration:

ad-ldap-source

The critical bit I found needed to actually login to the vSphere web client or the vSphere client (C# windows app) was that the format for usernames needed to be:

username@domainname.lan

 

For example:

vsphere-client-55-login-example

 

Any other format for the username that you would expect to work (like mydomain\username) would just fail, and in the web client you would see the error “cannot parse group information”.

 

This morning I saw that VMware had announced an issue specifically with this kind of configuration (AD on 2012 with SSO on 2012 server), and have posted a workaround. I have not yet tested their official workaround and patch yet, but found that the above worked for me. All my logins needed to be in the above format though – PowerCLI, VMware 3rd party apps, vSphere client etc…

Fun tweets relating to the experience:

Looks like the beta testing of vSphere 5.5 failed to pick up on this scenario then.

Ebook – VMware Workstation – No Experience Necessary

A little while back I got involved with Packt Publishing to help with the publishing of a book called “VMware Workstation – No Experience Necessary”. I was helping in the capacity of a technical reviewer – this meant reading and reviewing each chapter and suggested changes or improvements where necessary whilst the book was in development.

The book has now been published, and you can grab yourself a copy / support the author (Sander van Vugt) over at the Packt website: Link to ebook. This is a great book if you are new to VMware Workstation, and being fairly short (around 100 pages), it reads well and is to the point. It contains information on every aspect of setting up Virtual Machines, their configuration, networking and other tasks such as snapshots and remote management using Workstation so it really does a great job of getting the beginner up to speed.

 

vmware_workstation_ebook_cover

It is also available on Amazon in Paperback and Kindle editions

Regarding the actual work involved, I was purely interested in the review process and thought it would be an interesting project to help with – none of the book sale proceeds come my way.

VM provisioning from e-mail using Python and the VMware Perl SDK

This is a bit of a fun project that I did as a part of my presentation of the vPi project. It doesn’t necessarily achieve anything useful (at least not on the surface), but it does demonstrate some techniques that could be put to far greater use.

 

vpi-provision-script

 

In summary, this integration turns e-mails from people into Virtual Machines on a vSphere environment. It consists of the following components:

  • Raspberry Pi running the vPi image
  • Python script
  • VMware Perl script (vmcreate.pl) + a bit of XML used for the VM template.
  • VMware Perl script (vmcontrol.pl)

The way it works, is a Gmail mailbox is setup to capture e-mails sent to a specific e-mail address. The Raspberry Pi runs a Python script that logs into Gmail, and looks for any new e-mail that has arrived. If an e-mail is found, it takes the FROM address and splits it up into components, determining the sender’s first and last names.

The script then opens up the XML template file that the vmcreate.pl script uses as a basis to creating VMs, and searches it for a bit of bespoke text we placed there called “TEMPLATE_NAME”. Once found, it strips this out and replaces the TEMPLATE_NAME with the sender’s name.

We then move onto the next procedure, which involves invoking the vmcreate.pl script from the Python script, passing it in the parameters required (such as the server to connect to, credentials, and the all important XML template). This runs against the vSphere environment in question, and creates a VM named after the e-mail sender, (appending a random string of text and numbers to the end to ensure that multiple e-mails from the same person do not cause an issue with duplicate named VMs).

Once the VM is provisioned, the Python script invokes the vmcontrol.pl script using the name of the VM we just provisioned to power the VM up. Lastly, the Python script sends an e-mail back to the sender, stating that their VM has been created and powered on. After that, voila! You will have a new VM created and deployed in your Datacenter all triggered from a simple e-mail.

vpi-example

The script files required + XML and XML schema files are available for download below. The main python script is fairly lengthy, so I won’t include the content direct on this post. Just download the file to grab everything.

Notes to get the script up and running:

  • I found the vmcreate.xsd (XML Schema file) for the VMware vmcreate.pl script did not work, so I had to modify it to change some of the property names to match those of which the vmcreate script was expecting. My updated version is included in the download below if you get any errors from the vmcreate.pl script. It’s default location is: /usr/lib/vmware-viperl/apps/schema
  • You will need to find and edit some variables in the main Python script – your mailbox name and password, plus the IP, username and password for the vmcreate.pl and vmcontrol.pl perl script calls.
  • In the vmtemplate.xml file you should define the characteristics of your VMs that are created. GuestOS, Disk size, etc… Of particular importance, is the name of your host to deploy to, Datacenter name, Datastore name to deploy to, and default VM network to use. These are all of course unique to your own environments.

 

[download id=”26″ template=””]
 
[download id=”27″ template=””]

 

Once you start to think of other ways of using this, you can begin to imagine some really great (and even crazy) solutions. As a start, it would be quite easy to begin extending this, so that e-mails undergo some sort of validation first. E.g. does the domain the sender sent from exist in our “Whitelist” of people allowed to provision e-mails, or does a specific “password” required exist in the body of the e-mail etc…

How about having a standard e-mail template, where the sender can specify more details, such as vCPUs, RAM, disk sizes, OS to install? You could then provision from VM templates instead of creating new VMs, that have customization specs attached. Once powered up and provisioned, a script within the VM could be initiated to accept parameters the VM was created with, and use those to send the requestor an e-mail to say “Hey! I’m now ready for you to connect, and here is the IP you can use…”.

 

Of course, this is not limited to vPi and the Raspberry Pi – that was just the platform I demonstrated this on. Being standard SDKs and scripting languages, you could use the above solution anywhere.