HA for Tripleo

Juan Antonio Osorio Robles was instrumental in me getting Tripelo up and running. He sent me the following response, which he’s graciously allowed me to share with you.

Glad it’s working finally 🙂 . I recommend you also try to deploy HA, which is
enabled appending the following to the “overcloud deploy” you already do:

--control-scale 3 -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml --ntp-server pool.ntp.org

(EDITORIAL NOTE. The final command line I ran looked like this:

openstack overcloud deploy --control-scale 3 --templates  --libvirt-type qemu -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml --ntp-server pool.ntp.org

)

For doing changes, something I usually do is just clone the tripleo-heat-templates repo:

git clone https://review.openstack.org/openstack/tripleo-heat-templates

and start using it on the overcloud deploy command (assuming you’re in
the home directory):

openstack overcloud deploy --templates tripleo-heat-templates/ --libvirt-type qemu

If you’re doing a modification to the HA templates/manifests also add the
manifest from the repo you just cloned:

openstack overcloud deploy --templates tripleo-heat-templates/ --libvirt-type qemu \
    --control-scale 3 -e tripleo-heat-templates/environments/puppet-pacemaker.yaml \
    --ntp-server pool.ntp.org

For configuring keystone on the overcloud what you want to start looking at is the following
puppet manifests:

tripleo-heat-templates/puppet/manifests/overcloud_controller.pp
tripleo-heat-templates/puppet/manifests/overcloud_controller_pacemaker.pp

The first will be used in non-HA mode while the second will be used instead when HA is
deployed.

At some point, I was having the issue that when deploying, heat was taking the puppet
manifests from the /usr/share/openstack-tripleo-heat-templates/ directory, instead of
the ones I wanted in the git repo I cloned in my home directory. So I got the habit of
removing that directory and creating a symlink that points to the git repo in my home
directory. Not sure if that’s the right thing to do, but it has worked for me pretty well
so far.

I usually test HA and non-HA (specially if you’re doing changes to the manifests), and an
easy way to start is to clean up your overcloud:

heat stack-delete overcloud

and re-deploy. Though, upgrade must also be tested. So, starting from an overcloud
deployment without your changes, you should then try upgrading the deployment.
You should be able to do upgrades with the same overcloud deploy command.
Although, you can also do it with straight heat.

Leave a Reply

Your email address will not be published. Required fields are marked *