Tech: Programming VMware Infrastructure 3 with .NET C#

SeachServerVirtualization published a nice 3-parts article describing how to make the most of VMware Infrastructure 3 SDK with Microsoft .NET C# programming language:

The preferred mechanism for programmatically interacting with VI3 is the SDK, not the commands available in the ESX COS (such as the suite of commands prefixed with “esxcfg” found in /usr/sbin). The SDK is very powerful, and its power can be harnessed with another equally powerful tool, .NET.

In this article, I will discuss the two of the SDK’s concepts that one must understand to write even the most basic code, and I will attempt to relate new concepts to familiar ones in order to make them easier to understand. The first section will discuss the SDK’s two object types, managed objects and data objects. The second section will cover the VI3 hierarchy and structure.

at the next article in the series I will talk about what version of .NET to use, how to generate client-side code and demonstrate a simple, real-world program written in C# that interacts with the VI3 SDK…

Read the first part of this series at source.

Tool: VDF+ 2.0

Massimiliano Daneri just updated one of its famous tools for VMware ESX Server.

VDF+ is a Perl script enhancing standard VMware console command vdf, able to show mounted VMFS-formatted devices.
This new 2.0 version introduces support for ESX Server 3.x.

Download it here.

Tool: Manage Large Networks (MLN)

Kyrre Begnum and John Sechrest developed a new tool for automating creation and configuration of large virtual datacenters based on Xen and/or User-Mode Linux (UML):

MLN (Manage Large Networks) is a perl program that can be used to create a complete network of Xen or User-Mode-Linux systems from a short configuration file.

The goal is to ease the configuration and management of virtual networks. Xen and User-Mode Linux are widely used as tools for testing, learning and virtual hosting. MLN builds and configures filesystem templates based on its descriptive and easy programming language and stores them in an organized manner. It also generates start and stop scripts for each virtual host, enabling you to manage a running virtual network by stopping individual virtual machines within a network and starting them again. MLN makes it possible to have serveral separate networks, projects, at once and even connect them together to create larger networks.

Most notable features of this project are:

  • Building virtual networks written in the mln language
  • Upgrading a running virtual network by taking down only the machines that need to be rebuilt
  • Downloading filesystem templates from our repository
  • Starting and stopping virtual networks (both hosts and switches)
  • Removing virtual networks
  • Setting up a bridge device on your host so that the virtual machines become a part of your LAN
  • Build process can be done as non-root

SysAdminMag.com published a long how-to about MLN, written by its creators. It’s worth to read it.

Download it here.

MLN could be a precious help for hosting providers. I wonder how easy could be supporting OpenVZ and VMware Server.

Tool: VMware Server Management Pack for Microsoft Operation Manager 2005

Pete Zerger released a great add-on for Microsoft system administrators using MOM 2005: a free Management Pack for free VMware Server 1.0.1.

This first release is already populated with 140 events rules (divided in categories for guests, hardware, resources, etc.) and sporting some notable features like monitoring of service state.

Download the Management Pack at source.

Tech: How to run Sun Solaris 10 in Parallels Desktop

Although Parallels supports Solaris 10 in its virtual machines there are some minor issues with 1280×800 resolution of Macbooks.

Jean-Christophe Martin published a workaround for Parallels Desktop build 3036 which partially solves problems:

Create a new VM with the Solaris 10 type, but, before to finish, un-select the option to start the Solaris installation and edit the VM configuration to add a custom screen resolution of 1280×800.
Start the VM to launch the install.
Log in an create a /etc/X11/xorg.conf with something like the one attached here (xorg.conf). Basically you need to add the Modeline lines (generated with /usr/X11/bin/gtf) and put 1280×800 in the appropriate Display subsections.

Check the original post for updates and comments.

BTW: Glenn Brunette, Distinguished Engineer and Director, Global Sales and Service Security Office at Sun, took a nice screenshot of Solaris 10 with Trusted Extension (11/06) running on Parallels Desktop.

VMware launches Workstation 6.0 public beta

The most famous virtualization product on the planet is reaching its sixth generation. After a sneak preview at the VMworld 2006 conference, VMware finally makes Workstation 6.0 beta (and included VMware Player 2.0) available for general public.

The company aims to transform its desktop product in the preferred tools for software engineers, introducing notable features for ease development and debugging.

In fact this first beta (build 36983) sports the much acclaimed integration with Microsoft Visual Studio and Eclipse: when a new program must be tested developers can invoke run and debug directly inside a virtual machine, always assuring a brand new, secure and polished environment.

