Automating VMWare or VirtualPC - vmware

I'm currently experimenting with build script, and since I have an ASP.net Web Part under source control, my build script should do that at the end:
Grab the "naked" Windows 2003 IIS VMWare or Virtual PC Image from the Network
Boot it up
Copy the Files from the Build Folder to the Server
Install it
Do whatever else is needed
I have never tried automating a Virtual Machine, but I saw that both VMWare and Virtual Server offer automation facilities. While I cannot use Virtual Server (Windows XP Home :-(), Virtual PC works.
Does anyone here have experience with either VMWare Server or Virtual PC 2007 SP1 in terms of automation?
Which one is better suited (I run windows, so the Platform-independence of VMWare does not count) and easier to automate?

With VMWare, there is the Virtual Machine Automation APIs (VIX API). You can find the reference guide here. It works with VMWare Server and WorkStation, but AFAIK it's not available for ESX Server.
From the main page for VIX:
The VIX API allows you to write
scripts and programs that automate
virtual machine operations. The API is
high-level, easy to use, and practical
for both script writers and
application programmers. It runs on
VMware Server and Workstation
products, both Windows and Linux.
Bindings are provided for C, Perl, and
COM (Visual Basic, VBscript, C#).

Use https://github.com/dblock/vmwaretasks rather than the raw VixCOM API if you're going to do this in C#.

I agree with Chris.
Virtual Machine Automation APIs is a very good possibility for automating of virtual machine operations.
VIX API Version 1.6.2 can be used for automating of ESX guest operations as well.

VirtualBox also has API's for automating their VM's.

To follow-up to #Chris, ESX is extremely scriptable. A client I've been working with recently has built a web service that launches a VMware script to create the VM they need, then start the VM with a custom boot ISO. That ISO includes all the kickstart or unattend.txt info it needs to do a totally unassisted OS build.

Related

Does VMware Workstation 7.0.1 run under VMware Infrastructure 3?

I couldnĀ“t find any information on the documentation of VMware about this topic. Any advise on where to find information on this is very appreciated.
VMware workstation, fusion and player are desktop productions that run on top of other operating systems like windows, linux and mac os. VMware ESX, ESXi run on bare metal directly. Since VMware Infrastructure 3 is built upon ESX and ESXi 3.X, it is ok for you to run workstation on top of VI3. But it should be pointed out that workstation running on VI3 won't support hardware virtualization even if your physical cpu ships with hardware virtualization solution. However, latest ESXi and even workstation support so called "nested virtualization" in non-production environment. Actually, I have a virtual ESXi 5 server that runs within my fusion 5.
Assuming that you mean that you want to run a virtualization solution (VMware Workstation) on top of another virtualization solution (VMware Infrastructure), although I'm not sure why you would want to do that instead of simply using a single virtualization solution (either Infrastructure or Workstation, depending on what your needs/goals are), I don't believe that it's blocked. To VMware Infrastructure, the guest OS that you're running Workstation on should just look like any other guest OS, albeit one that's probably using a lot of resources.
You might find someone else who is trying to accomplish the same thing in the Workstation community.

Linux as a guest on MacOS X: VirtualBox or Parallels?

I'm going to develop mostly Django sites on a MacBook Pro and would like to use Ubuntu VMs for testing purposes.
Which product is better suited for this purpose?
Can I connect to the VM via TCP/IP (so I can have apache running on the VM and access it from Safari on my MBP)?
Thanks!
It should be possible using VMWARE FUSION. It has a good network management, and you should be able to access easily your vm via network.
I've successfully used both VirtualBox and VMWare Fusion for this. On both systems, you can set the guest up so that it has its own IP address, and connect to it via HTTP, SSH and even native file sharing, so you can mount the guest's drive as a network drive from the Mac, and vice versa. This makes it possible to do the editing on the Mac in eg Textmate, but run the server on the VM.
I can only tell you about my experiences with a Core2Quad Q6600 on VMWare Fusion 3.0. I have three boot partitions on this system (ahem yes it is a hackintosh running with the E-Fix USB).
So i can do performance measurements. I use it for sometimes very large compiler sessions. And the amazing fact was that Linux as a Guest runs without any measureable time difference on virtualised and native Linux. Windows7 on the other hand only runs with 40% on my machine and GUI is allmost non useable while the GNOME Desktop from latest Ubuntu still works fine.
Check this out. Virtual Box is free so there is nothing to loose.

which vmware server is a better choice and which host OS (for QE)

we are setting up new QE testing server. I guess host OS will be win2008
Which vmware server to choose - 1.x or 2.x ?
A year ago I tried vmware 1 server with Win2008 and it did not work at all.
However, Vmware server 2 did not seem to have the handy vmware console
VMware Server Console\vmware.exe
(is the new vmware server2 still just web based?)
we have a lot of vmware 1 images, are these ok for v2?
Or is it just better to go with HyperV?
Hyper-V Server or ESXi would probably be the best performing and most trouble free options - ie virtualisation not really dependant on the host operating system (but still free).
You can use tools like Vmdk2Vhd to convert image files. Be aware that you should boot the image in its old format first and uninstall vmware tools and some drivers like specific disk controller drivers (as per the instructions of the tool) before you convert it.
Going the enterprise route the System Center Virtual Machine Manager can do this mostly automatically, but then it's not a free solution anymore :) This platform can of course also do physical to virtual migrations for you...
...but alas, you can prepare a physical machine the same way as before converting a vmware image and then use normal imaging tools to clone it into a virtual machine. Or you can use Vmware's free converter tool and then convert the resulting vmdk image to vhd :)
Vmware Server v2 can use v1 images. Windows Server 2008 is supported only in v2. v2 also includes the Virtual Infrastructure Client which you can use instead of the web access ( the client replaces the old console from v1). This is the same client that is used with ESX.
vmware 2.0 crashed regularly on one server I have - however, hasn't crashed since the recent 2.0.1 update (but its only been a week).
I have w2K8 running under vmware 1.0.9 - by selecting Vista (experimental) as the OS setting. However, it's not under any load yet.
I'd recommend ESXi over VMware Server (you can migrate the images) purely for performance reasons. Server 2008 and Vista both run abysmally under VMware Server from my experience. With ESXi and a decent hardware RAID setup, things can be a bit more bearable.

How do you use completely free software to create ovf files for VMware ESXi?

Ok, so let's say that I want to try virtualization in my environment. I want to use ESXi to do that because it is free. I can use the install disk and setup a box to run the ESXi Host.
I'm not sure if the VMware Infrastructure Client is free for one thing. You can use it to attach an ovf file (a packaged VM). The problem I had is creating an ovf file that worked. The free converter didn't do the trick.
Does anyone have any tips or guidelines?
The VMware Infrastructure Client is free with certain restrictions. You just download it over the web from an installed ESXi host.
You need licenses to enable vMotion, but for a single host there's no problem.
We're using ESXi (free) with the VI Client (free) and getting tons better performance than VMware Server (also free). I wasn't so sure about the VI Client thing until I talked to someone else that had a working setup, it's a bit confusing and definitely not "obvious" if you're new to the various enterprise level VMware solutions.
Edit: This was true for ESX3, things change and it is no longer true. See comments for ESX4/5 solutions.
Yes, VI Client is free with ESXi, you just don't get advanced features.
For creating an OVF you should have a look at VMware Studio, a new Beta was released recently.
Sadly, no, the VMware client is not free:
"Further, managing a VMware ESXi host with VMware vCenter Server requires a VMware vCenter Server Agent for each host, only available with the purchase of a VMware Infrastructure license (Foundation, Standard, or Enterprise)."
From this VMware page:
http://www.vmware.com/products/esxi/uses.html

Which Desktop Virtualization software runs most smoothly? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Background:
I'm running a full-time job and a part-time job in the weekends, and both my employers have supplied a laptop for me to work on. Of course I also have my powerful workstation at home to work from, and sometimes when I'm at the office at my weekend job (it's in another city) I'm working from yet another workstation.
Problem:
That makes a full 4 PC's I'm maintaining (software versions, licences and settings) just to do my work, and believe me, my list of prefered software is way too big.
I want to setup a Virtual Desktop on my VMware server, so I can work from the same installation and same session no matter which PC I'm working from.
Now I don't have the time and money to go through a full test of each setup, so I'd like to hear your experiences on the subject.
Question:
Should I use a VMware virtual workstation with some remote logon software (like realVNC, teamviewer, logmein, whatever...) or should I invest in a full VDI system like Sun or VMware provide?
Edit:
I'm programming in Adobe Dreamweaver on Windows XP - but I run my servers on Debian and sometimes do quick edits in VIM too. First I intend to virtualize a WinXP with base installation, to see how it runs.
I am a consultant and tend to work in a variety of environments. I carry a Thinkpad running VMWare Server over Ubuntu64 with 4GB of RAM. I've got a 320GB secondary hard drive that I use just for VM's and have 25 or so different virtual machines that I boot up as the circumstances demand.
They're a mix of Linux servers and workstations, Vista workstations and XP Workstations. I rarely use the VMWare server console. I access every one of them via one of the remote access methods.
For Linux, I usually install FreeNX or NXServer for desktop access and just SSH for commandline. On Windows, I always use Remote Desktop (RDP), but, on XP, that only works on the "Pro" versions, not the "Home" versions. If all else fails, I install VNC and use that. VNC is at the bottom of my list because it really is a last resort. The only thing it's better than is not actually being able to use the machine.
However, NX on Linux and RDP on Windows work WAY better than VNC. Other than little things like font smoothing and fancy desktop effects, the only big glitch would be if you are doing much with video or audio or DirectX-based stuff. Things like YouTube or other video do NOT like to work with any remote desktop protocol that I know of.
As far as performance, using Linux as a host for VMWare provides really good management of system resources. The Windows-based VM's aren't able to just gobble up memory, but still get it when they need to.
I do C# development all day in a virtual Vista workstation on Visual Studio 2008 and have absolutely no problems having 3-4 different solutions all open at once along with the normal stuff alongside over RDP on another machine, connected via wireless VPN.
I can flip over to the host OS and it won't even be touching swap space at all. As far as I'm concerned, it's a great way to work.
If you want to work with the same installation, you should seriously consider the Remote Desktop Server/Client solution, bundled into every windows OS from XP. Basically, this app displays the view from your remote desktop to your local one, using highly compressed images; this works even via low-bandwidth internet connections
While the XP version can only handle one user simultaneously, the one in Windows Server 2003 (and in Windows Server 2008, I presume) can handle multiple users (up to a certain limit).
Disadvantages, and side-effects include:
virtual pc via RDC is slow
anything using the 3d acceleration will be slow (at least using XP/2003)
Personally, I would go down the route of using a virtual workstation with some remote logon software. The network performance of VMWare has always been good in my experience, and depending on the OS, there may be a decent remote logon provided.
I guess you can live with Logmein Free. [Or Pro if u want those features]
Well, you don't say what OSs are involved, so.....
For windows, I find that Remote Desktop works as well or better than anything else, although if you pay for the RealVNC version with the mirror driver, that's supposed to be as good.
For off site access for windows, www.logmein.com (the free version) works very well.
If Unixes are involved, then VNC is definitely the way to go, there are various solutions for doing this remotely. Everything from redirection servers, to just forwarding a port in your firewall to an ssh server and setting up the various tunnels.
Performance of VMWare is very good, and I can run a SQL Server slice, a web server slice and develop on my laptop simultaneously. The VM slices reside on a USB 2 portable drive and make it easy to port between my laptop and desktop.
VM Console works well for accessing each environment, and depending on the configuration you set up with NAT vs. Bridging you can UNC to shares on slice.
The nice by-product of this is that should you host machine take a nose dive you can quickly recover your development environment.