diff options
| author | Bai Yongjun <byj994@163.com> | 2018-11-22 22:27:02 +0800 |
|---|---|---|
| committer | Taeha Kim <kthguru@gmail.com> | 2019-03-27 16:19:13 +0000 |
| commit | 265f643295efa50b8d5c7dc716353883d645c588 (patch) | |
| tree | 649a7e668aabc7b789da61a920b6aef6815edb4b /docker/cyborg | |
| parent | 09f37541d8e57d85aa568a0ad6a23c44ef11a36e (diff) | |
| download | kolla-265f643295efa50b8d5c7dc716353883d645c588.tar.gz kolla-265f643295efa50b8d5c7dc716353883d645c588.zip | |
Add cyborg to kolla
Because kolla not have cyborg so should add this.
Implements: blueprint add-cyborg
Change-Id: I497e67e3a754fccfd2ef5a82f13ccfaf890a6fcd
Diffstat (limited to 'docker/cyborg')
| -rw-r--r-- | docker/cyborg/cyborg-agent/Dockerfile.j2 | 46 | ||||
| -rw-r--r-- | docker/cyborg/cyborg-api/Dockerfile.j2 | 42 | ||||
| -rw-r--r-- | docker/cyborg/cyborg-api/extend_start.sh | 16 | ||||
| -rw-r--r-- | docker/cyborg/cyborg-base/Dockerfile.j2 | 36 | ||||
| -rw-r--r-- | docker/cyborg/cyborg-base/cyborg_sudoers | 1 | ||||
| -rwxr-xr-x | docker/cyborg/cyborg-base/extend_start.sh | 15 | ||||
| -rw-r--r-- | docker/cyborg/cyborg-conductor/Dockerfile.j2 | 7 |
7 files changed, 163 insertions, 0 deletions
diff --git a/docker/cyborg/cyborg-agent/Dockerfile.j2 b/docker/cyborg/cyborg-agent/Dockerfile.j2 new file mode 100644 index 000000000..398e6b298 --- /dev/null +++ b/docker/cyborg/cyborg-agent/Dockerfile.j2 @@ -0,0 +1,46 @@ +FROM {{ namespace }}/{{ image_prefix }}cyborg-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block cyborg_agent_header %}{% endblock %} +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + +{% elif install_type == 'source' %} + +{% set cyborg_agent_pip_packages = [ + 'cursive' +] %} + +{% endif %} + +RUN {{ macros.install_pip(cyborg_agent_pip_packages | customizable("pip_packages")) }} + +{% if base_package_type == 'rpm' %} + +ENV opae_libs_rpm_url=https://github.com/OPAE/opae-sdk/releases/download/1.1.0-2/opae-libs-1.1.0-2.x86_64.rpm +ENV opae_libs_rpm_sha1sum=3a10f80d64be46bb8d99ba88548646d0e368a06e + +ENV opae_devel_rpm_url=https://github.com/OPAE/opae-sdk/releases/download/1.1.0-2/opae-devel-1.1.0-2.x86_64.rpm +ENV opae_devel_rpm_sha1sum=461356b987b41843f60123d66195620bf1e4e28e + +RUN curl -sSL -o /tmp/opae-libs.rpm ${opae_libs_rpm_url} \ + && echo "${opae_libs_rpm_sha1sum} /tmp/opae-libs.rpm" | sha1sum -c \ + && curl -sSL -o /tmp/opae-devel.rpm ${opae_devel_rpm_url} \ + && echo "${opae_devel_rpm_sha1sum} /tmp/opae-devel.rpm" | sha1sum -c \ + && yum -y install /tmp/opae-libs.rpm /tmp/opae-devel.rpm \ + && rm -f /tmp/opae-libs.rpm /tmp/opae-devel.rpm + +# NOTE(Bai Yongjun) Required packages are only supported Ubuntu16.04 +# Please check the details:https://github.com/OPAE/opae-sdk/releases/tag/1.1.0-2 +{% elif base_package_type == 'deb' %} + +RUN echo 'No supported packages' \ + && /bin/false + +{% endif %} +{% block cyborg_agent_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/cyborg/cyborg-api/Dockerfile.j2 b/docker/cyborg/cyborg-api/Dockerfile.j2 new file mode 100644 index 000000000..0d1857220 --- /dev/null +++ b/docker/cyborg/cyborg-api/Dockerfile.j2 @@ -0,0 +1,42 @@ +FROM {{ namespace }}/{{ image_prefix }}cyborg-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block cyborg_api_header %}{% endblock %} +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + +{% elif install_type == 'source' %} + {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set cyborg_api_packages = [ + 'mod_ssl', + 'mod_wsgi' + ] %} + {% elif base_distro in ['debian', 'ubuntu'] %} + {% set cyborg_api_packages = [ + 'apache2', + 'libapache2-mod-wsgi' + ] %} + {% endif %} + +{% endif %} + +{{ macros.install_packages(cyborg_api_packages | customizable("packages")) }} + +{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} +RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \ + && sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf + +{% elif base_distro in ['debian', 'ubuntu'] %} +RUN echo > /etc/apache2/ports.conf + +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_cyborg_extend_start +RUN chmod 755 /usr/local/bin/kolla_cyborg_extend_start + +{% block cyborg_api_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/cyborg/cyborg-api/extend_start.sh b/docker/cyborg/cyborg-api/extend_start.sh new file mode 100644 index 000000000..a96619d93 --- /dev/null +++ b/docker/cyborg/cyborg-api/extend_start.sh @@ -0,0 +1,16 @@ +#!/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 + cyborg-dbsync + exit 0 +fi + +if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then + # Loading Apache2 ENV variables + . /etc/apache2/envvars + rm -rf /var/run/apache2/* +else + rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd* +fi diff --git a/docker/cyborg/cyborg-base/Dockerfile.j2 b/docker/cyborg/cyborg-base/Dockerfile.j2 new file mode 100644 index 000000000..7e411b535 --- /dev/null +++ b/docker/cyborg/cyborg-base/Dockerfile.j2 @@ -0,0 +1,36 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block cyborg_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='cyborg') }} + +{% if install_type == 'binary' %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + +{% elif install_type == 'source' %} + +ADD cyborg-base-archive /cyborg-base-source + +{% set cyborg_base_pip_packages = [ + '/cyborg' +] %} + +RUN ln -s cyborg-base-source/* cyborg \ + && {{ macros.install_pip(cyborg_base_pip_packages | customizable("pip_packages")) }} + +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +COPY cyborg_sudoers /etc/sudoers.d/kolla_cyborg_sudoers + +RUN chmod 750 /etc/sudoers.d \ + && touch /usr/local/bin/kolla_cyborg_extend_start \ + && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_cyborg_extend_start + +{% block cyborg_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/cyborg/cyborg-base/cyborg_sudoers b/docker/cyborg/cyborg-base/cyborg_sudoers new file mode 100644 index 000000000..63440026d --- /dev/null +++ b/docker/cyborg/cyborg-base/cyborg_sudoers @@ -0,0 +1 @@ +%kolla ALL=(root) NOPASSWD: /usr/bin/chown -R cyborg\: /var/lib/cyborg/, /bin/chown -R cyborg\: /var/lib/cyborg/ diff --git a/docker/cyborg/cyborg-base/extend_start.sh b/docker/cyborg/cyborg-base/extend_start.sh new file mode 100755 index 000000000..10a58c626 --- /dev/null +++ b/docker/cyborg/cyborg-base/extend_start.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Create log dir for Cyborg logs +CYBORG_LOG_DIR="/var/log/kolla/cyborg" +if [[ ! -d "${CYBORG_LOG_DIR}" ]]; then + mkdir -p ${CYBORG_LOG_DIR} +fi +if [[ $(stat -c %U:%G ${CYBORG_LOG_DIR}) != "cyborg:kolla" ]]; then + chown cyborg:kolla ${CYBORG_LOG_DIR} +fi +if [[ $(stat -c %a ${CYBORG_LOG_DIR}) != "755" ]]; then + chmod 755 ${CYBORG_LOG_DIR} +fi + +. /usr/local/bin/kolla_cyborg_extend_start diff --git a/docker/cyborg/cyborg-conductor/Dockerfile.j2 b/docker/cyborg/cyborg-conductor/Dockerfile.j2 new file mode 100644 index 000000000..de0211bda --- /dev/null +++ b/docker/cyborg/cyborg-conductor/Dockerfile.j2 @@ -0,0 +1,7 @@ +FROM {{ namespace }}/{{ image_prefix }}cyborg-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block cyborg_conductor_header %}{% endblock %} + +{% block cyborg_conductor_footer %}{% endblock %} +{% block footer %}{% endblock %} |
