diff --git a/docker/nova/nova-api/extend_start.sh b/docker/nova/nova-api/extend_start.sh index 3d958253e0..815b622556 100644 --- a/docker/nova/nova-api/extend_start.sh +++ b/docker/nova/nova-api/extend_start.sh @@ -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 diff --git a/docker/nova/nova-conductor/Dockerfile.j2 b/docker/nova/nova-conductor/Dockerfile.j2 index 3f0dd9d76e..01cb2f4b8b 100644 --- a/docker/nova/nova-conductor/Dockerfile.j2 +++ b/docker/nova/nova-conductor/Dockerfile.j2 @@ -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 %} diff --git a/docker/nova/nova-conductor/extend_start.sh b/docker/nova/nova-conductor/extend_start.sh new file mode 100644 index 0000000000..04cf1411ac --- /dev/null +++ b/docker/nova/nova-conductor/extend_start.sh @@ -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