So you are looking to migrate your OpenStack VM’s to Dimension Data cloud (MCP). You will be pleased to hear that the solution is straightforward; especially since the recently added capabilities.

These 8 outlined steps here will help you get started in the right direction:

1. Convert QCOW/RAW disk image from OpenStack to VMWare .vmdk disk image. This can be done using the qemu-img utility.  Example command would look like:

qemu-img convert debian-7-amd64-vm_2014-08-06_crypt.img -O vmdk debian-7-amd64-vm_2014-08-06_crypt.vmdk

2. Generate a .VMX file to go with the VM (best if you have the existing VM details from OpenStack available).  Below is a sample template that you can use but do modify the values for scsi0:fileName and guestOs to match your VMDK file and Operation System, respectively.

.encoding = “UTF-8”
config.version = “8”
virtualHW.version = “10”
scsi0.present = “TRUE”
scsi0.virtualDev = “lsilogic”
memsize = “1024”
scsi0:0.present = “TRUE”
scsi0:0.fileName = “<Name of VMDK>”
ethernet0.present = “TRUE”
ethernet0.connectionType = “bridged”
ethernet0.virtualDev = “e1000”
ethernet0.wakeOnPcktRcv = “FALSE”
ethernet0.addressType = “generated”
ethernet0.linkStatePropagation.enable = “TRUE”
usb.present = “TRUE”
ehci.present = “TRUE”
ehci.pciSlotNumber = “35”
pciBridge0.present = “TRUE”
pciBridge4.present = “TRUE”
pciBridge4.virtualDev = “pcieRootPort”
pciBridge4.functions = “8”
pciBridge5.present = “TRUE”
pciBridge5.virtualDev = “pcieRootPort”
pciBridge5.functions = “8”
pciBridge6.present = “TRUE”
pciBridge6.virtualDev = “pcieRootPort”
pciBridge6.functions = “8”
pciBridge7.present = “TRUE”
pciBridge7.virtualDev = “pcieRootPort”
pciBridge7.functions = “8”
vmci0.present = “TRUE”
hpet0.present = “TRUE”
tools.syncTime = “TRUE”
displayName = “TVM4”
guestOS = “<Name of Guest OS>”
nvram = “TVM4.nvram”
virtualHW.productCompatibility = “hosted”
tools.upgrade.policy = “upgradeAtPowerCycle”
powerType.powerOff = “soft”
powerType.powerOn = “soft”
powerType.suspend = “soft”
powerType.reset = “soft”
ehci:0.parent = “-1”
ehci:0.port = “0”
ehci:0.deviceType = “video”
uuid.bios = “56 4d 8c 99 1a 07 1f 0d-c1 99 74 0d 14 50 06 8f”
uuid.location = “56 4d 8c 99 1a 07 1f 0d-c1 99 74 0d 14 50 06 8f”
scsi0:0.redo = “”
pciBridge0.pciSlotNumber = “17”
pciBridge4.pciSlotNumber = “21”
pciBridge5.pciSlotNumber = “22”
pciBridge6.pciSlotNumber = “23”
pciBridge7.pciSlotNumber = “24”
scsi0.pciSlotNumber = “16”
usb.pciSlotNumber = “32”
ethernet0.pciSlotNumber = “33”
sound.pciSlotNumber = “34”
vmci0.pciSlotNumber = “36”
ethernet0.generatedAddress = “00:0C:29:50:06:8F”
ethernet0.generatedAddressOffset = “0”
vmci0.id = “340788879”
monitor.phys_bits_used = “40”
vmotion.checkpointFBSize = “67108864”
cleanShutdown = “TRUE”
softPowerOff = “TRUE”
usb:1.speed = “2”
usb:1.present = “TRUE”
usb:1.deviceType = “hub”
usb:1.port = “1”
usb:1.parent = “-1”
usb:0.present = “TRUE”
usb:0.deviceType = “hid”
usb:0.port = “0”
usb:0.parent = “-1”

3. (Only for CENTOS)

Start VM locally (or in a VMWare cluster).

– Log in.

– Invoke command:     yum install -y open-vm-tools

– Prepend “Red Hat Enterprise Linux Server release 7.1 (Maipo)” to/etc/issue.

– Issue command: shutdown -h + 0

4. Convert the generated (or updated) VMDK to OVF format.  OVF format is required t to import virtual images into Dimension Data cloud.  Conversion from VMDK to OVF can be done using the OVFTool from VMWare. An example of the command to run would be:

ovftool.exe   debian-7-amd64.vmx    debian-7-amd64.ovf

NOTE: You need the accompanying .VMX file (template above (2) ) to be in the same folder as the VMDK.  The tool cannot convert from strictly VMDK.

5. Now upload the generated files in the root directory of the cloud FTPS server. There should be a minimum of 3 files with .mf, .ovf and .vmdk  extensions. The location of your server will be specific to your region.  You will need to login with your Dimension Data cloud credentials.  Here is a list of the servers:

6. Once the OVF files are uploaded, you can see them in the Dimension Data Portal, as show below:

dd-vm-image-ftps-ovf

7. Export the OVF as a client image by clicking on the gear icon on the top-right dropdown.  You can import the image with/without “Guest OS customization”.

dd-vm-image-ftps-ovf-export

8.  Once the import process is complete the image will appear in the image catalog under the “Images and Applications”  page. An example is shown:

dd-vm-image

Now you can start using the image to deploy active virtual machines in the Dimension Data cloud.

Simple!