aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-07-14 15:08:14 +0000
committerGerrit Code Review <review@openstack.org>2017-07-14 15:08:14 +0000
commit6f74c6c484a90dcfd05a3eec6737408bd7e7b9af (patch)
tree6dce2e4c961317e6d2133ac9d76fc8d4caacf2a1
parent2b43dc03a9cbfabf3389cb70ac29af072a4fd289 (diff)
parent7b1e550c3fe30c1039e6cf0ace9ef36f44358433 (diff)
downloadkolla-6f74c6c484a90dcfd05a3eec6737408bd7e7b9af.tar.gz
kolla-6f74c6c484a90dcfd05a3eec6737408bd7e7b9af.zip
Merge "Implement blazar Docker images"
-rw-r--r--README.rst1
-rw-r--r--docker/blazar/blazar-api/Dockerfile.j219
-rw-r--r--docker/blazar/blazar-api/extend_start.sh8
-rw-r--r--docker/blazar/blazar-base/Dockerfile.j237
-rw-r--r--docker/blazar/blazar-base/extend_start.sh10
-rw-r--r--docker/blazar/blazar-manager/Dockerfile.j216
-rwxr-xr-xkolla/common/config.py9
-rw-r--r--releasenotes/notes/blazar-images-c54435b3bd5b0425.yaml3
-rw-r--r--tests/test_build.py4
9 files changed, 107 insertions, 0 deletions
diff --git a/README.rst b/README.rst
index 577330d17..889abc04e 100644
--- a/README.rst
+++ b/README.rst
@@ -78,6 +78,7 @@ Kolla provides images to deploy the following OpenStack projects:
- `Aodh <https://docs.openstack.org/developer/aodh/>`__
- `Barbican <https://docs.openstack.org/developer/barbican/>`__
- `Bifrost <https://docs.openstack.org/developer/bifrost/>`__
+- `Blazar <https://blazar.readthedocs.io/en/latest/>`__
- `Ceilometer <https://docs.openstack.org/developer/ceilometer/>`__
- `Cinder <https://docs.openstack.org/developer/cinder/>`__
- `CloudKitty <https://docs.openstack.org/developer/cloudkitty/>`__
diff --git a/docker/blazar/blazar-api/Dockerfile.j2 b/docker/blazar/blazar-api/Dockerfile.j2
new file mode 100644
index 000000000..9ad121407
--- /dev/null
+++ b/docker/blazar/blazar-api/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ image_prefix }}blazar-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block blazar_api_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_blazar_extend_start
+RUN chmod 755 /usr/local/bin/kolla_blazar_extend_start
+
+{% block blazar_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER blazar
diff --git a/docker/blazar/blazar-api/extend_start.sh b/docker/blazar/blazar-api/extend_start.sh
new file mode 100644
index 000000000..ff4f2b801
--- /dev/null
+++ b/docker/blazar/blazar-api/extend_start.sh
@@ -0,0 +1,8 @@
+#!/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
+ blazar-db-manage --config-file /etc/blazar/blazar.conf upgrade head
+ exit 0
+fi
diff --git a/docker/blazar/blazar-base/Dockerfile.j2 b/docker/blazar/blazar-base/Dockerfile.j2
new file mode 100644
index 000000000..0a31243b5
--- /dev/null
+++ b/docker/blazar/blazar-base/Dockerfile.j2
@@ -0,0 +1,37 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block blazar_base_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='blazar') }}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD blazar-base-archive /blazar-base-source
+
+{% set blazar_base_pip_packages = [
+ '/blazar'
+] %}
+
+RUN ln -s blazar-base-source/* blazar \
+ && {{ macros.install_pip(blazar_base_pip_packages | customizable("pip_packages")) }} \
+ && mkdir -p /etc/blazar \
+ && cp -r /blazar/etc/blazar/* /etc/blazar \
+ && cp /blazar/etc/policy.json /etc/blazar \
+ && chown -R blazar: /etc/blazar
+
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN touch /usr/local/bin/kolla_blazar_extend_start \
+ && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_blazar_extend_start
+
+{% block blazar_base_footer %}{% endblock %}
diff --git a/docker/blazar/blazar-base/extend_start.sh b/docker/blazar/blazar-base/extend_start.sh
new file mode 100644
index 000000000..a96a4c113
--- /dev/null
+++ b/docker/blazar/blazar-base/extend_start.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ ! -d "/var/log/kolla/blazar" ]]; then
+ mkdir -p /var/log/kolla/blazar
+fi
+if [[ $(stat -c %a /var/log/kolla/blazar) != "755" ]]; then
+ chmod 755 /var/log/kolla/blazar
+fi
+
+. /usr/local/bin/kolla_blazar_extend_start
diff --git a/docker/blazar/blazar-manager/Dockerfile.j2 b/docker/blazar/blazar-manager/Dockerfile.j2
new file mode 100644
index 000000000..01aca3d82
--- /dev/null
+++ b/docker/blazar/blazar-manager/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}blazar-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block blazar_manager_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block blazar_manager_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER blazar
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 20f1965a6..d0f87489e 100755
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -94,6 +94,7 @@ _PROFILE_OPTS = [
cfg.ListOpt('aux',
default=[
'aodh',
+ 'blazar',
'cloudkitty',
'congress',
'designate',
@@ -286,6 +287,10 @@ SOURCES = {
'type': 'url',
'location': ('$tarballs_base/bifrost/'
'bifrost-master.tar.gz')},
+ 'blazar-base': {
+ 'type': 'url',
+ 'location': ('$tarballs_base/blazar/'
+ 'blazar-master.tar.gz')},
'ceilometer-base': {
'type': 'url',
'location': ('$tarballs_base/ceilometer/'
@@ -911,6 +916,10 @@ USERS = {
'novajoin-user': {
'uid': 42470,
'gid': 42470,
+ },
+ 'blazar-user': {
+ 'uid': 42471,
+ 'gid': 42471,
}
}
diff --git a/releasenotes/notes/blazar-images-c54435b3bd5b0425.yaml b/releasenotes/notes/blazar-images-c54435b3bd5b0425.yaml
new file mode 100644
index 000000000..36627c6d8
--- /dev/null
+++ b/releasenotes/notes/blazar-images-c54435b3bd5b0425.yaml
@@ -0,0 +1,3 @@
+---
+features:
+ - Blazar Docker images are available in Kolla
diff --git a/tests/test_build.py b/tests/test_build.py
index bea562799..49e074da7 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -74,6 +74,7 @@ class BuildTest(object):
class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
excluded_images = [
"bifrost-base",
+ "blazar-base",
"dragonflow-base",
"freezer-base",
"kafka",
@@ -114,6 +115,7 @@ class BuildTestCentosSource(BuildTest, base.BaseTestCase):
class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
excluded_images = [
"bifrost-base",
+ "blazar-base",
"cloudkitty-base",
"congress-base",
"dragonflow-base",
@@ -158,6 +160,7 @@ class BuildTestUbuntuSource(BuildTest, base.BaseTestCase):
class BuildTestDebianBinary(BuildTest, base.BaseTestCase):
excluded_images = [
"bifrost-base",
+ "blazar-base",
"cloudkitty-base",
"congress-base",
"dragonflow-base",
@@ -204,6 +207,7 @@ class BuildTestDebianSource(BuildTest, base.BaseTestCase):
class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
excluded_images = [
"bifrost-base",
+ "blazar-base",
"dragonflow-base",
"freezer-base",
"kafka",