My team has used Virtual Server 2005 and a single beefy physical server to do some great things this week, and I have to share. The problem we are faced with is that we need multiple test environments for release and deployment testing. We have a release very soon, and we’ve been doing our normal testing every day (automated testing, customer acceptance testing, etc), but now we are getting the whole company involved to lay a critical eye on everything. Then we’ll package up the release candidate and do our deployment testing (Windows app- installed on the client). We need to make sure the setup experience is great.
- We need 6 test environments for release testing. They should all have the software set up for testing.
- We need to clean these 6 environments multiple times to rerun tests.
- We don’t have 6 extra servers or client machines.
We used Virtual Server 2005 to create a virtual pc with XPSP2 on it. We then created a differencing disk and installed the software with the correct configuration for testing. Then, we created 6 differencing disks that referenced the first. We allocated 400MB of RAM to each 6 that need to run, and we have our 6 test environments. The two root disks are there read-only since they are the base for the 6 live environments. We enabled undo disks on each of the 6 test images, and now we can have all of our people run tests, and we scrap the undo disk to roll back changes to the clean, freshly set-up state.
When getting these set up, we did have one hiccup – we couldn’t access the virtual pcs from the network except through the ip address. Solution: Windows firewall was blocking network name access. Fix: “Allow incoming ICMP request”. Yep. Because we couldn’t ping the machine by name, we couldn’t remote desktop into it except by IP address. We allowed ping, stopped, restarted Windows firewall, and it’s all gravy. (In case you don’t know about this setting, check out http://www.cam.ac.uk/cs/docs/faq/m8.html).