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
vmdktoqcow2format 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 info@platform9.com.
-
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
-
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/ubuntuon the vJailbreak VM - Untar to create
vmware-vix-disklib-distribin/home/ubuntu
-
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.