Other new features are nonetheless interesting:

  • Automation via expanded VIX 2.0 API
    Virtual machines control, including start/stop/resume/snapshot/import can be completely scripted with C, Perl, COM or the vmrun command line tool (note that these APIs are compatible with VMware Server 1.x)
  • Headless mode
    Virtual machines can now run in background, without the VMware interface running
  • VNC Remote Control
    Virtual machine can now be controlled through VNC instead of using guest OS remote management tools (no need to install VNC server inside the guest OS)
  • Cross-Platform Drag-and-Drop
    Files can be copied between host and guest level independently from the installed OSes
  • Increased RAM support
    Allocable RAM for VM has been increased from 3.6GB to 8GB. No more limits for maximum RAM allocable for all VMs.
  • New physical hardware support
    Support for USB 2.0 devices, 64bits sound cards and multiple monitors
  • New OSes support
    Experimental support for 32 and 64bits version of:

    • Microsoft Windows Vista (both host and guest roles)
    • Red Hat Enterprise Linux 4.5 and 5.0 beta (both host and guest roles)
    • SUSE Linux Enterprise Server 9 SP4 beta (both host and guest roles)
    • Sun Solaris 10 Update 3 (guest role only)

    Full support for 32 and 64bits version of:

    • Ubuntu Linux 6.10 as host and guest operating systems (both host and guest roles)
    • Mandriva Linux 2007 (both host and guest roles)
    • Novell Netware 6.5 SP5 (guest role / 32bit only)
    • paravirtualized Linux distros, based on the VMware VMI approach

Enroll for the beta here.

In further beta another killer feature called Replay is expected to appear: Workstation will be able to record every moment of the virtual machine life and reproduce it on demand, like in a VCR.
The revolutionary thing is Replay will not simply record what happens on the screen, generating a traditional video, but will record computations made on VM, allowing developers to exactly verify what happens during a fault inside virtual hardware for debugging purposes.

Effort VMware is putting in producing a must-have toolkit for software engineers is evident (this article describes how the whole company offering can simplify development, testing and delivery of new applications), but the most interesting thing anyway is introduced support for VMI-paravirtualized Linux: despite company fail in achieving VMI integration inside kernel, VMware seems to continue on its own way, probably hoping that showing a completed and working solution will increase chances to reconsider the approach.
So after introducing such support in an experimental version of Player, the company is distribuiting it mainstream through Workstation.

VMware is also slightly testing customers interest in upcoming blending of Workstation and ACE products, where the latter can be considered a superset of security features:

The virtualization.info Virtualization Industry Roadmap has been updated accordingly.

Release: VMware Lab Manager 2.4

After summer 2006 acquisition of Akimbi, VMware finally release its first rebranded version of Slingshot: Lab Manager.

Lab Manager is the first product which introduces some serious datacenter automation, even if limited to development/QA scenarios.

The new 2.4 version sports a wide range of features. Among others:

  • Multi-Machine Configurations
    Act on machines in a configuration as a unit: suspend, multi-snapshot, revert to, shutdown, turn on, turn off, suspend, reset, deploy, undeploy, clone, capture to library, and modify properties
  • Configuration Library
    Enjoy simultaneous use of library configurations by multiple users without changing MAC and IP addresses or SID, using VMware’s network fencing
  • Media Library
    Store all development and test media in a central repository
  • Machine Templates
    Instantly create new machines from templates with distinct personalization- automated assignment of MAC and IP addresses, and SID (for Windows systems)
  • Web Services and Command Line Interface (Automation API)
    Full programmatic control of capture-and-restore operations and out-of-the-box automation with leading test automation tools
  • Administration and Security
    User, permission and quota management

but unfortunately also introduces a severe limitation: VMware GSX Server and Microsoft Virtual Server are no more supported.

It’s unclear if VMware will continue to limit integration with ESX Server or will reintroduce support for hosted products.

Download an evaluation here.

The virtualization.info Virtualization Industry Roadmap has been updated accordingly.

Release: Xen 3.0.4

Xen has been updated to 3.0.4 minor release, considered an interim before 3.0.5 planned for early 2007.

This new version improves support for SMP and ACPI in Linux and Windows OSes, as well as other features:

  • support for kexec/kdump of Xen and domain 0
  • graphical framebuffer support for paravirtualised guests
  • preview support for the new XenAPI management interfaces
  • enhanced support for IA64 (IPF) and Power systems

Download it here (still not available at the moment of writing).