aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcaowei <cao.wei@99cloud.net>2016-11-08 22:57:51 +0800
committercaowei <cao.wei@99cloud.net>2016-11-14 14:23:44 +0800
commit2dae2f080ca814cfc6c753159540a74778ad1c33 (patch)
tree5576aeb6be09dda33bfec6b25608d1806cc83cd2
parentd389d7aacff98687a7fb625292cf767543e91f15 (diff)
downloadkolla-2dae2f080ca814cfc6c753159540a74778ad1c33.tar.gz
kolla-2dae2f080ca814cfc6c753159540a74778ad1c33.zip
Add karbor container
Change-Id: I8ed8840d06a1fdb87aad51f438ac6c38c1c14642 Partially-implements: bp karbor-container
-rw-r--r--docker/karbor/karbor-api/Dockerfile.j220
-rw-r--r--docker/karbor/karbor-api/extend_start.sh8
-rw-r--r--docker/karbor/karbor-base/Dockerfile.j229
-rw-r--r--docker/karbor/karbor-base/extend_start.sh10
-rw-r--r--docker/karbor/karbor-operationengine/Dockerfile.j217
-rw-r--r--docker/karbor/karbor-protection/Dockerfile.j217
-rw-r--r--kolla/common/config.py12
-rw-r--r--releasenotes/notes/add-karbor-e6cfd97f965a4a9f.yaml5
-rw-r--r--tests/test_build.py9
9 files changed, 120 insertions, 7 deletions
diff --git a/docker/karbor/karbor-api/Dockerfile.j2 b/docker/karbor/karbor-api/Dockerfile.j2
new file mode 100644
index 000000000..d8bbe7818
--- /dev/null
+++ b/docker/karbor/karbor-api/Dockerfile.j2
@@ -0,0 +1,20 @@
+FROM {{ namespace }}/{{ image_prefix }}karbor-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block karbor_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_karbor_extend_start
+RUN chmod 755 /usr/local/bin/kolla_karbor_extend_start
+
+{% block karbor_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+{{ include_footer }}
+
+USER karbor
diff --git a/docker/karbor/karbor-api/extend_start.sh b/docker/karbor/karbor-api/extend_start.sh
new file mode 100644
index 000000000..c5102072e
--- /dev/null
+++ b/docker/karbor/karbor-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
+ karbor-manage db sync
+ exit 0
+fi
diff --git a/docker/karbor/karbor-base/Dockerfile.j2 b/docker/karbor/karbor-base/Dockerfile.j2
new file mode 100644
index 000000000..26484070f
--- /dev/null
+++ b/docker/karbor/karbor-base/Dockerfile.j2
@@ -0,0 +1,29 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block karbor_base_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD karbor-base-archive /karbor-base-source
+RUN ln -s karbor-base-source/* karbor \
+ && useradd --user-group --create-home --home-dir /var/lib/karbor karbor \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /karbor \
+ && mkdir -p /etc/karbor \
+ && cp -r /karbor/etc/* /etc/karbor/ \
+ && chown -R karbor: /etc/karbor
+
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN usermod -a -G kolla karbor \
+ && touch /usr/local/bin/kolla_karbor_extend_start \
+ && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_karbor_extend_start
+
+{% block karbor_base_footer %}{% endblock %}
diff --git a/docker/karbor/karbor-base/extend_start.sh b/docker/karbor/karbor-base/extend_start.sh
new file mode 100644
index 000000000..db0fdacc8
--- /dev/null
+++ b/docker/karbor/karbor-base/extend_start.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ ! -d "/var/log/kolla/karbor" ]]; then
+ mkdir -p /var/log/kolla/karbor
+fi
+if [[ $(stat -c %a /var/log/kolla/karbor) != "755" ]]; then
+ chmod 755 /var/log/kolla/karbor
+fi
+
+. /usr/local/bin/kolla_karbor_extend_start
diff --git a/docker/karbor/karbor-operationengine/Dockerfile.j2 b/docker/karbor/karbor-operationengine/Dockerfile.j2
new file mode 100644
index 000000000..745fcd4a8
--- /dev/null
+++ b/docker/karbor/karbor-operationengine/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ image_prefix }}karbor-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block karbor_operationengine_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block karbor_operationengine_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+{{ include_footer }}
+
+USER karbor
diff --git a/docker/karbor/karbor-protection/Dockerfile.j2 b/docker/karbor/karbor-protection/Dockerfile.j2
new file mode 100644
index 000000000..9be5cca0b
--- /dev/null
+++ b/docker/karbor/karbor-protection/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ image_prefix }}karbor-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block karbor_protection_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block karbor_protection_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+{{ include_footer }}
+
+USER karbor
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 72c87e497..6c7b734df 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -46,10 +46,10 @@ _PROFILE_OPTS = [
help='Main images'),
cfg.ListOpt('aux',
default=['aodh', 'cloudkitty', 'congress', 'designate',
- 'freezer', 'gnocchi', 'influxdb', 'ironic', 'kuryr',
- 'magnum', 'manila', 'mistral', 'murano', 'panko',
- 'rally', 'sahara', 'searchlight', 'senlin', 'solum',
- 'telegraf', 'trove', 'zaqar'],
+ 'freezer', 'gnocchi', 'influxdb', 'ironic', 'karbor',
+ 'kuryr', 'magnum', 'manila', 'mistral', 'murano',
+ 'panko', 'rally', 'sahara', 'searchlight', 'senlin',
+ 'solum', 'telegraf', 'trove', 'zaqar'],
help='Aux Images'),
cfg.ListOpt('default',
default=['chrony', 'cron', 'kolla-toolbox', 'glance',
@@ -226,6 +226,10 @@ SOURCES = {
'type': 'url',
'location': ('http://tarballs.openstack.org/ironic-inspector/'
'ironic-inspector-master.tar.gz')},
+ 'karbor-base': {
+ 'type': 'url',
+ 'location': ('http://tarballs.openstack.org/karbor/'
+ 'karbor-master.tar.gz')},
'keystone-base': {
'type': 'url',
'location': ('http://tarballs.openstack.org/keystone/'
diff --git a/releasenotes/notes/add-karbor-e6cfd97f965a4a9f.yaml b/releasenotes/notes/add-karbor-e6cfd97f965a4a9f.yaml
new file mode 100644
index 000000000..1c24f66f6
--- /dev/null
+++ b/releasenotes/notes/add-karbor-e6cfd97f965a4a9f.yaml
@@ -0,0 +1,5 @@
+---
+features:
+ - Add Karbor Dockerfile , Karbor is an OpenStack project
+ that provides a pluggable framework for protecting and
+ restoring Data and Metadata.
diff --git a/tests/test_build.py b/tests/test_build.py
index 8b240c017..c786cf9b0 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -65,7 +65,8 @@ class BuildTest(object):
class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
- excluded_images = ["kuryr-base",
+ excluded_images = ["karbor-base",
+ "kuryr-base",
"neutron-sfc-agent",
"searchlight-base",
"senlin-base",
@@ -94,7 +95,8 @@ class BuildTestCentosSource(BuildTest, base.BaseTestCase):
class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
- excluded_images = ["kuryr-base",
+ excluded_images = ["karbor-base",
+ "kuryr-base",
"neutron-sfc-agent",
"searchlight-base",
"senlin-base",
@@ -124,7 +126,8 @@ class BuildTestUbuntuSource(BuildTest, base.BaseTestCase):
class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
- excluded_images = ["kuryr-base",
+ excluded_images = ["karbor-base",
+ "kuryr-base",
"neutron-sfc-agent",
"searchlight-base",
"senlin-base",