diff options
| author | Jeffrey Zhang <zhang.lei.fly@gmail.com> | 2017-02-01 22:01:34 +0800 |
|---|---|---|
| committer | Jeffrey Zhang <jeffrey.zhang@99cloud.net> | 2017-02-01 14:10:12 +0000 |
| commit | 4a5f53eea1d50e6034a8f0a9c386707386e49797 (patch) | |
| tree | 76d8231b3545e7906076e4c8c9a7614606c66b1b /docker/nova | |
| parent | 4abfebaad340133edda547bb65246124527a1f36 (diff) | |
| download | kolla-4a5f53eea1d50e6034a8f0a9c386707386e49797.tar.gz kolla-4a5f53eea1d50e6034a8f0a9c386707386e49797.zip | |
Add nova-placement-api container
Change-Id: I30efc20e6d918e08860584c017455e6d5fa91a35
Closes-Bug: #1660987
Diffstat (limited to 'docker/nova')
| -rw-r--r-- | docker/nova/nova-placement-api/Dockerfile.j2 | 59 | ||||
| -rw-r--r-- | docker/nova/nova-placement-api/extend_start.sh | 11 |
2 files changed, 70 insertions, 0 deletions
diff --git a/docker/nova/nova-placement-api/Dockerfile.j2 b/docker/nova/nova-placement-api/Dockerfile.j2 new file mode 100644 index 000000000..dfd7a1f2f --- /dev/null +++ b/docker/nova/nova-placement-api/Dockerfile.j2 @@ -0,0 +1,59 @@ +FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% block nova_placement_api_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + + {% set nova_placement_api_packages = [ + 'httpd', + 'mod_wsgi', + 'openstack-nova-placement-api' + ] %} + +{{ macros.install_packages(nova_placement_api_packages | customizable("packages")) }} +RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf + + {% elif base_distro in ['ubuntu'] %} + + {% set nova_placement_api_packages = [ + 'apache2', + 'libapache2-mod-wsgi', + 'nova-placement-api' + ] %} + +{{ macros.install_packages(nova_placement_api_packages | customizable("packages")) }} +RUN truncate -s 0 /etc/apache2/ports.conf + + {% endif %} +{% elif install_type == 'source' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + + {% set nova_placement_api_packages = [ + 'httpd', + 'mod_wsgi' + ] %} + +{{ macros.install_packages(nova_placement_api_packages | customizable("packages")) }} +RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf + {% elif base_distro in ['ubuntu'] %} + + {% set nova_placement_api_packages = [ + 'apache2', + 'libapache2-mod-wsgi' + ] %} + +{{ macros.install_packages(nova_placement_api_packages | customizable("packages")) }} +RUN truncate -s 0 /etc/apache2/ports.conf + + {% endif %} +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_nova_extend_start +RUN chmod 755 /usr/local/bin/kolla_nova_extend_start + +{% block nova_placement_api_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/nova/nova-placement-api/extend_start.sh b/docker/nova/nova-placement-api/extend_start.sh new file mode 100644 index 000000000..904db04b2 --- /dev/null +++ b/docker/nova/nova-placement-api/extend_start.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# NOTE(pbourke): httpd will not clean up after itself in some cases which +# results in the container not being able to restart. (bug #1489676, 1557036) +if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then + # Loading Apache2 ENV variables + source /etc/apache2/envvars + rm -rf /var/run/apache2/* +else + rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd* +fi |
