Add ec2-api image

Initial image for EC2-API, a standalone service for OpenStack that
supports AWS EC2 and VPC API.

Change-Id: Ia8d611cc3988499baf15e731fd053f38ad9b5079
This commit is contained in:
Sven Anderson 2017-05-26 21:16:20 +02:00
parent 328acb02a0
commit cede69b96d
5 changed files with 78 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -97,6 +97,7 @@ _PROFILE_OPTS = [
'congress',
'designate',
'dragonflow',
'ec2-api',
'freezer',
'gnocchi',
'influxdb',
@ -309,6 +310,10 @@ SOURCES = {
'type': 'url',
'location': ('$tarballs_base/dragonflow/'
'dragonflow-master.tar.gz')},
'ec2-api': {
'type': 'url',
'location': ('$tarballs_base/ec2-api/'
'ec2-api-master.tar.gz')},
'freezer-api': {
'type': 'url',
'location': ('$tarballs_base/freezer-api/'
@ -853,6 +858,10 @@ USERS = {
'qdrouterd-user': {
'uid': 42465,
'gid': 42465,
},
'ec2api-user': {
'uid': 42466,
'gid': 42466,
}
}

View File

@ -0,0 +1,3 @@
---
features:
- add image for EC2-API service

View File

@ -117,6 +117,7 @@ class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
"cloudkitty-base",
"congress-base",
"dragonflow-base",
"ec2-api",
"freezer-base",
"heat-all",
"karbor-base",
@ -160,6 +161,7 @@ class BuildTestDebianBinary(BuildTest, base.BaseTestCase):
"cloudkitty-base",
"congress-base",
"dragonflow-base",
"ec2-api",
"freezer-base",
"heat-all",
"karbor-base",