aboutsummaryrefslogtreecommitdiff
path: root/kolla/docker/manila
diff options
context:
space:
mode:
Diffstat (limited to 'kolla/docker/manila')
-rw-r--r--kolla/docker/manila/manila-api/Dockerfile.j223
-rw-r--r--kolla/docker/manila/manila-api/extend_start.sh9
-rw-r--r--kolla/docker/manila/manila-base/Dockerfile.j248
-rw-r--r--kolla/docker/manila/manila-base/extend_start.sh10
-rw-r--r--kolla/docker/manila/manila-base/manila_sudoers1
-rw-r--r--kolla/docker/manila/manila-data/Dockerfile.j231
-rw-r--r--kolla/docker/manila/manila-scheduler/Dockerfile.j215
-rw-r--r--kolla/docker/manila/manila-share/Dockerfile.j234
8 files changed, 171 insertions, 0 deletions
diff --git a/kolla/docker/manila/manila-api/Dockerfile.j2 b/kolla/docker/manila/manila-api/Dockerfile.j2
new file mode 100644
index 000000000..d7b75d388
--- /dev/null
+++ b/kolla/docker/manila/manila-api/Dockerfile.j2
@@ -0,0 +1,23 @@
+FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block manila_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% set manila_api_packages = [
+] %}
+{{ macros.install_packages(manila_api_packages | customizable("packages")) }}
+
+COPY extend_start.sh /usr/local/bin/kolla_manila_extend_start
+
+RUN chmod 644 /usr/local/bin/kolla_manila_extend_start
+
+{{ macros.kolla_patch_sources() }}
+
+{% block manila_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER manila
diff --git a/kolla/docker/manila/manila-api/extend_start.sh b/kolla/docker/manila/manila-api/extend_start.sh
new file mode 100644
index 000000000..bea77dbba
--- /dev/null
+++ b/kolla/docker/manila/manila-api/extend_start.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+set -o errexit
+
+# 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
+ manila-manage db sync
+ exit 0
+fi
diff --git a/kolla/docker/manila/manila-base/Dockerfile.j2 b/kolla/docker/manila/manila-base/Dockerfile.j2
new file mode 100644
index 000000000..a236a20df
--- /dev/null
+++ b/kolla/docker/manila/manila-base/Dockerfile.j2
@@ -0,0 +1,48 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block manila_base_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='manila') }}
+
+{% if base_package_type == 'rpm' %}
+
+{{ macros.enable_extra_repos(['openvswitch']) }}
+
+ {% set manila_base_packages = ['openvswitch${KOLLA_RPM_OVS_VERSION}'] %}
+
+{% elif base_package_type == 'deb' %}
+
+ {% set manila_base_packages = ['openvswitch-switch'] %}
+
+{% endif %}
+
+{{ macros.install_packages(manila_base_packages | customizable("packages")) }}
+
+ADD manila-base-archive /manila-base-source
+
+{% set manila_base_pip_packages = [
+ '/manila'
+] %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+COPY manila_sudoers /etc/sudoers.d/kolla_manila_sudoers
+
+RUN ln -s manila-base-source/* manila \
+ && {{ macros.install_pip(manila_base_pip_packages | customizable("pip_packages")) }} \
+ && mkdir -p /etc/manila /var/cache/manila \
+ && cp -r /manila/etc/manila/* /etc/manila/ \
+ && chown -R manila: /var/cache/manila \
+ && sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/manila/rootwrap.conf \
+ && chmod 750 /etc/sudoers.d \
+ && chmod 440 /etc/sudoers.d/kolla_manila_sudoers \
+ && touch /usr/local/bin/kolla_manila_extend_start \
+ && chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_manila_extend_start
+
+{{ macros.kolla_patch_sources() }}
+
+{% block manila_base_footer %}{% endblock %}
diff --git a/kolla/docker/manila/manila-base/extend_start.sh b/kolla/docker/manila/manila-base/extend_start.sh
new file mode 100644
index 000000000..c018416a3
--- /dev/null
+++ b/kolla/docker/manila/manila-base/extend_start.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ ! -d "/var/log/kolla/manila" ]]; then
+ mkdir -p /var/log/kolla/manila
+fi
+if [[ $(stat -c %a /var/log/kolla/manila) != "755" ]]; then
+ chmod 755 /var/log/kolla/manila
+fi
+
+. /usr/local/bin/kolla_manila_extend_start
diff --git a/kolla/docker/manila/manila-base/manila_sudoers b/kolla/docker/manila/manila-base/manila_sudoers
new file mode 100644
index 000000000..623e6789b
--- /dev/null
+++ b/kolla/docker/manila/manila-base/manila_sudoers
@@ -0,0 +1 @@
+manila ALL = (root) NOPASSWD: /var/lib/kolla/venv/bin/manila-rootwrap /etc/manila/rootwrap.conf *
diff --git a/kolla/docker/manila/manila-data/Dockerfile.j2 b/kolla/docker/manila/manila-data/Dockerfile.j2
new file mode 100644
index 000000000..06e1d9dc9
--- /dev/null
+++ b/kolla/docker/manila/manila-data/Dockerfile.j2
@@ -0,0 +1,31 @@
+FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block manila_data_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if base_package_type == 'rpm' %}
+
+ {% set manila_data_packages = [
+ 'nfs-utils'
+ ] %}
+
+{% elif base_package_type == 'deb' %}
+
+ {% set manila_data_packages = [
+ 'nfs-common'
+ ] %}
+
+{% endif %}
+
+{{ macros.install_packages(manila_data_packages | customizable("packages")) }}
+
+{{ macros.kolla_patch_sources() }}
+
+{% block manila_data_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER manila
diff --git a/kolla/docker/manila/manila-scheduler/Dockerfile.j2 b/kolla/docker/manila/manila-scheduler/Dockerfile.j2
new file mode 100644
index 000000000..12f7860f4
--- /dev/null
+++ b/kolla/docker/manila/manila-scheduler/Dockerfile.j2
@@ -0,0 +1,15 @@
+FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block manila_scheduler_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.kolla_patch_sources() }}
+
+{% block manila_scheduler_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER manila
diff --git a/kolla/docker/manila/manila-share/Dockerfile.j2 b/kolla/docker/manila/manila-share/Dockerfile.j2
new file mode 100644
index 000000000..161b6865a
--- /dev/null
+++ b/kolla/docker/manila/manila-share/Dockerfile.j2
@@ -0,0 +1,34 @@
+FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block manila_share_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if base_package_type == 'rpm' %}
+ {% set manila_share_packages = [
+ 'ceph-common',
+ 'sqlite',
+ ] %}
+{% elif base_package_type == 'deb' %}
+ {% set manila_share_packages = [
+ 'ceph-common',
+ 'glusterfs-client',
+ 'python3-cephfs',
+ 'python3-rados',
+ 'python3-rbd',
+ 'sqlite3'
+ ] %}
+
+{% endif %}
+
+{{ macros.install_packages(manila_share_packages | customizable("packages")) }}
+
+{{ macros.kolla_patch_sources() }}
+
+{% block manila_share_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER manila