Archive for July, 2008

Announcing Statelesx 1.0.0!

July 31, 2008

Today marks a great day for us over here… the release of our first application, Statelesx (pronounced “stateless” – think of the X in xsigo or xenophobia).

As anyone who has been reading this blog since it’s inception knows, statelessness of the endpoint is something I strongly believe in. And with statelesx, you can achieve this. The architecture of the app is something like this:

1) A python script on your fat ESX boxes that runs on startup
2) A Java app that listens for requests and acts via the VirtualCenter SDK
3) A minimal web interface for managing XML cluster configuration files

In a nutshell, you create a cluster configuration file that contains cluster options (DRS,DPM,HA) and network info (vSwitches, portgroups, vmkernel interfaces) and then associate hosts to the cluster config file by their FQDN and UUID. The python script on the ESX host sends the UUID to the statelesx listener, which searches the cluster config files for a match on the UUID. If it finds one, it goes to work. If it doesn’t, nothing happens.

It goes without saying, this has a lot of implications. It cuts the shit out of deployment time. It saves admins the rather boring and repetitive task of configuring esx hosts individually when new clusters hit the datacenter floor. You dont have to backup your esx configs anymore – it would be quicker to rebuild from scratch and let statelesx configure things for you. And finally, it ensures you have a 100% consistent cluster wide networking configuration.

Statelesx will be available as a virtual appliance. It runs on Ubuntu 8.04 JeOS with the Sun Java 6 package and Tomcat 6. All up the appliance is only a few hundred megs of disk, and half a gig of RAM although no doubt it could run with less if you needed it to. VI 3.5 is required, although if we get enough requests we may backport to VI 3.0.

We’ve put together some videos to show you it in action – be sure to watch them in full screen mode as they’re recorded at 1024 x 768. The first one gives an overview and basic configuration demo. The second one goes into much more detail around the XML config files and shows an advanced configuration being applied to some hosts.

Plea for hosting!
The problem we have now, is that we dont have anywhere to host the appliance itself. Even though it zips down to under 200MB, we couldn’t find any free providers that would allow the bandwidth we’re hopefully going to receive when everyone realises how useful the app is :-D. So if anyone reading can help out in this regard, please contact us on vinternals at gmail dot com.

Hopefully we’ll be adding a download link soon!

Advertisements

Vinternals Doubles in Size!

July 27, 2008

Over the past few months I’ve been working away in the secret Vinternals coding labs on a virtual appliance with an esteemed colleague and virtualisation extraordinaire, Shyam Madhavan. What we’ve managed to put together is something we reckon is pretty amazing, and we hope to have something ready for you all in the next few days.

And here’s the best part – it will be completely free.

After putting in such a monumental effort, it is only fair that he be rewarded with the massive fame and money that one can expect as a 50% partner in vinternals (needless to say, Shyam won’t be quitting his day job). Keep your eyes peeled for some postings over the coming months / years, and be sure to check the site later in the week for more information on the appliance!

PowerShell – Create X Number of VM's per Datastore

July 23, 2008

We all love the ‘shell, and the VI Toolkit for Windows even more. When i finish up with some other stuff, I’ll surely be pointing my C# skills at some cmdlets for that.

Anyway, there are a load of “create VM” scripts out there, I thought I’d show you one with a useful twist – create a certain number of sequentially numbered VM’s per datastore. For those new to the way of the ‘Shell, # is a comment (unlike batch or vbscript)

$esx = Get-VMHost -Name esx.host.name
$template = Get-Template -name TEMPLATE-NAME
$x = 1

#loop through all datastores on host
foreach ($d in Get-Datastore -vmhost $esx)
{

#check that it’s not a local datastore
if (!($d.name -match “:”))
{
#loop to create 10 VM’s per datastore
for ($i=$x; $i -lt ($x + 10); $i++)
{
#append a number to VM name
$vmname = “VM” + “$i”;
#create the VM from template
New-VM -Name $vmname -Template $template -Datastore $d -Host $esx
}
#set $x to the next number in sequence for the next datastore
$x = $i
}
}

There you have it. The only caveat is that the datastores don’t get returned by name so if you have sequentially numbered datatstores and want the VM numbers to match (ie VM1 – VM10 on ‘datastore 1’, VM11 – VM20 on ‘datastore 2’), you’ll need to pump the datastores into an array and -sort it first or something. I’ll leave the intrepid reader to handle that if required 🙂

ESXi Free by End of July!

July 22, 2008

Yes I’ve been quiet of late, but for a very good reason… which I’ll divulge maybe on the weekend 😉

But todays news (Alessandro – you are a machine aren’t you? When do you sleep!) was just too big to let go by – ESXi is finally free. Well… finally officially free – technically it’s been free for ages, all you had to was download a patch for it, as ESXi patches are essentially entire new images (although of course it would’ve run in eval mode for 60 days… by which time another patch would have come out 😉

This is a great way for VMware to hit back after the raft of troubles lately. All the arguments from Microsoft, Xen, etc have always been about price, and they no longer have a leg to stand on.

This actually makes Hyper-V more expensive than ESXi, as you still have to pay for the Windows OS in the parent partition. And pay for no less than Enterprise Edition if you want to cluster Hyper-V. Lets not forget the storage add-ons if you want a clustered file system.

This puts the ball squarely back in the competition’s court, and might as well be the final nail in the coffin for Citrix XenServer as it is now the only major commercial hypervisor on the market you have to pay for.