diff options
| author | Juan Antonio Osorio Robles <jaosorior@redhat.com> | 2017-05-19 12:12:07 +0000 |
|---|---|---|
| committer | Rob Crittenden <rcritten@redhat.com> | 2017-07-03 09:38:53 -0400 |
| commit | 1ae703e4a4886efded1535d2278c10b4b4ae0630 (patch) | |
| tree | 83515a2f674366a11654cdec9721510de9bfefdf /docker/novajoin | |
| parent | f26b1ba0b362e9091141f0fad2f7b91edc40ac11 (diff) | |
| download | kolla-1ae703e4a4886efded1535d2278c10b4b4ae0630.tar.gz kolla-1ae703e4a4886efded1535d2278c10b4b4ae0630.zip | |
Add images for novajoin services
novajoin is a nova vendordata service that enables the enrollment of
nova instances into freeIPA.
Change-Id: Ia1c0f896ef45b8bb00d0354e7343c7eb4e060fd1
Diffstat (limited to 'docker/novajoin')
| -rw-r--r-- | docker/novajoin/novajoin-base/Dockerfile.j2 | 55 | ||||
| -rw-r--r-- | docker/novajoin/novajoin-base/extend_start.sh | 10 | ||||
| -rw-r--r-- | docker/novajoin/novajoin-notifier/Dockerfile.j2 | 16 | ||||
| -rw-r--r-- | docker/novajoin/novajoin-server/Dockerfile.j2 | 16 |
4 files changed, 97 insertions, 0 deletions
diff --git a/docker/novajoin/novajoin-base/Dockerfile.j2 b/docker/novajoin/novajoin-base/Dockerfile.j2 new file mode 100644 index 000000000..2ac0c15f7 --- /dev/null +++ b/docker/novajoin/novajoin-base/Dockerfile.j2 @@ -0,0 +1,55 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block novajoin_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='novajoin') }} + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + + {% set novajoin_base_packages = [ + 'python-novajoin' + ] %} + + {% else %} +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + {% endif %} + +{{ macros.install_packages(novajoin_base_packages | customizable("packages")) }} + +{% elif install_type == 'source' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set novajoin_base_packages = [ + 'ipa-admintools', + ] %} + {% elif base_distro in ['ubuntu'] %} + {% set novajoin_base_packages = [ + 'freeipa-admintools', + ] %} + {% endif %} + +{{ macros.install_packages(novajoin_base_packages | customizable("packages")) }} + +ADD novajoin-base-archive /novajoin-base-source + +{% set novajoin_base_pip_packages = [ + '/novajoin' +] %} + +RUN ln -s novajoin-base-source/* novajoin \ + && {{ macros.install_pip(novajoin_base_pip_packages | customizable("pip_packages")) }} \ + && mkdir -p /etc/nova /etc/novajoin \ + && chown -R novajoin: /etc/nova /etc/novajoin + +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 750 /etc/sudoers.d \ + && touch /usr/local/bin/kolla_novajoin_extend_start \ + && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_novajoin_extend_start + +{% block novajoin_base_footer %}{% endblock %} diff --git a/docker/novajoin/novajoin-base/extend_start.sh b/docker/novajoin/novajoin-base/extend_start.sh new file mode 100644 index 000000000..f5b38b898 --- /dev/null +++ b/docker/novajoin/novajoin-base/extend_start.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ ! -d "/var/log/kolla/novajoin" ]]; then + mkdir -p /var/log/kolla/novajoin +fi +if [[ $(stat -c %a /var/log/kolla/novajoin) != "755" ]]; then + chmod 755 /var/log/kolla/novajoin +fi + +. /usr/local/bin/kolla_novajoin_extend_start diff --git a/docker/novajoin/novajoin-notifier/Dockerfile.j2 b/docker/novajoin/novajoin-notifier/Dockerfile.j2 new file mode 100644 index 000000000..9be1cdfbc --- /dev/null +++ b/docker/novajoin/novajoin-notifier/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{ namespace }}/{{ image_prefix }}novajoin-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block novajoin_notifier_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro not in ['centos', 'oraclelinux', 'rhel'] %} +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + {% endif %} +{% endif %} + +{% block novajoin_notifier_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/novajoin/novajoin-server/Dockerfile.j2 b/docker/novajoin/novajoin-server/Dockerfile.j2 new file mode 100644 index 000000000..423aa5955 --- /dev/null +++ b/docker/novajoin/novajoin-server/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{ namespace }}/{{ image_prefix }}novajoin-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block novajoin_server_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro not in ['centos', 'oraclelinux', 'rhel'] %} +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + {% endif %} +{% endif %} + +{% block novajoin_server_footer %}{% endblock %} +{% block footer %}{% endblock %} |
