aboutsummaryrefslogtreecommitdiff
path: root/docker/ec2-api
diff options
context:
space:
mode:
Diffstat (limited to 'docker/ec2-api')
-rw-r--r--docker/ec2-api/Dockerfile.j249
-rw-r--r--docker/ec2-api/extend_start.sh15
2 files changed, 64 insertions, 0 deletions
diff --git a/docker/ec2-api/Dockerfile.j2 b/docker/ec2-api/Dockerfile.j2
new file mode 100644
index 000000000..c461af526
--- /dev/null
+++ b/docker/ec2-api/Dockerfile.j2
@@ -0,0 +1,49 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block ec2_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='ec2api') }}
+
+{% if install_type == 'binary' %}
+
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+ {% set ec2_api_packages = [
+ 'openstack-ec2-api'
+ ] %}
+
+ {% elif base_distro in ['debian', 'ubuntu'] %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+ {% endif %}
+
+{{ macros.install_packages(ec2_api_packages | customizable("packages")) }}
+
+{% elif install_type == 'source' %}
+
+ADD ec2-api-archive /ec2-api-source
+
+{% set ec2_api_pip_packages = [
+ '/ec2-api'
+] %}
+
+RUN ln -s ec2-api-source/* ec2-api \
+ && {{ macros.install_pip(ec2_api_pip_packages | customizable("pip_packages")) }} \
+ && mkdir -p /etc/ec2api \
+ && cp -r /ec2-api/etc/ec2api/* /etc/ec2api \
+ && chown -R ec2api: /etc/ec2api
+
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN chmod 755 /usr/local/bin/kolla_extend_start
+
+{% block ec2_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER ec2api
diff --git a/docker/ec2-api/extend_start.sh b/docker/ec2-api/extend_start.sh
new file mode 100644
index 000000000..2ecd20b20
--- /dev/null
+++ b/docker/ec2-api/extend_start.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+if [[ ! -d "/var/log/kolla/ec2-api" ]]; then
+ mkdir -p /var/log/kolla/ec2-api
+fi
+if [[ $(stat -c %a /var/log/kolla/ec2-api) != "755" ]]; then
+ chmod 755 /var/log/kolla/ec2-api
+fi
+
+# 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
+ ec2-api-manage db_sync
+ exit 0
+fi