Getting Started
vJailbreak works by running itself as a VM on the target OpenStack cloud. It connects remotely to the VMware vSphere environment to perform the migration. vJailbreak uses the VMware VDDK library to interact with the VMware environment and perform the necessary disk copy operations.
It also uses the OpenStack SDK to interact with the OpenStack environment and perform the necessary provisioning operations including creation of volumes, VMs.
Network and access requirements
Ensure that your vJailbreak VM can communicate with your OpenStack and VMware environments. This includes any setup required for VPNs, etc.
Install ORAS and download vJailbreak
Download and install ORAS, a toolkit to download the qcow2 image of vJailbreak. Then, download the latest version of the vJailbreak image with the following command:
# remember the actual version would varyoras pull quay.io/platform9/vjailbreak:v0.3.1
This will download the vJailbreak qcow2 folder containing the image locally in the current directory named vjailbreak_qcow2/vjailbreak-image.qcow2
.
Upload image to OpenStack
These example instructions are for any version of Private Cloud Director - Platform9 hosted, self-hosted, or Community Edition - but can be adapted for any OpenStack-compliant cloud.
- Follow the instructions in Private Cloud Director > Images > Import with CLI to upload the image from the command line.
- Upload
vjailbreak-image.qcow2
to your image library.Terminal window openstack image create --os-interface admin --insecure --container-format bare --disk-format qcow2 --file vjailbreak-image.qcow2 vjailbreak-image.qcow2
Create vJailbreak VM
- Deploy a new VM from the uploaded image, choosing the m1.xlarge flavor (use larger flavor for larger VM migration).
- Choose a network that can reach your VMware vCenter environment.
- Assign a network security group that allows inbound and outbound traffic.
Configure VM with cloud-init
Cloud-init can be used during VM creation to automate initial configuration including setting passwords and configuring /etc/hosts entries for DNS resolution.
-
When creating the VM, use a cloud-init configuration script to:
- Set a password for the ubuntu user
- Add static DNS entries to /etc/hosts
#cloud-configpassword: your-secure-passwordchpasswd: { expire: False }ssh_pwauth: Truewrite_files:- path: /etc/hosts.appendappend: truecontent: |# VMware and OpenStack endpoints192.168.1.100 vcenter.example.com192.168.2.100 openstack.example.comruncmd:- cat /etc/hosts.append >> /etc/hosts -
You can provide this cloud-init configuration when creating the VM through the OpenStack dashboard or CLI.
Copy VDDK Libraries
VMware VDDK library is required for vJailbreak to interact with the VMware environment and it must be configured in the vJailbreak VM.
- Copy the latest version of the VDDK libraries for Linux into
/home/ubuntu
of the vJailbreak VM. Untar it to a folder namedvmware-vix-disklib-distrib
in the/home/ubuntu
directory.
Configure DNS Resolution
Proper DNS resolution for your VMware and OpenStack URLs is required for vJailbreak to function correctly. You can either configure this during VM creation with cloud-init (as shown above) or modify the configuration after VM deployment.
Important: DNS resolution for all ESXi hosts must be properly configured in your environment. This is specifically required during the VM copy phase of migration. Without proper DNS resolution for ESXi hosts, the migration process may fail.
-
Static Entries: If you didn’t configure
/etc/hosts
entries during VM creation with cloud-init, you can add them manually. Changes to/etc/hosts
apply immediately.Terminal window # Example manual addition to /etc/hostssudo sh -c 'echo "192.168.1.100 vcenter.example.com" >> /etc/hosts'sudo sh -c 'echo "192.168.2.100 openstack.example.com" >> /etc/hosts'# ESXi hosts entries (required for VM copy phase)sudo sh -c 'echo "192.168.1.101 esxi01.example.com esxi01" >> /etc/hosts'sudo sh -c 'echo "192.168.1.102 esxi02.example.com esxi02" >> /etc/hosts' -
DNS Configuration: If modifying
/etc/resolv.conf
to use DNS servers instead of static entries, you must restart the controller pod for changes to take effectTerminal window # After modifying resolv.confkubectl -n vjailbreak rollout restart deployment migration-controller-manager
Launch vJailbreak
- Connect to the vJailbreak UI using the IP address assigned during VM creation.
- Start the migration process by providing the VMware vCenter and OpenStack admin.rc credentials.
- Select the VMs you wish to migrate and complete the rest of the migration form.
- Migrate your VMs.