Support DB bootstrap from Nova Conductor container

Currently the Nova API container does all the database bootstrapping
for Nova. In a deployment with more than one active cell, it makes
more sense for the conductors to bootstrap their own databases, rather
than have the Nova API container do it. This change adds support for
that. Until the support is actually used, we leave Nova API as-is.

Partially Implements: blueprint support-nova-cells
Change-Id: Id3a78b6838a3aae04f5dd5bd6ec928359297cfd3
This commit is contained in:
Doug Szumski 2019-07-26 12:20:50 +00:00
parent 9d80b28559
commit b087f058c9
3 changed files with 24 additions and 0 deletions

View File

@ -1,5 +1,9 @@
#!/bin/bash
# TODO(dszumski): When Nova Conductor in Kolla Ansible supports triggering DB
# operations, we should review this script and remove any duplicate
# operations. This is probably anything that isn't to do with the API.
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
# of the KOLLA_BOOTSTRAP variable being set, including empty.
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then

View File

@ -24,6 +24,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% endif %}
COPY extend_start.sh /usr/local/bin/kolla_nova_extend_start
RUN chmod 755 /usr/local/bin/kolla_nova_extend_start
{% block nova_conductor_footer %}{% endblock %}
{% block footer %}{% endblock %}

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
nova-manage db sync
nova-manage db online_data_migrations
exit 0
fi
if [[ "${!KOLLA_UPGRADE[@]}" ]]; then
nova-manage db sync
exit 0
fi
if [[ "${!KOLLA_OSM[@]}" ]]; then
nova-manage db online_data_migrations
exit 0
fi