From cb4e875ae1e1ec2e6ddf8a6b37f42283697fd50c Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Wed, 30 Sep 2015 11:23:39 +0000 Subject: Common start.sh The majority of the start.sh code is identical. This removes that duplicate code while still maintaining the ability to call code in a specific container. The start.sh is moved into /usr/local/bin/kolla_start in the container The extend_start.sh script is called by the kolla_start script at the location /usr/local/bin/kolla_extend_start . It always exists because we create a noop kolla_extend_start in the base directory. We override it with extend_start.sh in a specific image should we need to. Of note, the neutron-agents container is exempt from this new structure due to it being a fat container. Additionally, we fix the inconsistent permissions throughout. 644 for repo files and the scripts are set to 755 via a Docker RUN command to ensure someones local perm change won't break upstream containers. Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad Closes-Bug: #1501295 --- docker/cinder/cinder-api/Dockerfile.j2 | 5 ++--- docker/cinder/cinder-api/extend_start.sh | 9 +++++++++ docker/cinder/cinder-api/start.sh | 14 -------------- docker/cinder/cinder-backup/Dockerfile.j2 | 4 ---- docker/cinder/cinder-backup/start.sh | 7 ------- docker/cinder/cinder-scheduler/Dockerfile.j2 | 4 ---- docker/cinder/cinder-scheduler/start.sh | 7 ------- docker/cinder/cinder-volume/Dockerfile.j2 | 11 ++++------- docker/cinder/cinder-volume/start.sh | 7 ------- 9 files changed, 15 insertions(+), 53 deletions(-) create mode 100644 docker/cinder/cinder-api/extend_start.sh delete mode 100755 docker/cinder/cinder-api/start.sh delete mode 100755 docker/cinder/cinder-backup/start.sh delete mode 100755 docker/cinder/cinder-scheduler/start.sh delete mode 100755 docker/cinder/cinder-volume/start.sh (limited to 'docker/cinder') diff --git a/docker/cinder/cinder-api/Dockerfile.j2 b/docker/cinder/cinder-api/Dockerfile.j2 index 4c481a45f..59d20cd80 100644 --- a/docker/cinder/cinder-api/Dockerfile.j2 +++ b/docker/cinder/cinder-api/Dockerfile.j2 @@ -10,8 +10,7 @@ RUN yum install -y python-keystone \ {% endif %} {% endif %} -COPY ./start.sh / - -CMD ["/start.sh"] +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 755 /usr/local/bin/kolla_extend_start {{ include_footer }} diff --git a/docker/cinder/cinder-api/extend_start.sh b/docker/cinder/cinder-api/extend_start.sh new file mode 100644 index 000000000..9cf68ae86 --- /dev/null +++ b/docker/cinder/cinder-api/extend_start.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -o errexit + +# 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 + su -s /bin/sh -c "cinder-manage db sync" cinder + exit 0 +fi diff --git a/docker/cinder/cinder-api/start.sh b/docker/cinder/cinder-api/start.sh deleted file mode 100755 index 553158a82..000000000 --- a/docker/cinder/cinder-api/start.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -set -o errexit - -# Loading common functions. -source /opt/kolla/kolla-common.sh - -# 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 - su -s /bin/sh -c "cinder-manage db sync" cinder - exit 0 -fi - -exec $CMD diff --git a/docker/cinder/cinder-backup/Dockerfile.j2 b/docker/cinder/cinder-backup/Dockerfile.j2 index 14794b053..6d266f46b 100644 --- a/docker/cinder/cinder-backup/Dockerfile.j2 +++ b/docker/cinder/cinder-backup/Dockerfile.j2 @@ -1,8 +1,4 @@ FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }} MAINTAINER Kolla Project (https://launchpad.net/kolla) -COPY ./start.sh / - -CMD ["/start.sh"] - {{ include_footer }} diff --git a/docker/cinder/cinder-backup/start.sh b/docker/cinder/cinder-backup/start.sh deleted file mode 100755 index a083e7bac..000000000 --- a/docker/cinder/cinder-backup/start.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -o errexit - -# Loading common functions. -source /opt/kolla/kolla-common.sh - -exec $CMD diff --git a/docker/cinder/cinder-scheduler/Dockerfile.j2 b/docker/cinder/cinder-scheduler/Dockerfile.j2 index 14794b053..6d266f46b 100644 --- a/docker/cinder/cinder-scheduler/Dockerfile.j2 +++ b/docker/cinder/cinder-scheduler/Dockerfile.j2 @@ -1,8 +1,4 @@ FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }} MAINTAINER Kolla Project (https://launchpad.net/kolla) -COPY ./start.sh / - -CMD ["/start.sh"] - {{ include_footer }} diff --git a/docker/cinder/cinder-scheduler/start.sh b/docker/cinder/cinder-scheduler/start.sh deleted file mode 100755 index a083e7bac..000000000 --- a/docker/cinder/cinder-scheduler/start.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -o errexit - -# Loading common functions. -source /opt/kolla/kolla-common.sh - -exec $CMD diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/docker/cinder/cinder-volume/Dockerfile.j2 index 4eda4b981..5047124be 100644 --- a/docker/cinder/cinder-volume/Dockerfile.j2 +++ b/docker/cinder/cinder-volume/Dockerfile.j2 @@ -4,15 +4,12 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla) {% if install_type == 'binary' %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} -RUN yum install -y lvm2 \ - scsi-target-utils \ - && yum clean all +RUN yum install -y \ + lvm2 \ + scsi-target-utils \ + && yum clean all {% endif %} {% endif %} -COPY ./start.sh / - -CMD ["/start.sh"] - {{ include_footer }} diff --git a/docker/cinder/cinder-volume/start.sh b/docker/cinder/cinder-volume/start.sh deleted file mode 100755 index a083e7bac..000000000 --- a/docker/cinder/cinder-volume/start.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -o errexit - -# Loading common functions. -source /opt/kolla/kolla-common.sh - -exec $CMD -- cgit v1.2.3