VMWare Converter Windows 7 P2V and Lost Ethernet Connections

Wow, so tonight, I took a laptop that was having some screen issues. It was a Dell Inspiron, and the screen would go black randomly (not completely, you could baaarely see the screen). Tested power settings, etc, etc. Only thing I can think of is a short somewhere. You close the lid, open it, and it works. Well since that is a pain, I decided to take VMWare’s free converter (http://www.vmware.com/products/converter/) and do a Physical to Virtual (P2V) image, and then run it on a beefy dev box I have with 8 GB’s of RAM.

Started the P2V after registering and installing the converter, everything was going good. I noticed that the converter said it didn’t support Windows 7, but ok, I gave it a go. As it was converting (I wrote the VM image out to a USB drive), the screen went black, so I had to do about 50% of the conversion barely being able to see the screen, but it worked.

After the P2V conversion, I took the USB drive with the image, hooked it up to my beefy machine and copied the image over. Fired up VM Workstation 6.5 and started up the VM. Worked. Noticed though that the OS was set to “other” and the VMware tools wouldn’t install. Powered down the VM. Changed to “Windows Vista” since VM Workstation 6.5 doesn’t support Windows 7 either. Started it up again. Cool, installed the VMware Tools. Changed resolution. Everything cool… except… no network! Both ethernet devices (lan and Wifi) were showing up as no drivers. WTF?!?

Downloaded drivers from Dell, installed, wouldn’t find them yet even after installing. Thought maybe I needed VMWorksation 7.1, so upgraded and still nothing. Uninstalled devices, changed numerous settings, still nothing. Plugged in a USB wifi, and that worked, but that was just a test.

Digging around mutliple forums and what not, found some things about editing the .vmx file with notepad and adding the line

ethernet0.virtualDev = “e1000”

So I tried that, and it worked! From what I can gather, since the converter doesn’t support Windows 7, it sets the OS to other, and then doesn’t grab the Ethernet settings correctly. Changing from other to Windows7 (in VM Workstation 7.1) you can install the VMWare tools. Adding that line to your .vmx file (and ethernet1 if you have multiple adapters) should do the trick.

Dev and Prod Systems, Using a HOST file to ensure your datasource is pointing the right system

In many shops, I am guessing there are multiple servers. Development, Production, maybe a Staging, etc.

With SQL Server Analysis Services (SSAS) and SQL Server Integration Services (SSIS), you set up data sources, connection to databases. In SSAS you usually have a connection which then you build your data source view off of, and in SSIS you have connections from which you push data to and pull data from.

Another thing, in SSAS you can “deploy” right from Visual Studio (BIDS). All these things have a server name. What we have run into is this:

You develop on your local machine, pointing at development server. You deploy to development, your connections are pointing to development, and everything works great. When you deploy to production (usually planned, every 2 weeks, or whatever) you deploy your stuff and what ends up happening?

In SSIS your config files should have a connection string (or however you store it) and it should point to production. But in SSAS, if you deploy from BIDS, your data source will have to change and in the cube project properties you need to change your deployment server.

I have seen countless times, a cube or a connection in SSIS without a config that is running in production, yet pointing at development. We keep our dev data as fresh or very close so sometimes we don’t even notice, but then it happens, something weird is reported and we dig into it, and we find the erroneous connection string.

Here is my solution to the problem:

Developers – go to C:WindowsSystem32DriversEtc and open your Hosts file with notepad or text editor. You then add a couple of entries

#production
#xxx.xxx.xxx.xxx datawarehouse

#development
yyy.yyy.yyy.yyy datawarehouse

where xxx is the ip of your production system, and yyy is the ip of your dev system. the # is the rem/comment out symbol. You can see above I have everything commented out but the line for the dev system. But notice each is pointed to “datawarehouse” so if I ping or connect to “datawarehouse” from Management Studio, or whatever, it goes to the IP I have commented out.

Now, go on to each server, but only add the line that corresponds to that server in the hosts file, or better yet just

127.0.0.1 datawarehouse

Now, when you deploy to either server, and your connections, etc are set to connect to “datawarehouse” you ensure it will always connect to the local server. Brilliant!