diff options
| author | Bertrand Lallau <bertrand.lallau@gmail.com> | 2017-08-29 22:44:14 +0200 |
|---|---|---|
| committer | Duong Ha-Quang <duonghq@vn.fujitsu.com> | 2017-11-09 09:40:37 +0000 |
| commit | b8f7693d41bcdef7f6f0af96f9fb31b74e7c7204 (patch) | |
| tree | 743cef4ad673b7edca3d6f6461e5fd62d49bb188 | |
| parent | 9674e2da1c1e0c5efffdace8e12849912210e197 (diff) | |
| download | kolla-b8f7693d41bcdef7f6f0af96f9fb31b74e7c7204.tar.gz kolla-b8f7693d41bcdef7f6f0af96f9fb31b74e7c7204.zip | |
Implement Almanach Docker images
Almanach record the utilization of OpenStack resources for each tenant.
Implements: blueprint containerized-almanach
Change-Id: Iba2e16772864a6f0169ec43d7a87d741882cd51c
| -rw-r--r-- | README.rst | 1 | ||||
| -rw-r--r-- | docker/almanach/almanach-api/Dockerfile.j2 | 16 | ||||
| -rw-r--r-- | docker/almanach/almanach-base/Dockerfile.j2 | 34 | ||||
| -rw-r--r-- | docker/almanach/almanach-base/extend_start.sh | 8 | ||||
| -rw-r--r-- | docker/almanach/almanach-collector/Dockerfile.j2 | 16 | ||||
| -rwxr-xr-x | kolla/common/config.py | 9 | ||||
| -rwxr-xr-x | kolla/image/build.py | 4 | ||||
| -rw-r--r-- | releasenotes/notes/almanach-images-f0a9a424ac3fe7cd.yaml | 3 |
8 files changed, 91 insertions, 0 deletions
diff --git a/README.rst b/README.rst index 8c67cc7e8..b70d6d0da 100644 --- a/README.rst +++ b/README.rst @@ -75,6 +75,7 @@ OpenStack services Kolla provides images to deploy the following OpenStack projects: +- `Almanach <https://almanach.readthedocs.io/>`__ - `Aodh <https://docs.openstack.org/aodh/latest/>`__ - `Barbican <https://docs.openstack.org/barbican/latest/>`__ - `Bifrost <https://docs.openstack.org/bifrost/latest/>`__ diff --git a/docker/almanach/almanach-api/Dockerfile.j2 b/docker/almanach/almanach-api/Dockerfile.j2 new file mode 100644 index 000000000..d1075ee6d --- /dev/null +++ b/docker/almanach/almanach-api/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{ namespace }}/{{ image_prefix }}almanach-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block almanach_api_header %}{% endblock %} + +{% if install_type == 'binary' %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + +{% endif %} + +{% block almanach_api_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER almanach diff --git a/docker/almanach/almanach-base/Dockerfile.j2 b/docker/almanach/almanach-base/Dockerfile.j2 new file mode 100644 index 000000000..3a55f775b --- /dev/null +++ b/docker/almanach/almanach-base/Dockerfile.j2 @@ -0,0 +1,34 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block almanach_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='almanach') }} + +{% if install_type == 'binary' %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + +{% elif install_type == 'source' %} + +ADD almanach-base-archive /almanach-base-source + +{% set almanach_base_pip_packages = [ + '/almanach' +] %} + +RUN ln -s almanach-base-source/* almanach \ + && {{ macros.install_pip(almanach_base_pip_packages | customizable("pip_packages")) }} \ + && mkdir -p /etc/almanach \ + && chown -R almanach: /etc/almanach + +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start + +RUN chmod 755 /usr/local/bin/kolla_extend_start + +{% block almanach_base_footer %}{% endblock %} diff --git a/docker/almanach/almanach-base/extend_start.sh b/docker/almanach/almanach-base/extend_start.sh new file mode 100644 index 000000000..a4ffb9fe9 --- /dev/null +++ b/docker/almanach/almanach-base/extend_start.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +if [[ ! -d "/var/log/kolla/almanach" ]]; then + mkdir -p /var/log/kolla/almanach +fi +if [[ $(stat -c %a /var/log/kolla/almanach) != "755" ]]; then + chmod 755 /var/log/kolla/almanach +fi diff --git a/docker/almanach/almanach-collector/Dockerfile.j2 b/docker/almanach/almanach-collector/Dockerfile.j2 new file mode 100644 index 000000000..ae66a7c14 --- /dev/null +++ b/docker/almanach/almanach-collector/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{ namespace }}/{{ image_prefix }}almanach-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block almanach_collector_header %}{% endblock %} + +{% if install_type == 'binary' %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + +{% endif %} + +{% block almanach_collector_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER almanach diff --git a/kolla/common/config.py b/kolla/common/config.py index 56910be96..c0e3b8867 100755 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -95,6 +95,7 @@ _PROFILE_OPTS = [ help='Main images'), cfg.ListOpt('aux', default=[ + 'almanach', 'aodh', 'blazar', 'cloudkitty', @@ -278,6 +279,10 @@ SOURCES = { 'type': 'url', 'location': ('$tarballs_base/requirements/' 'requirements-master.tar.gz')}, + 'almanach-base': { + 'type': 'url', + 'location': ('$tarballs_base/almanach/' + 'almanach-master.tar.gz')}, 'aodh-base': { 'type': 'url', 'location': ('$tarballs_base/aodh/' @@ -946,6 +951,10 @@ USERS = { 'fluentd-user': { 'uid': 42474, 'gid': 42474, + }, + 'almanach-user': { + 'uid': 42475, + 'gid': 42475, } } diff --git a/kolla/image/build.py b/kolla/image/build.py index 94b72eff1..6af8f24aa 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -96,6 +96,7 @@ STATUS_ERRORS = (STATUS_CONNECTION_ERROR, STATUS_PUSH_ERROR, SKIPPED_IMAGES = { 'centos+binary': [ + "almanach-base", "bifrost-base", "blazar-base", "dragonflow-base", @@ -117,6 +118,7 @@ SKIPPED_IMAGES = { "ovsdpdk", ], 'ubuntu+binary': [ + "almanach-base", "bifrost-base", "blazar-base", "cloudkitty-base", @@ -145,6 +147,7 @@ SKIPPED_IMAGES = { "tripleo-ui" ], 'debian+binary': [ + "almanach-base", "bifrost-base", "blazar-base", "cloudkitty-base", @@ -175,6 +178,7 @@ SKIPPED_IMAGES = { "tripleo-ui" ], 'oraclelinux+binary': [ + "almanach-base", "bifrost-base", "blazar-base", "dragonflow-base", diff --git a/releasenotes/notes/almanach-images-f0a9a424ac3fe7cd.yaml b/releasenotes/notes/almanach-images-f0a9a424ac3fe7cd.yaml new file mode 100644 index 000000000..b7587df36 --- /dev/null +++ b/releasenotes/notes/almanach-images-f0a9a424ac3fe7cd.yaml @@ -0,0 +1,3 @@ +--- +features: + - Almanach Docker images are available in Kolla |
