A free and open-source tool that simplifies the migration of virtual machines from VMware to any OpenStack-compliant cloud.
vJailbreak is a powerful migration tool designed to seamlessly transfer virtual machines from VMware environments to any OpenStack-compliant cloud platform. The project aims to simplify the complex process of VM migration while ensuring compatibility and performance in the target environment.
-
VMware Integration: Connect directly to vCenter to access and discover source VMs
-
Automated VM Conversion: Convert VM disks from
vmdk
toqcow2
format and prepare for OpenStack environment -
OpenStack Integration: Direct deployment to any OpenStack-compliant cloud with network and storage mapping
-
Flexible Migration Options: Support for both hot and cold migrations with customizable scheduling
-
Rolling Conversion: Staged migration process that minimizes downtime and resource usage
-
Advanced Migration Options: Customizable migration parameters including network configuration, resource allocation, and storage mappings
-
Health Verification: Post-migration health checks to ensure successful migration
-
Scalable Architecture: Scale up or down migration agents based on workload
-
Enhanced Security: Secure handling of credentials and data throughout the migration process
Comprehensive documentation for vJailbreak is available on our documentation site:
Click the image below to watch a demonstration of vJailbreak in action:
This project is available under the Business Source License 1.1. See the LICENSE file for full details.
Key points from the license:
- Licensor: Platform9 Systems, Inc.
- Licensed Work: All versions of vJailbreak (c) 2024 Platform9 Systems, Inc.
- Change Date: Four years from the date the Licensed Work is published
- Change License: MPL 2.0
For information about alternative licensing arrangements, contact [email protected].
-
VMware Environment:
- VMware vCenter with appropriate permissions
- vSphere environment accessible to vJailbreak
-
OpenStack Environment:
- OpenStack-compliant cloud target
- Network and storage access
-
Network Connectivity:
- Access to vCenter, ESXi, and OpenStack API endpoints
- Access to download virtio drivers and other components
- ICMP (ping) access for connectivity verification
- DNS Resolution: Ensure that DNS resolution for vCenter, all ESXi hosts and OpenStack endpoints is properly configured. DNS for ESXi hosts is specifically required during the VM copy phase and migration may fail without it.
-
Supported OS:
- All operating systems supported by virt-v2v
- See virt-v2v support page for details
Note: For an extensive and detailed list of all prerequisites, including network ports, access requirements, and FAQ, please refer to the Prerequisites documentation.
-
Install ORAS and download vJailbreak:
# Install ORAS (see https://oras.land/docs/installation) # Download the latest vJailbreak image oras pull quay.io/platform9/vjailbreak:<tag> # This downloads the image to vjailbreak_qcow2/vjailbreak-image.qcow2
-
Upload image and create vJailbreak VM:
# Upload the image to your OpenStack environment openstack image create --os-interface admin --insecure \ --container-format bare --disk-format qcow2 \ --file vjailbreak_qcow2/vjailbreak-image.qcow2 vjailbreak-image # Deploy a VM from this image (use UI or CLI) # - Choose m1.xlarge flavor (or larger for large VM migrations) # - Select a network that can reach your VMware vCenter # - Configure security group to allow required traffic
-
Copy VDDK Libraries:
- Download VDDK libraries
- Copy to
/home/ubuntu
on the vJailbreak VM - Untar to create
vmware-vix-disklib-distrib
in/home/ubuntu
-
Configure DNS Resolution:
-
Proper DNS resolution for your VMware and OpenStack URLs is required for vJailbreak to function correctly
-
Static Entries: Adding entries to
/etc/hosts
will apply changes immediately# Example /etc/hosts entry 192.168.1.100 vcenter.example.com 192.168.2.100 openstack.example.com # ESXi hosts entries (required for VM copy phase) 192.168.1.101 esxi01.example.com esxi01 192.168.1.102 esxi02.example.com esxi02
-
DNS Configuration: If modifying
/etc/resolv.conf
, you must restart the controller pod for changes to take effect# After modifying resolv.conf kubectl -n vjailbreak rollout restart deployment migration-controller-manager
-
-
Launch vJailbreak:
- Connect to the vJailbreak UI using the VM's IP address
- Provide VMware vCenter and OpenStack credentials
- Begin migrating VMs
Refer to the documentation for detailed usage instructions.
- GitHub Issues: For bug reports and feature requests
- Documentation: Complete vJailbreak Documentation
- Reddit Community: Join our r/vjailbreak subreddit
- Commercial Support: For enterprise support, contact Platform9
vJailbreak builds upon several open-source technologies:
Contributions to vJailbreak are welcome! Please feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure your code follows the project's coding standards and includes appropriate tests.