BeyondVM II: The Blog Awakens

It has been quite some time since I have written anything on here (Almost 1.5 years!) and quite a bit has changed in that time. You probably noticed I re-designed the whole site, but what you may not have noticed is that I ported the whole thing to a static blogging engine called Hugo. This process is something that has been on my to-do list forever and kept me writing anything. The more I wrote the more I would have to convert (Hugo uses Markdown to store its posts, Wordpress does not), so I kept putting it off. More on that later.

I also have shifted the focus of my work towards automation and immutable infrastructure and I have quite a bit to write about the things I have learned doing that I have learned along the way. I am pretty excited about a few of the posts I have brewing on those subjects.

How To: ThinApp Firefox 29 and Plugins for vCloud Director 5.1.x

In response to this article about Firefox 30 and vCloud 5.1.x and this article about Java updates breaking everything I decided to throw together a quick How-to on using ThinApp to create a sandboxed version of Firefox and Java that solves both of these problems pretty well.

This ThinApp setup includes a legacy version of Java (7u25) which is super old but it should help with accessing the following (not exhaustive list, just things I have run into, please help expand list):

  • UCS Manager 2.1.x
  • vCloud Director 5.1.x Uploads
  • HP iLO 2.x
  • Legacy DRAC
  • vCloud VPN
  • EMC Unisphere

UCS Networking Adventure: A tale of CoS and The Vanishing Frames

The Problem

This week I had to connect an additional NetApp Storage System to my existing UCS environment through a different path than a similar shared storage platform that we utilize here. This shouldn’t be a big deal but there were a few caveats:

  • The Storage System was attached to a dedicated Nexus 5k for this customer
  • The VLAN configured on the customer switch collided with one configured in UCS so VLAN translation was necessary through access ports.
  • The traffic takes a different switching path from normal NFS traffic in this environment

I configured everything as one normally does when connecting to IP storage, jumbo frames and all. There was only one problem:

Standard Frames

~ # vmkping -s 1400 -d
PING ( 1400 data bytes
2508 bytes from icmp_seq=0 ttl=255 time=0.232 ms
2508 bytes from icmp_seq=1 ttl=255 time=0.198 ms
2508 bytes from icmp_seq=2 ttl=255 time=0.265 ms

--- ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.198/0.232/0.265 ms
~ #

Jumbo Frames

~ # vmkping -s 2500 -d
PING ( 2500 data bytes

--- ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
~ #


Now, normally this is just a simple issue of the MTU being set incorrectly somewhere along the traffic path but as I dug deeper into this issue that turned out to not be the case, it was something much stranger and more interesting. The IPs, VLANs and hostnames have been changed or obscured to protect the innocent. Onward!

Alert: Firefox 30 is not a supported browser for vCloud 5.1.x

Update (8/4/2014): I have created a tutorial on how to create a ThinApp package to help get around this, check it out!

If you suddenly start seeing something the following error in vCloud Director 5.1.x:


This is because your Firefox upgraded to Firefox 30 automatically, as it does. This error seems to be due to some sort of change that Mozilla added into Firefox 30, I haven’t tracked it down yet (if anyone has let me know!). Even force enabling the plugin won’t help, Firefox 30 looks to have gone to an whitelist only model, doing so will make this error go away but the console sessions never connect.

Quick Tip: Bonding, LACP, and VLANs in Linux

I have been doing a lot of tinkering with linux based storage (more to come on that!) over the past few weeks and I had to hunt and peck around the internet to find all of the information on using bonding/lacp and vlans in linux so I want to bring it all to one place. All of these configuration files are from Ubnutu but the format should be similar in other distros. All of the switch configurations were on a Cisco 2960 running IOS 12.2-lanbase which is a fairly old and basic switch.

Quick Tip: Register all VMs on a datastore

Today I had an entire datastore of VMs to register, probably about 30 in total, and I didn’t want to go through the GUI and register each VM manually.

I came up with this quick unix one-liner:

# NOTE: My datastore path is /vmfs/volumes/5317a80e-add165f6-ada9-001517599f73
# replace this with whatever datastore needs searching

find /vmfs/volumes/5317a80e-add165f6-ada9-001517599f73 -name "*.vmx" -exec  vim-cmd solo/registervm {} \;

find /vmfs/volumes/5317a80e-add165f6-ada9-001517599f73 -name "*.vtmx" -exec  vim-cmd solo/registervm {} \;

Intel Avoton: The Perfect Home Lab Host?


In the ever present search for the “ultimate home lab box,” I ran across a new contender, the new Intel Avoton. This is a really interesting SoC (System on a Chip) that has some promise for home lab. The Avoton C2000 series SoCs are based on the new 22nm manufacturing process that came with haswell which is a drastic improvement on the previous models.

Alert: Java JRE 7u51 breaks Everything

Update (8/4/2014): I have created a tutorial on how to create a ThinApp package to help get around this, check it out!

This morning it came to my attention that my customers were no longer able to upload any media (OVFs or ISOs) to their vCloud catalogs. This seems to be due to the most recent Java JRE version released by Oracle. The behavior I experienced was that the applet would appear to load but when I would click on the browse button nothing would happen. This happens across all different browsers and browser versions. The reason for this seems to be a change in the requirements for certificates and applet signing in JRE 7uU51.

vOpenData Update – Dashboard v2.0

A few days ago I pushed live a new update for the vOpenData Dashboard which included a few interesting things from an application perspective, I wanted to highlight some of them here.

###The Code

The first major thing is that the first version of the dashboard was written using a framework called Dashing which is a sweet frame work for developing dashboards from any datasource really quickly but, as it turns out, is not great at efficiently handling hundreds of connections.

Because of this I re-wrote the dashboard from scratch using a simple Sinatra app, it ended up only being about 40 lines of actual logic (not including the HTML part) to get the job done, pretty awesome.

This simplicity also allowed me to throw some memcache caching up infront of it to handle just about any traffic I can throw at it. I actually tested up to 250 hits/second using and it functioned flawlessly. Awesome.

vOpenData – Crunching Everyone’s Data For Fun And Knowledge

It has been quite some time since I have gotten a chance to write on this blog but recently I was able to work with Willian Lam (@lamw) on a really awesome project so I thought this was a great opportunity to start up again. This project really started from a tweet by Duncan Epping (@duncanyb):

This really got me thinking, I get asked these questions all the time and there really isn’t a good answer to it. Since I am going to need to answer this question more often in the future I decided that I would take on this challenge, thus vOpenData was born.


BeyondVM is a personal blog is about virtualization, system administration archetecture and the business of IT. I post research that I do into better management of virtualization and infrastructure, as well as things that I learn along the way.

The views expressed anywhere on this site are strictly mine and not the position of any employer, vendor or provider including but not limited to my employer, VMware or any of its companies. Any solutions that I offer are 'use at your own risk.'
Twitter Follow Me!
Recient Comments