diff options
| -rw-r--r-- | docker/base/Dockerfile.j2 | 6 | ||||
| -rw-r--r-- | docker/base/install_projects.sh | 12 | ||||
| -rw-r--r-- | docker/base/start.sh | 3 | ||||
| -rw-r--r-- | releasenotes/notes/bug-1814515-99197e13a6280861.yaml | 15 |
4 files changed, 35 insertions, 1 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index fe91ca6a6..d220eba2c 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -358,6 +358,7 @@ RUN sed -ri '/-session(\s+)optional(\s+)pam_systemd.so/d' /etc/pam.d/system-auth COPY set_configs.py /usr/local/bin/kolla_set_configs COPY start.sh /usr/local/bin/kolla_start COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts +COPY install_projects.sh /usr/local/bin/kolla_install_projects COPY httpd_setup.sh /usr/local/bin/kolla_httpd_setup COPY sudoers /etc/sudoers @@ -375,7 +376,10 @@ RUN chmod 755 /usr/local/bin/healthcheck_* {% endif %} RUN touch /usr/local/bin/kolla_extend_start \ - && chmod 755 /usr/local/bin/kolla_start /usr/local/bin/kolla_set_configs /usr/local/bin/kolla_copy_cacerts \ + && chmod 755 /usr/local/bin/kolla_start \ + /usr/local/bin/kolla_set_configs \ + /usr/local/bin/kolla_copy_cacerts \ + /usr/local/bin/kolla_install_projects \ && chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_httpd_setup \ && chmod 440 /etc/sudoers \ && mkdir -p /var/log/kolla \ diff --git a/docker/base/install_projects.sh b/docker/base/install_projects.sh new file mode 100644 index 000000000..a9a7948d0 --- /dev/null +++ b/docker/base/install_projects.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# This script finds all projects in /dev-mode folder and +# installs them using pip +# The projects are mounted there when dev mode is enabled for them +# in kolla-ansible + +if [ -d "/dev-mode" ]; then + for project in /dev-mode/*; do + pip install -U "$project" + done +fi diff --git a/docker/base/start.sh b/docker/base/start.sh index 79d7f7c74..2b77b4ea2 100644 --- a/docker/base/start.sh +++ b/docker/base/start.sh @@ -15,6 +15,9 @@ ARGS="" # Install/remove custom CA certificates sudo kolla_copy_cacerts +# Install projects that are in /dev-mode +kolla_install_projects + if [[ ! "${!KOLLA_SKIP_EXTEND_START[@]}" ]]; then # Run additional commands if present . kolla_extend_start diff --git a/releasenotes/notes/bug-1814515-99197e13a6280861.yaml b/releasenotes/notes/bug-1814515-99197e13a6280861.yaml new file mode 100644 index 000000000..640a46343 --- /dev/null +++ b/releasenotes/notes/bug-1814515-99197e13a6280861.yaml @@ -0,0 +1,15 @@ +--- +fixes: + - | + Provides mechanism for future work to fix bug where when package file + manifest changes, the changes were not reflected in to devmode-enabled + container. + `LP#1814515 <https://launchpad.net/bugs/1814515>`__ + +upgrade: + - | + Changes the strategy of installing projects in dev mode in containers. + Instead of bind mounting the project's git repository to the venv + of the container, the repository is bind mounted to + /dev-mode/<project_name> from which the project is installed using pip + on every startup of the container using kolla_install_projects script. |
