From 2d8be6bee4750754cdf482cde44627c000961895 Mon Sep 17 00:00:00 2001 From: Jeffrey Zhang Date: Sun, 20 Nov 2016 09:11:44 +0800 Subject: Add octavia docker image Change-Id: I6dc827cc1bbea9d580e1dcdb1396f7f9848530ca Implements: blueprint lbaas-octavia-driver --- docker/octavia/octavia-api/Dockerfile.j2 | 25 ++++++++++++++++++ docker/octavia/octavia-base/Dockerfile.j2 | 30 ++++++++++++++++++++++ .../octavia/octavia-health-manager/Dockerfile.j2 | 25 ++++++++++++++++++ docker/octavia/octavia-housekeeping/Dockerfile.j2 | 25 ++++++++++++++++++ docker/octavia/octavia-worker/Dockerfile.j2 | 25 ++++++++++++++++++ 5 files changed, 130 insertions(+) create mode 100644 docker/octavia/octavia-api/Dockerfile.j2 create mode 100644 docker/octavia/octavia-base/Dockerfile.j2 create mode 100644 docker/octavia/octavia-health-manager/Dockerfile.j2 create mode 100644 docker/octavia/octavia-housekeeping/Dockerfile.j2 create mode 100644 docker/octavia/octavia-worker/Dockerfile.j2 (limited to 'docker') diff --git a/docker/octavia/octavia-api/Dockerfile.j2 b/docker/octavia/octavia-api/Dockerfile.j2 new file mode 100644 index 000000000..053d355a6 --- /dev/null +++ b/docker/octavia/octavia-api/Dockerfile.j2 @@ -0,0 +1,25 @@ +FROM {{ namespace }}/{{ image_prefix }}octavia-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% block octavia_api_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set octavia_api_packages = [ + 'openstack-octavia-api' + ] %} + {% elif base_distro in ['ubuntu'] %} +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + {% endif %} + +{{ macros.install_packages(octavia_api_packages | customizable("packages")) }} + +{% endif %} + +{% block octavia_api_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER octavia diff --git a/docker/octavia/octavia-base/Dockerfile.j2 b/docker/octavia/octavia-base/Dockerfile.j2 new file mode 100644 index 000000000..2287b859c --- /dev/null +++ b/docker/octavia/octavia-base/Dockerfile.j2 @@ -0,0 +1,30 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% block octavia_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set octavia_base_packages = [ + 'openstack-octavia-common' + ] %} + {% elif base_distro in ['ubuntu'] %} +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + {% endif %} + +{{ macros.install_packages(octavia_base_packages | customizable("packages")) }} + +{% elif install_type == 'source' %} +ADD octavia-base-archive /octavia-base-source +RUN ln -s /octavia-base-source/* octavia \ + && useradd --user-group --create-home --home-dir /var/lib/octavia octavia \ + && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /octavia \ + && mkdir -p /etc/octavia \ + && cp -r /octavia/etc/* /etc/octavia/ \ + && chown -R octavia: /etc/octavia +{% endif %} + +{% block octavia_base_footer %}{% endblock %} diff --git a/docker/octavia/octavia-health-manager/Dockerfile.j2 b/docker/octavia/octavia-health-manager/Dockerfile.j2 new file mode 100644 index 000000000..853cfb355 --- /dev/null +++ b/docker/octavia/octavia-health-manager/Dockerfile.j2 @@ -0,0 +1,25 @@ +FROM {{ namespace }}/{{ image_prefix }}octavia-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% block octavia_health_manager_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set octavia_health_manager_packages = [ + 'openstack-octavia-health-manager' + ] %} + {% elif base_distro in ['ubuntu'] %} +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + {% endif %} + +{{ macros.install_packages(octavia_health_manager_packages | customizable("packages")) }} + +{% endif %} + +{% block octavia_health_manager_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER octavia diff --git a/docker/octavia/octavia-housekeeping/Dockerfile.j2 b/docker/octavia/octavia-housekeeping/Dockerfile.j2 new file mode 100644 index 000000000..bc70fb175 --- /dev/null +++ b/docker/octavia/octavia-housekeeping/Dockerfile.j2 @@ -0,0 +1,25 @@ +FROM {{ namespace }}/{{ image_prefix }}octavia-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% block octavia_housekeeping_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set octavia_housekeeping_packages = [ + 'openstack-octavia-housekeeping' + ] %} + {% elif base_distro in ['ubuntu'] %} +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + {% endif %} + +{{ macros.install_packages(octavia_housekeeping_packages | customizable("packages")) }} + +{% endif %} + +{% block octavia_housekeeping_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER octavia diff --git a/docker/octavia/octavia-worker/Dockerfile.j2 b/docker/octavia/octavia-worker/Dockerfile.j2 new file mode 100644 index 000000000..8c64f6161 --- /dev/null +++ b/docker/octavia/octavia-worker/Dockerfile.j2 @@ -0,0 +1,25 @@ +FROM {{ namespace }}/{{ image_prefix }}octavia-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% block octavia_worker_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set octavia_worker_packages = [ + 'openstack-octavia-worker' + ] %} + {% elif base_distro in ['ubuntu'] %} +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + {% endif %} + +{{ macros.install_packages(octavia_worker_packages | customizable("packages")) }} + +{% endif %} + +{% block octavia_worker_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER octavia -- cgit v1.2.3