ovn migration: Remove usage of tripleo-ansible-inventory
tripleo-ansible-inventory stopped working in Wallaby. However, TripleO now stores the needed ansible-inventory on the undercloud filesystem. This patch switches from dynamic generation of the Ansible inventory to use of the already existing inventory file. Fortunately, the format of the file remained the same as the generated one, so no other changes in parsing are required. Closes-Bug: #1966099 Change-Id: I3bdf878617fbe962d56ebb66d59ae7edeb9b7c38 Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
This commit is contained in:
parent
1b68aebaba
commit
5b2fd1f830
@ -122,6 +122,12 @@ Perform the following steps in the undercloud
|
||||
undercloud. If that's not possible please configure VALIDATE_MIGRATION
|
||||
to False.
|
||||
|
||||
* OOO_WORKDIR - Name of TripleO working directory
|
||||
Default: '$HOME/overcloud-deploy'
|
||||
This directory contains different stacks in TripleO and its files. It
|
||||
should be configured if TripleO commands were invoked with --work-dir
|
||||
option.
|
||||
|
||||
* IMAGE_NAME - Name/ID of the glance image to us for booting a test server.
|
||||
Default:'cirros'.
|
||||
If the image does not exist it will automatically download and use
|
||||
|
@ -34,6 +34,7 @@ LANG=C
|
||||
|
||||
: ${OPT_WORKDIR:=$PWD}
|
||||
: ${STACK_NAME:=overcloud}
|
||||
: ${OOO_WORKDIR:=$HOME/overcloud-deploy}
|
||||
: ${PUBLIC_NETWORK_NAME:=public}
|
||||
: ${IMAGE_NAME:=cirros}
|
||||
: ${FLAVOR_NAME:=ovn-migration}
|
||||
@ -147,13 +148,11 @@ EOF
|
||||
# Generate the inventory file for ansible migration playbook.
|
||||
generate_ansible_inventory_file() {
|
||||
local dhcp_nodes
|
||||
local inventory_file="$OOO_WORKDIR/$STACK_NAME/config-download/$STACK_NAME/tripleo-ansible-inventory.yaml"
|
||||
|
||||
echo "Generating the inventory file for ansible-playbook"
|
||||
source $STACKRC_FILE
|
||||
echo "[ovn-dbs]" > hosts_for_migration
|
||||
ovn_central=True
|
||||
inventory_file=$(mktemp --tmpdir ansible-inventory-XXXXXXXX.yaml)
|
||||
/usr/bin/tripleo-ansible-inventory --stack $STACK_NAME --static-yaml-inventory "$inventory_file"
|
||||
# We want to run ovn_dbs where neutron_api is running
|
||||
OVN_DBS=$(get_group_hosts "$inventory_file" neutron_api)
|
||||
for node_name in $OVN_DBS; do
|
||||
@ -184,7 +183,6 @@ generate_ansible_inventory_file() {
|
||||
echo $node_name ansible_host=$node_ip ansible_ssh_user=$UNDERCLOUD_NODE_USER ansible_become=true >> hosts_for_migration
|
||||
done
|
||||
|
||||
rm -f "$inventory_file"
|
||||
echo "" >> hosts_for_migration
|
||||
|
||||
cat >> hosts_for_migration << EOF
|
||||
@ -228,12 +226,11 @@ EOF
|
||||
|
||||
# Check if the stack exists
|
||||
function check_stack {
|
||||
source $STACKRC_FILE
|
||||
openstack stack show $STACK_NAME 1> /dev/null || {
|
||||
if [ ! -d $OOO_WORKDIR/$STACK_NAME/config-download/$STACK_NAME ]; then
|
||||
echo "ERROR: STACK_NAME=${STACK_NAME} does not exist. Please provide the stack name or its ID "
|
||||
echo " via STACK_NAME environment variable."
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if the public network exists, and if it has floating ips available
|
||||
|
Loading…
x
Reference in New Issue
Block a user