Thursday, June 26, 2014

#QRQ 3

My VM is locked up in VMware Fusion 6 and yet I can't restart the VM, because it's locked up:-)  How do I restart?

Hold down the (alt) option key when you click on "Virtual Machine" on the menu bar.  You should see the "Suspend" become "Force Suspend", "Shutdown" become "Force Shutdown", and so on.

Additional links:
http://kb.vmware.com/kb/1006215

Sunday, June 22, 2014

vCAC 6.x with Linux Catalog Items

Starting fresh to customize some Linux guest VMs with vCAC 6.0.1, I found that there was no simple authoritative source for doing so, at least according to several colleague queries and Googling so my apologies if I missed something obvious.  This also gives me my first chance to make a potentially [unsupported] recommendation.

I am working specifically with RHEL 6.4, CentOS 6.4, and Ubuntu 12.04 so of course using other Linux distros or versions, YMMV.  For each of those specific versions, I created a generic VM and mostly followed the defaults, installing the basic server packages and nothing else.  Feel free to customize your software and repos according to what you want in your baseline.  At the least, make sure you have Perl installed so that you can install VMware Tools and a "Core" or "Minimal" install does not even include Perl.  These were also created using static IPs.

After booting into the guest OS, install VMware Tools and I stick to the defaults here as well for each of the Linux distros and there shouldn't be much if any variance in the install options.  At this point, since we're prepping for vCAC, you most likely will benefit from including the gugent agent on your baseline.  The gugent allows callbacks to an agent service running on the deployed guest for additional configuration and customization.  However, this will vary depending on your Linux distro since some are supported, like CentOS, Redhat, and SuSE, but not Ubuntu.  Check
http://www.vmware.com/pdf/vcloud-automation-center-60-support-matrix.pdf, page 9, for details.

An excellent guide for installing the vCAC linux customization agent, and recommended blog to follow is here:
http://www.vmtocloud.com/how-to-create-a-vcac-6-linux-guest-agent-template/

If you are allowed to use DHCP, then that's pretty much it.  You can stop there and create individual blueprints in vCAC matching to each template.  However, for static IPs this is a little more unintuitive.  For Redhat and CentOS, you can follow these template prep guidelines:
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.0/html/Evaluation_Guide/Evaluation_Guide-Create_RHEL_Template.html

Just leave out the first step:

# touch /.unconfigured

and follow steps 2-5 unless you want the user to have to work through network configuration dialogs every time a new VM is provisioned.  After deleting the HWADDR entry and if you have multiple eth# devices present, I have seen those sometimes getting reordered after reboot so be cautious if you are multihoming your linux VMs or have multiple private networks.  For step 4, I've been told you can also just delete the file:

rm /etc/udev/rules.d/70-persistent-net.rules

and this file will be automatically recreated after reboot anyway so haven't experienced any issues with that approach either.

Now right-click on the VM and, annoyingly enough, "Convert to Virtual Machine" isn't one of the obvious options.  You'll find it if you go to "All vCenter Actions"->"Convert to Virtual Machine".  Now I created a Linux customization spec with the following options:



Just use the virtual machine name and refer to your vCAC machine prefixes.  Incidentally, did you know that even though vCAC 6.x is stated to be multi-tenant, the prefixes are shared across tenants?
You're using UTC right?

Feel free to set to manual if you want, but the vCAC provisioning should override this to whatever static IP is available from your Network Profile.
Of course, make sure your DNS and Search Path reflect your environment.
Now when you create your blueprint, you can use this custom spec across your templates for CentOS, Redhat and Ubuntu right?




Redhat works, Ubuntu also works (though without a gugent for additional customization), but what about CentOS?  I would get an error deploying the CentOS template similar to the below, which was issued when just cloning direct from the vSphere Web Client:



 OK, so what may be unsupported is the workaround.  By setting the CentOS VM option to Redhat, this allows everything to proceed as normal and vCAC will deploy using the customization specification without griping.






Pretty straightforward once it's all in one place, hopefully:-)

Additional links:
http://www.vmware.com/pdf/vcloud-automation-center-60-support-matrix.pdf
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.0/html/Evaluation_Guide/Evaluation_Guide-Create_RHEL_Template.html
 http://www.vmtocloud.com/how-to-create-a-vcac-6-linux-guest-agent-template/

Monday, June 16, 2014

VMware Office of the CTO, High Performance Computing

If you know me, then you know that I have a passion for HPC and virtualization and I enjoy a challenge.  I have been working with several customers behind the scenes on virtualizing HPC and developing this market for VMware and had presented at VMworld last year with UCSF on early work virtualizing their genome pipelines.  Now my latest challenge is to join full-time with VMware's Office of the CTO and I am humbled to be able to learn and contribute here.

I will be working with Josh Simons, leading HPC for VMware's OCTO and an HPC veteran and formerly with Sun Microsystems, towards advancement of how VMware approaches this market and the unique problems inherent in HPC as well as the problems now being shared by large "Web-scale" distributed systems.  It was at Hadoop Summit 2 weeks ago that I saw a lot of parallels resolving between HPC and the Hadoop ecosystem.  The common problems are classic computer science issues such as resource management and utilization as well as scheduling at different layers of the system.

And of course all of this is moving so fast, it's hard not to get distracted.  Which is why I appreciate being able to focus on this space because I will be able to leverage my background in compute, network, and storage as well as work on the bleeding edge on integrating and optimizing those with next-generation applications and frameworks.