owned this note changed 4 years ago
Published Linked with GitHub

Utilize tripleo-operator-ansible roles in CI

tags: Design

Currently, we are using various bash script in CI to do a full Openstack deployment. With tripleo-operator-ansible roles we should be able to replace the bash scripts with tripleo-operator-ansible roles.

Overall status

Task Status
Overcloud Node Import :checkered_flag:
Undercloud Deploy :checkered_flag:
Build Overcloud Images
Overcloud Image upload :checkered_flag:
Overcloud Node Introspect :checkered_flag:
Network Provision :checkered_flag:
Network VIP Provision :checkered_flag:
Baremetal node Provision :checkered_flag:
Overcloud deploy InProgress Amol
Overcloud delete :checkered_flag:

Other improvements made during this work

Overcloud Node Import - Done

openstack overcloud node import instackenv.json

Undercloud Deploy - Done

openstack undercloud install 

Build Overcloud Images

openstack --debug overcloud image build  \
    $CONFIG_FILES > /home/zuul/build.log 2> /home/zuul/build-err.log
RESULT=$?

Overcloud Image upload

#!/bin/bash
set -eux
source /home/zuul/stackrc
openstack overcloud image upload    --http-boot=/var/lib/ironic/httpboot    --local

Overcloud Node Introspect

set -eux
source /home/zuul/stackrc
ack overcloud node introspect --all-manageable
openstack overcloud node provide --all-manageable

Network Provision

openstack overcloud network provision \
  --output /home/zuul/overcloud-networks-deployed.yaml \
  /usr/share/openstack-tripleo-heat-templates/ci/network_data.yaml
if [ $? -ne 0 ]; then
    exit 1

Network VIP Provision

openstack overcloud network vip provision \
  --output /home/zuul/overcloud-vips-deployed.yaml \
  --stack overcloud \
  /usr/share/openstack-tripleo-heat-templates/ci/vip_data.yaml
if [ $? -ne 0 ]; then
    exit 1
fi

Baremetal node Provision

openstack overcloud node provision \
  --network-ports \
  --stack overcloud  \
  --output /home/zuul/overcloud-baremetal-deployed.yaml /home/zuul/overcloud_baremetal_deploy.yaml
if [ $? -ne 0 ]; then
    exit 1
fi

Overcloud deploy

openstack overcloud deploy --stack overcloud \
  --skip-nodes-and-networks \
  --override-ansible-cfg /home/zuul/custom_ansible.cfg \
  --heat-type installed --templates /usr/share/openstack-tripleo-heat-templates \
  --libvirt-type qemu  --timeout 120 --ntp-server 0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org -e /home/zuul/cloud-names.yaml  -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml  -e /home/zuul/overcloud-baremetal-deployed.yaml --deployed-server     -e /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml   -e /home/zuul/containers-prepare-parameter.yaml   -e /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml   --networks-file /usr/share/openstack-tripleo-heat-templates/ci/network_data.yaml -e /home/zuul/overcloud-networks-deployed.yaml -e /home/zuul/overcloud-vips-deployed.yaml  -e /usr/share/openstack-tripleo-heat-templates/ci/environments/network/multiple-nics/network-environment.yaml -e /home/zuul/overcloud_network_params.yaml  -e /home/zuul/overcloud_storage_params.yaml  -e /usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml -e /home/zuul/src/opendev.org/openstack/tripleo-ci/test-environments/worker-config.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/debug.yaml  -e /home/zuul/enable-tls.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-endpoints-public-ip.yaml -e /home/zuul/inject-trust-anchor.yaml     --validation-warnings-fatal    -e /home/zuul/overcloud-topology-config.yaml   -e /home/zuul/overcloud-selinux-config.yaml  -e /usr/share/openstack-tripleo-heat-templates/ci/environments/ovb-ha.yaml  --disable-validations \
  "$@" && status_code=0 || status_code=$?

Overcloud delete

openstack stack delete --yes "$OVERCLOUD_NAME"

Repo setup

Other points

Select a repo