Fixed Ansible lint errors ANSIBLE0012 and ANSIBLE0013
which address the usage of shell and command modules properly.
* When a shell/command task creates a file, it should explictly
specify it with a 'creates' argument.
* When shell is not required, use the command module.
* If a task is not changing anything (e.g. cat <file>)
it should be marked as "changed_when: false".
Also, fixed lines with 'ignore_error' to be 'ignore_errors'.
This patch adds ansible playbooks and roles to carry out migration of
an existing ML2/OVS tripleo setup to ML2/OVN.
In this patch, all the migration tasks are carried out using ansible.
Below are the migration steps
1. Generates a hosts file with the ip addresses of the controllers
2. Creates pre migration resources (including a VM) and validates them
3. Runs the overcloud deploy script with ovn-controller's configured to
use a temporary ovs bridge (OVNIntegrationBridge: "br-migration")
4. Carry out the migration tasks
- Generate the OVN north db by running ovn sync util
- Configure ovn-controllers to take over br-int
- Delete all the qrouter/q-dhcp namespaces
5. Validates the pre migration resources again to check if everything is fine
6. Deletes the pre migration resources and creates and validates post migration
7. Deletes the post migration resources
8. And finally runs the overcloud deploy script again by setting
Co-authored-by: Miguel Angel Ajo <firstname.lastname@example.org>