Refactor dev mode
Provides mechanism for future work to fix bug where when package file manifest changes, the changes were not reflected in to devmode-enabled container. It 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 it is installed using pip on every startup of the container using kolla_install_projects script. Related-bug: #1814515 Change-Id: Ia1bdff87cba73587a03124ab78a56b21c6176373 Signed-off-by: Roman Krček <roman.krcek@tietoevry.com>
This commit is contained in:
parent
c63961fdbe
commit
8ae55dd0b8
@ -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 set_configs.py /usr/local/bin/kolla_set_configs
|
||||||
COPY start.sh /usr/local/bin/kolla_start
|
COPY start.sh /usr/local/bin/kolla_start
|
||||||
COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts
|
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 httpd_setup.sh /usr/local/bin/kolla_httpd_setup
|
||||||
COPY sudoers /etc/sudoers
|
COPY sudoers /etc/sudoers
|
||||||
|
|
||||||
@ -375,7 +376,10 @@ RUN chmod 755 /usr/local/bin/healthcheck_*
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
RUN touch /usr/local/bin/kolla_extend_start \
|
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 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_httpd_setup \
|
||||||
&& chmod 440 /etc/sudoers \
|
&& chmod 440 /etc/sudoers \
|
||||||
&& mkdir -p /var/log/kolla \
|
&& mkdir -p /var/log/kolla \
|
||||||
|
12
docker/base/install_projects.sh
Normal file
12
docker/base/install_projects.sh
Normal file
@ -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
|
@ -15,6 +15,9 @@ ARGS=""
|
|||||||
# Install/remove custom CA certificates
|
# Install/remove custom CA certificates
|
||||||
sudo kolla_copy_cacerts
|
sudo kolla_copy_cacerts
|
||||||
|
|
||||||
|
# Install projects that are in /dev-mode
|
||||||
|
kolla_install_projects
|
||||||
|
|
||||||
if [[ ! "${!KOLLA_SKIP_EXTEND_START[@]}" ]]; then
|
if [[ ! "${!KOLLA_SKIP_EXTEND_START[@]}" ]]; then
|
||||||
# Run additional commands if present
|
# Run additional commands if present
|
||||||
. kolla_extend_start
|
. kolla_extend_start
|
||||||
|
15
releasenotes/notes/bug-1814515-99197e13a6280861.yaml
Normal file
15
releasenotes/notes/bug-1814515-99197e13a6280861.yaml
Normal file
@ -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.
|
Loading…
Reference in New Issue
Block a user