Launch a VM Migration with Ansible Automation Platform
Configuring AAP to Launch a Migration
Creating Credentials
-
From the navigation panel, go to Automation Execution → Credentials.
-
Click Create Credentials and set the following parameters:
-
Name: Bastion key
-
Credential Type: Machine
-
Username: cloud-user
-
SSH Private Key: File content from
/home/lab-user/.ssh/my-guidkey.pem
on the bastion
-
-
Click Create Credential
Creating an Inventory
-
From the navigation panel, go to Automation Execution → Infrastructure → Inventories.
-
Click Create Inventory → Create Inventory and set the following parameters:
-
Name: Conversion Host Inventory
-
Organization: Default
-
-
Click Create Inventory.
Creating Hosts
Conversion Host
-
From the navigation panel, go to Automation Execution → Infrastructure → Hosts.
-
Click Create Host and set the following parameters:
-
Name: {rhoso_conversion_host_ip}
-
Inventory: Conversion Host Inventory
-
Variables:
-
ansible_ssh_user: cloud-user
Click Create Host.
-
From the navigation panel, go to Automation Execution → Infrastructure → Hosts.
-
Click Create Host and set the following parameters:
-
Name: conversion_host
-
Inventory: Conversion Host Inventory
-
Variables:
-
ansible_host: {rhoso_conversion_host_ip}
ansible_ssh_user: cloud-user
Click Create Host.
Migrator Host
-
From the navigation panel, go to Automation Execution → Infrastructure → Hosts.
-
Click Create Host and set the following parameters:
-
Name: migrator
-
Inventory: Conversion Host Inventory
-
Variables:
-
ansible_connection: local
ansible_python_interpreter: '{{ ansible_playbook_python }}'
Click Create Host.
Creating an Execution Environment
-
From the navigation panel, go to Automation Execution → Infrastructure → Execution Environments.
-
Click Create Execution Environment and set the following parameters:
-
Name: vmware migration toolkit Execution Environment
-
Image:
quay.io/os-migrate/vmware-migration-kit:stable
-
-
Click Create Execution Environment.
Creating a Project
-
From the navigation panel, go to Automation Execution → Projects.
-
Click Create Project and set the following parameters:
-
Name: vmware migration toolkit project
-
Execution Environment: vmware migration toolkit Execution Environment
-
Source Control Type: Git
-
Source Control URL:
https://github.com/os-migrate/vmware-migration-kit
-
-
Click Create Project.
Creating the Job Template
Preparing the Bastion
In the bastion, create the folder to store the ansible variables:
cd
mkdir -p /home/lab-user/os-migrate-env
Run the following commands to configure OpenStack CLI access:
oc project openstack
alias openstack="oc exec -t openstackclient -- openstack"
Retrieve necessary OpenStack parameters:
SECURITY_GROUP_ID=$(openstack security group list | awk '/ basic / {print $2}')
PROJECT_ID=$(openstack project list | grep ' admin ' | awk '{print $2}')
AUTH_URL=$(openstack endpoint list --service identity --interface public -c URL -f value)
Create the os_migrate_vars.yaml
file:
cat << EOF > os_migrate_vars.yaml
os_migrate_tear_down: false
# osm working directory:
runner_from_aee: true
os_migrate_vmw_data_dir: /tmp/os-migrate
copy_openstack_credentials_to_conv_host: false
# Re-use an already deployed conversion host:
already_deploy_conversion_host: true
# If no mapped network, set the OpenStack network:
openstack_private_network: private
# Security groups for the instance:
security_groups: ${SECURITY_GROUP_ID}
use_existing_flavor: false
# Network settings for OpenStack:
os_migrate_create_network_port: true
copy_metadata_to_conv_host: true
used_mapped_networks: false
os_migrate_configure_network: true
vms_list:
- winweb01-my-guid
# VMware parameters:
vcenter_hostname: {vcenter_console}
vcenter_username: {vcenter_full_user}
vcenter_password: {vcenter_password}
vcenter_datacenter: RS01
os_cloud_environ: demo.redhat.com
dst_cloud:
auth:
auth_url: ${AUTH_URL}
username: admin
project_id: ${PROJECT_ID}
project_name: admin
user_domain_name: Default
password: openstack
region_name: regionOne
interface: public
insecure: true
identity_api_version: 3
EOF
Configuring the Job Template
-
From the navigation panel, go to Automation Execution → Templates.
-
Click Create Template → Create Job Template and set the following parameters:
-
Name: Windows VM Migration
-
Inventory: Conversion Host Inventory
-
Project: vmware migration toolkit project
-
Playbook:
playbooks/migration.yml
-
Execution Environment: vmware migration toolkit Execution Environment
-
Credentials: Bastion key
-
Extra Variables: Copy the content of
/home/lab-user/os-migrate-env/os_migrate_for_awx.yaml
from the bastion
-
-
Click Create Job Template.
Access to the VM using Horizon
-
Access to Horizon using the URL: https://horizon-openstack.apps.my-guid.dynamic.redhatworkshops.io
-
In the top panel, Instances, click on the instance: winweb01-my-guid
-
Click the tab Console to access to the console.