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/heat/heat-api-cfn/Dockerfile.j2 | 4 ---- docker/heat/heat-api-cfn/start.sh | 7 ------- docker/heat/heat-api/Dockerfile.j2 | 5 ++--- docker/heat/heat-api/extend_start.sh | 11 +++++++++++ docker/heat/heat-api/start.sh | 17 ----------------- docker/heat/heat-engine/Dockerfile.j2 | 4 ---- docker/heat/heat-engine/start.sh | 14 -------------- 7 files changed, 13 insertions(+), 49 deletions(-) delete mode 100755 docker/heat/heat-api-cfn/start.sh create mode 100644 docker/heat/heat-api/extend_start.sh delete mode 100755 docker/heat/heat-api/start.sh delete mode 100755 docker/heat/heat-engine/start.sh (limited to 'docker/heat') diff --git a/docker/heat/heat-api-cfn/Dockerfile.j2 b/docker/heat/heat-api-cfn/Dockerfile.j2 index 7b4cb7d68..1146ee326 100644 --- a/docker/heat/heat-api-cfn/Dockerfile.j2 +++ b/docker/heat/heat-api-cfn/Dockerfile.j2 @@ -10,8 +10,4 @@ RUN yum -y install openstack-heat-api-cfn \ {% endif %} {% endif %} -COPY start.sh / - -CMD ["/start.sh"] - {{ include_footer }} diff --git a/docker/heat/heat-api-cfn/start.sh b/docker/heat/heat-api-cfn/start.sh deleted file mode 100755 index a083e7bac..000000000 --- a/docker/heat/heat-api-cfn/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/heat/heat-api/Dockerfile.j2 b/docker/heat/heat-api/Dockerfile.j2 index 19eb89777..e425e4ebc 100644 --- a/docker/heat/heat-api/Dockerfile.j2 +++ b/docker/heat/heat-api/Dockerfile.j2 @@ -10,8 +10,7 @@ RUN yum -y install openstack-heat-api \ {% 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/heat/heat-api/extend_start.sh b/docker/heat/heat-api/extend_start.sh new file mode 100644 index 000000000..17bd742e3 --- /dev/null +++ b/docker/heat/heat-api/extend_start.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# 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 "heat-manage db_sync" heat + openstack domain create heat_user_domain + openstack user create --domain heat_user_domain heat_domain_admin --password ${HEAT_DOMAIN_ADMIN_PASSWORD} + openstack role add --domain heat_user_domain --user heat_domain_admin admin + exit 0 +fi diff --git a/docker/heat/heat-api/start.sh b/docker/heat/heat-api/start.sh deleted file mode 100755 index b451c604c..000000000 --- a/docker/heat/heat-api/start.sh +++ /dev/null @@ -1,17 +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 "heat-manage db_sync" heat - openstack domain create heat_user_domain - openstack user create --domain heat_user_domain heat_domain_admin --password ${HEAT_DOMAIN_ADMIN_PASSWORD} - openstack role add --domain heat_user_domain --user heat_domain_admin admin - exit 0 -fi - -exec $CMD diff --git a/docker/heat/heat-engine/Dockerfile.j2 b/docker/heat/heat-engine/Dockerfile.j2 index 3759788d1..1a0b9b1dc 100644 --- a/docker/heat/heat-engine/Dockerfile.j2 +++ b/docker/heat/heat-engine/Dockerfile.j2 @@ -15,8 +15,4 @@ RUN yum -y install \ {% endif %} {% endif %} -COPY start.sh / - -CMD ["/start.sh"] - {{ include_footer }} diff --git a/docker/heat/heat-engine/start.sh b/docker/heat/heat-engine/start.sh deleted file mode 100755 index 21a783da1..000000000 --- a/docker/heat/heat-engine/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/bash -c "/usr/bin/heat-manage db_sync" heat - exit 0 -fi - -exec $CMD -- cgit v1.2.3