{"id":22982233,"url":"https://github.com/osism/vmware2openstack","last_synced_at":"2025-08-13T17:34:40.237Z","repository":{"id":236511917,"uuid":"792754352","full_name":"osism/vmware2openstack","owner":"osism","description":"VMware to OpenStack migration helper","archived":false,"fork":false,"pushed_at":"2024-04-29T09:40:10.000Z","size":18,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-30T10:06:26.428Z","etag":null,"topics":["openstack","python","vmware","vmware-esxi"],"latest_commit_sha":null,"homepage":"https://www.osism.tech","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osism.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-27T13:37:17.000Z","updated_at":"2024-04-29T09:40:14.000Z","dependencies_parsed_at":"2024-04-29T09:55:27.710Z","dependency_job_id":null,"html_url":"https://github.com/osism/vmware2openstack","commit_stats":null,"previous_names":["osism/vmware2openstack"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osism%2Fvmware2openstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osism%2Fvmware2openstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osism%2Fvmware2openstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osism%2Fvmware2openstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osism","download_url":"https://codeload.github.com/osism/vmware2openstack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229773526,"owners_count":18122035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openstack","python","vmware","vmware-esxi"],"created_at":"2024-12-15T02:17:03.523Z","updated_at":"2024-12-15T02:17:04.143Z","avatar_url":"https://github.com/osism.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VMware to OpenStack migration script (vmware2openstack)\n\nThis script may be used to migrate VMs from VMware to\nan OpenStack environment.\n\nThe script itself must be run on a machine which has access to:\n- the ESXI host where the VM to migrated resides on\n- the OpenStack environment where the VM needs to migrated to\n\n## Usage\n\n```shell\nusage: vmware2scs.py [-h] -c CONFIG -n NAME [-fc]\n\nVMWare to OpenStack move script\n\noptions:\n  -h, --help            show this help message and exit\n  -c CONFIG, --config CONFIG\n                        Config file to use (default: None)\n  -n NAME, --name NAME  Name of the server to create during migration (default: None)\n  -fc, --forceCopy      Force copying of image files from ESXI if already present in data directory (default: False)\n```\n\nAt least a configuration file and the name of the server\nmust be given.\n\nThe server will be migrated into the configured OpenStack\nenvironment using the name given at command line.\n\n## Configuration\n\n### Example configuration\n\n```yaml\nconverter:\n  # path on converter host to store vmdk files\n  # and converted raw images\n  data_path: /convert/vmware2scs\n\nesxi:\n  # the ESXI host\n  host: vmhost05.example.com\n  \n  # ESXI password\n  password: nudelsuppe\n  \n  # ESXI ssh port\n  ssh-port: 22\n  \n  # Name of virtual machine to migrate\n  vm: glados-42\n\nopenstack:\n  \n  target:\n    # Target flavor\n    flavor: SCS-8V-16\n    \n    # Target security group\n    security_group: 13371337-12f1-47e4-ac7a-e3a2a8813ca6\n    \n    # Target networks (name: \u003cIP\u003e)\n    networks:\n      - somenet: auto\n\n  env:\n    # Target openstack environment\n    OS_AUTH_TYPE: password\n    OS_AUTH_URL: https://your.keystone.example.com:32443/v3\n    OS_IDENTITY_API_VERSION: 3\n    OS_INTERFACE: public\n    OS_PASSWORD: 1337\n    OS_PROJECT_DOMAIN_NAME: Default\n    OS_PROJECT_NAME: someproject\n    OS_PROJECT_ID: 133713375cc54a1e8ea17dc27d77af2a\n    OS_USERNAME: chell\n    OS_USER_DOMAIN_NAME: Default\n    OS_VOLUME_API_VERSION: 3\n    OS_REGION_NAME: Testchamber23\n\n```\n\n## Example migration\n\n```shell\n(venv) conv-user@converter:~/vmware2openstack$ python3 main.py -c etc/migrate-glados.yaml -n glados\n2024-04-23 13:25:48,808 - main:INFO - Starting\n2024-04-23 13:25:48,810 - migrator:INFO - Creating migration directory at /convert/vmware2openstack/glados\n2024-04-23 13:25:48,992 - migrator:INFO - Found VM glados-42 on ESXI host esxi.example.com with id 42 and path /vmfs/volumes/13371337-1584da60-0d47-80c16e72faa0/glados-42\n2024-04-23 13:25:48,992 - migrator:INFO - Checking ssh connection to ESXI host\n2024-04-23 13:25:49,274 - migrator:INFO - Openstack: network show somenet\n2024-04-23 13:25:50,100 - migrator:INFO - Openstack: security group show 13371337-12f1-47e4-ac7a-e3a2a8813ca6\n\nW A R N I N G ! ! !\n        \nThe virtual machine glados-42 (42) will be shutdown after you proceed.    \nBe very sure from here on.\n        \nProceed? [y/N] y\n2024-04-23 13:25:56,447 - migrator:INFO - VM powered off successfully\n2024-04-23 13:25:56,448 - migrator:INFO - Copying vmdk files from vmhost05.a.uintra.net:/vmfs/volumes/536f131e-1584da60-0d47-80c16e72faa0/nxc-sat06dt-02 to /convert/vmware2openstack/mig2\n2024-04-23 13:25:58,808 - migrator:INFO - Progress: /convert/vmware2openstack/glados/glados-42-disc0-flat.vmdk: 0%\n...\n2024-04-23 13:30:38,822 - migrator:INFO - Progress: /convert/vmware2openstack/glados/glados-42-disc0-flat.vmdk: 100%\n2024-04-23 13:30:48,822 - migrator:INFO - Progress: /convert/vmware2openstack/glados/glados-42-disc1-flat.vmdk: 0%\n...\n2024-04-23 13:35:28,838 - migrator:INFO - Progress: /convert/vmware2openstack/glados/glados-42-disc1-flat.vmdk: 100%\n2024-04-23 13:35:33,109 - migrator:INFO - Converting vmdk files in /convert/vmware2openstack/glados\n2024-04-23 13:35:33,110 - migrator:INFO - Converting /convert/vmware2openstack/glados/glados-42-disc0.vmdk\n    (100.00/100%)\n2024-04-23 13:36:37,727 - migrator:INFO - Converting /convert/vmware2openstack/glados/glados-42-disc1.vmdk\n    (100.00/100%)\n2024-04-23 13:37:36,658 - migrator:INFO - Openstack: image list\n2024-04-23 13:37:37,981 - migrator:INFO - Skipping import of glados-42-disc0.vmdk.raw: already imported as 13371337-3863-49b2-aa0f-16bd7711d76e\n2024-04-23 13:37:37,981 - migrator:INFO - Openstack: image show 13371337-3863-49b2-aa0f-16bd7711d76e\n2024-04-23 13:37:38,787 - migrator:INFO - Skipping import of glados-42-disc1.vmdk.raw: already imported as 13371337-f86c-4bbd-8cc8-65853c022278\n2024-04-23 13:37:38,787 - migrator:INFO - Openstack: image show 13371337-f86c-4bbd-8cc8-65853c022278\n2024-04-23 13:37:39,583 - migrator:INFO - Creating server with the following settings:\n2024-04-23 13:37:39,583 - migrator:INFO -     Flavor: SCS-8V-16\n2024-04-23 13:37:39,583 - migrator:INFO -     Security group: 13371337-12f1-47e4-ac7a-e3a2a8813ca6\n2024-04-23 13:37:39,583 - migrator:INFO -     Network: somenet with IP auto\n2024-04-23 13:37:39,583 - migrator:INFO -     Boot volume with image: 13371337-3863-49b2-aa0f-16bd7711d76e, size 20.0GB\n2024-04-23 13:37:39,583 - migrator:INFO -     Additional volume with image: 13371337-f86c-4bbd-8cc8-65853c022278, size 20.0GB\n2024-04-23 13:37:39,584 - migrator:INFO - Openstack: server create --flavor SCS-8V-16 --image 13371337-3863-49b2-aa0f-16bd7711d76e --boot-from-volume 20 --security-group 13371337-12f1-47e4-ac7a-e3a2a8813ca6 --nic net-id=13371337-b6ef-4f4e-b999-9d6cc6088a95 --block-device uuid=13371337-f86c-4bbd-8cc8-65853c022278,source_type=image,destination_type=volume,volume_size=20 --os-compute-api-version 2.90 glados\n2024-04-23 13:37:40,940 - migrator:INFO - Openstack server created, have fun\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosism%2Fvmware2openstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosism%2Fvmware2openstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosism%2Fvmware2openstack/lists"}