> For the complete documentation index, see [llms.txt](https://docs.trilio.io/openstack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trilio.io/openstack/t4o-5.x/deployment/software-driven-migration-vmware-to-openstack/vm-migration-tool.md).

# VM Migration Tool (Add-on)

## Introduction

VM Migration Tool is an add-on stand alone utility provided by Trilio for effective migration of VMs from VMWare to OpenStack. This will assist users in planning the migration, creating any missing artifacts, and providing a holistic view of the migration process at an organizational level.

Current document provides the steps to be followed for deploying respective tool.

## 1] Pre-requisites

A Linux VM *(CentOS OR Ubuntu will do)* with `docker` installed on it.

## 2] Prepare working dir and contents

2.1] Clone public repository triliovault-cfg-scripts on the standalone VM (at any convenient location) created for deploying the VM Migration tool.

```
git clone -b {{ trilio_branch }} https://github.com/trilioData/triliovault-cfg-scripts.git
```

{% hint style="info" %}
For actual value {{ trilio\_branch }}, please refer resources page against respective release.
{% endhint %}

2.2] On the VM, copy nginx, env, docker-compose.yml & vmosmapping.conf from triliovault-cfg-scripts to /opt directory.

```
cp -r triliovault-cfg-scripts/migration-vm2os/nginx /opt
cp triliovault-cfg-scripts/migration-vm2os/env /opt
cp triliovault-cfg-scripts/migration-vm2os/docker-compose.yml /opt
cp triliovault-cfg-scripts/migration-vm2os/vmosmapping.conf /opt
```

2.3] Set values against params in /opt/env file.

| Parameter          | Description                                                                              | Sample/Default Value                |
| ------------------ | ---------------------------------------------------------------------------------------- | ----------------------------------- |
| TRILIO\_IMAGE\_TAG | Tag of the image as provided by Trilio. Refer resources page against respective release. | trilio/trilio-migration-vm2os:5.2.4 |
| NGINX\_PORT        | Port on which nginx should run. Please ensure that the port is free.                     | Default : 5085                      |
| REDIS\_PORT        | Port on which redis should run. Please ensure that the port is free.                     | Default : 6379                      |

2.4] Set values against params in /opt/vmosmapping.conf file.

| Parameter       | Description                                                                                                                                                           |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| host            | vCenter host address from where VMs have to be migration into OpenStack.                                                                                              |
| admin           | Admin user login name for vCenter                                                                                                                                     |
| password        | Admin user password for vCenter                                                                                                                                       |
| ssl\_verify     | To be set to True or False as needed                                                                                                                                  |
| keystone\_url   | Keystoner URL of the OpenStack where VMs from vCenter have to be migrated                                                                                             |
| admin\_user     | Admin user login name for OpenStack                                                                                                                                   |
| admin\_password | Admin user password for OpenStack                                                                                                                                     |
| admin\_project  | Project/Tenant of OpenStack                                                                                                                                           |
| admin\_domain   | Domain of OpenStack                                                                                                                                                   |
| region\_name    | Region of OpenStack                                                                                                                                                   |
| ssl\_verify     | To be set to True or False as needed                                                                                                                                  |
| hypervisor      | To be set as "RHEL 9"                                                                                                                                                 |
| username        | OpenStack user which is having same role as the user *`(having trustee role)`* mentioned in wlm.conf file. This will be used to log into VM Migration Tool Dashboard. |
| email           | Email of the VM Migration Tol user                                                                                                                                    |
| password        | password for logging into VM Migration Tool Dashboard                                                                                                                 |

## 3] Deploy VM Migration Tool

3.1] To deploy the VM Migration Tool on standalone VM, please execute below command in background mode.

```
docker compose -f /opt/docker-compose.yml --env-file /opt/env up &
```

3.2] Deployment checks

* Run `docker ps -a` ; 4 containers should be running, viz redis, nginx, trilio\_vm2os & opt-worker-1.
* Sample output below *(Forwarded port number can be different as per the value provided in `/opt/env` file)*

```
CONTAINER ID   IMAGE                                              COMMAND                  CREATED         STATUS         PORTS                                               NAMES
1ed651c084d4   nginx:latest                                       "/docker-entrypoint.…"   5 seconds ago   Up 3 seconds   80/tcp, 0.0.0.0:5085->5085/tcp, :::5085->5085/tcp   nginx
8ff9f81b9913   trilio/trilio-migration-vm2os:5.2.3-dev-maint3-3   "gunicorn --config g…"   5 seconds ago   Up 4 seconds                                                       trilio_vm2os
1f91f14ad011   trilio/trilio-migration-vm2os:5.2.3-dev-maint3-3   "celery -A run.celer…"   5 seconds ago   Up 4 seconds                                                       opt-worker-1
0bb5574ad56b   redis:latest                                       "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp           redis
```

## 4] Access Tool Dashboard

Respective Migration tool can be accessed with URL : \<VM\_IP>:\<NGINX\_PORT> Example

```
http://192.168.6.25:5085/
```

For logging into dashboard, use the credentials provided under \[user] section in `/opt/vmosmapping.conf` file
