aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/centos/binary/cinder-app/cinder-api/Dockerfile6
l---------docker/centos/binary/cinder-app/cinder-api/build1
-rwxr-xr-xdocker/centos/binary/cinder-app/cinder-api/check.sh16
-rwxr-xr-xdocker/centos/binary/cinder-app/cinder-api/start.sh73
-rw-r--r--docker/centos/binary/cinder-app/cinder-backup/Dockerfile6
l---------docker/centos/binary/cinder-app/cinder-backup/build1
-rwxr-xr-xdocker/centos/binary/cinder-app/cinder-backup/start.sh36
-rw-r--r--docker/centos/binary/cinder-app/cinder-base/Dockerfile (renamed from docker/centos/binary/cinder/Dockerfile)3
l---------docker/centos/binary/cinder-app/cinder-base/build1
-rw-r--r--docker/centos/binary/cinder-app/cinder-base/config-cinder.sh132
-rw-r--r--docker/centos/binary/cinder-app/cinder-scheduler/Dockerfile6
l---------docker/centos/binary/cinder-app/cinder-scheduler/build1
-rwxr-xr-xdocker/centos/binary/cinder-app/cinder-scheduler/start.sh32
-rw-r--r--docker/centos/binary/cinder-app/cinder-volume/Dockerfile17
l---------docker/centos/binary/cinder-app/cinder-volume/build1
-rwxr-xr-xdocker/centos/binary/cinder-app/cinder-volume/start.sh75
-rwxr-xr-xdocker/centos/binary/cinder-app/cinder-volume/volume-group-create.sh22
-rw-r--r--docker/centos/binary/cinder-data/Dockerfile9
l---------docker/centos/binary/cinder-data/build (renamed from docker/centos/binary/cinder/build)0
-rwxr-xr-xdocker/centos/binary/cinder/start.sh145
20 files changed, 436 insertions, 147 deletions
diff --git a/docker/centos/binary/cinder-app/cinder-api/Dockerfile b/docker/centos/binary/cinder-app/cinder-api/Dockerfile
new file mode 100644
index 000000000..6fcb41eec
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-api/Dockerfile
@@ -0,0 +1,6 @@
+FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%cinder-base:%%KOLLA_TAG%%
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+COPY ./start.sh ./check.sh /
+
+CMD ["/start.sh"]
diff --git a/docker/centos/binary/cinder-app/cinder-api/build b/docker/centos/binary/cinder-app/cinder-api/build
new file mode 120000
index 000000000..ec1913803
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-api/build
@@ -0,0 +1 @@
+../../../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/centos/binary/cinder-app/cinder-api/check.sh b/docker/centos/binary/cinder-app/cinder-api/check.sh
new file mode 100755
index 000000000..57b88f566
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-api/check.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+RES=0
+
+. /openrc
+if ! keystone token-get > /dev/null; then
+ echo "ERROR: keystone token-get failed" >&2
+ RES=1
+else
+ if ! cinder list > /dev/null; then
+ echo "ERROR: cinder list failed" >&2
+ RES=1
+ fi
+fi
+
+exit $RES
diff --git a/docker/centos/binary/cinder-app/cinder-api/start.sh b/docker/centos/binary/cinder-app/cinder-api/start.sh
new file mode 100755
index 000000000..28293ac6c
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-api/start.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-cinder.sh
+
+check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
+ ADMIN_TENANT_NAME PUBLIC_IP CINDER_API_SERVICE_HOST \
+ KEYSTONE_AUTH_PROTOCOL KEYSTONE_ADMIN_SERVICE_PORT \
+ CINDER_KEYSTONE_USER CINDER_KEYSTONE_PASSWORD \
+ CINDER_API_LOG_FILE CINDER_API_SERVICE_LISTEN \
+ CINDER_API_SERVICE_PORT CINDER_API_SERVICE_LISTEN
+
+fail_unless_os_service_running keystone
+
+cfg=/etc/cinder/cinder.conf
+
+# Set the auth credentials
+export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
+export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0"
+
+# Create Keystone User
+crux user-create --update \
+ -n "${CINDER_KEYSTONE_USER}" \
+ -p "${CINDER_KEYSTONE_PASSWORD}" \
+ -t "${ADMIN_TENANT_NAME}" \
+ -r admin
+
+# Configure Keystone
+crux endpoint-create --remove-all \
+ -n cinder \
+ -t volume \
+ -P "http://${CINDER_API_SERVICE_HOST}:${CINDER_API_SERVICE_PORT}/v1/\$(tenant_id)s" \
+ -A "http://${CINDER_API_SERVICE_HOST}:${CINDER_API_SERVICE_PORT}/v1/\$(tenant_id)s" \
+ -I "http://${CINDER_API_SERVICE_HOST}:${CINDER_API_SERVICE_PORT}/v1/\$(tenant_id)s"
+
+crux endpoint-create --remove-all \
+ -n cinderv2 \
+ -t volumev2 \
+ -P "http://${CINDER_API_SERVICE_HOST}:${CINDER_API_SERVICE_PORT}/v2/\$(tenant_id)s" \
+ -A "http://${CINDER_API_SERVICE_HOST}:${CINDER_API_SERVICE_PORT}/v2/\$(tenant_id)s" \
+ -I "http://${CINDER_API_SERVICE_HOST}:${CINDER_API_SERVICE_PORT}/v2/\$(tenant_id)s"
+
+# Logging
+crudini --set $cfg \
+ DEFAULT \
+ log_file \
+ "${CINDER_API_LOG_FILE}"
+
+# API Configuration
+crudini --set $cfg \
+ DEFAULT \
+ osapi_volume_listen \
+ "${CINDER_API_SERVICE_LISTEN}"
+
+crudini --set $cfg \
+ DEFAULT \
+ osapi_volume_listen_port \
+ "${CINDER_API_SERVICE_PORT}"
+
+crudini --set $cfg \
+ DEFAULT \
+ enable_v1_api \
+ "true"
+
+crudini --set $cfg \
+ DEFAULT \
+ enable_v2_api \
+ "true"
+
+echo "Starting cinder-api"
+exec /usr/bin/cinder-api --config-file $cfg
diff --git a/docker/centos/binary/cinder-app/cinder-backup/Dockerfile b/docker/centos/binary/cinder-app/cinder-backup/Dockerfile
new file mode 100644
index 000000000..fb44155b3
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-backup/Dockerfile
@@ -0,0 +1,6 @@
+FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%cinder-base:%%KOLLA_TAG%%
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+COPY ./start.sh /start.sh
+
+CMD ["/start.sh"]
diff --git a/docker/centos/binary/cinder-app/cinder-backup/build b/docker/centos/binary/cinder-app/cinder-backup/build
new file mode 120000
index 000000000..ec1913803
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-backup/build
@@ -0,0 +1 @@
+../../../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/centos/binary/cinder-app/cinder-backup/start.sh b/docker/centos/binary/cinder-app/cinder-backup/start.sh
new file mode 100755
index 000000000..5dff79b35
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-backup/start.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-cinder.sh
+
+check_required_vars CINDER_BACKUP_DRIVER CINDER_BACKUP_MANAGER \
+ CINDER_BACKUP_API_CLASS CINDER_BACKUP_NAME_TEMPLATE
+
+cfg=/etc/cinder/cinder.conf
+
+# volume backup configuration
+crudini --set $cfg \
+ DEFAULT \
+ backup_driver \
+ "${CINDER_BACKUP_DRIVER}"
+crudini --set $cfg \
+ DEFAULT \
+ backup_topic \
+ "cinder-backup"
+crudini --set $cfg \
+ DEFAULT \
+ backup_manager \
+ "${CINDER_BACKUP_MANAGER}"
+crudini --set $cfg \
+ DEFAULT \
+ backup_api_class \
+ "${CINDER_BACKUP_API_CLASS}"
+crudini --set $cfg \
+ DEFAULT \
+ backup_name_template \
+ "${CINDER_BACKUP_NAME_TEMPLATE}"
+
+echo "Starting cinder-backup"
+exec /usr/bin/cinder-backup --config-file $cfg
diff --git a/docker/centos/binary/cinder/Dockerfile b/docker/centos/binary/cinder-app/cinder-base/Dockerfile
index 3dd7eca59..643f0645b 100644
--- a/docker/centos/binary/cinder/Dockerfile
+++ b/docker/centos/binary/cinder-app/cinder-base/Dockerfile
@@ -3,6 +3,5 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum -y install openstack-cinder && yum clean all
-ADD ./start.sh /start.sh
-CMD ["/start.sh"]
+COPY config-cinder.sh /opt/kolla/config-cinder.sh
diff --git a/docker/centos/binary/cinder-app/cinder-base/build b/docker/centos/binary/cinder-app/cinder-base/build
new file mode 120000
index 000000000..ec1913803
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-base/build
@@ -0,0 +1 @@
+../../../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/centos/binary/cinder-app/cinder-base/config-cinder.sh b/docker/centos/binary/cinder-app/cinder-base/config-cinder.sh
new file mode 100644
index 000000000..f82cb5510
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-base/config-cinder.sh
@@ -0,0 +1,132 @@
+#!/bin/sh
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+
+check_required_vars CINDER_DB_PASSWORD CINDER_KEYSTONE_PASSWORD \
+ KEYSTONE_PUBLIC_SERVICE_HOST RABBITMQ_SERVICE_HOST \
+ GLANCE_API_SERVICE_HOST MARIADB_SERVICE_HOST \
+ RABBITMQ_SERVICE_HOST RABBITMQ_SERVICE_PORT \
+ RABBIT_USERID RABBIT_PASSWORD GLANCE_API_SERVICE_HOST \
+ GLANCE_API_SERVICE_PORT ADMIN_TENANT_NAME \
+ CINDER_DB_NAME CINDER_DB_USER CINDER_KEYSTONE_USER \
+ PUBLIC_IP KEYSTONE_AUTH_PROTOCOL CINDER_LOG_DIR
+
+dump_vars
+
+cat > /openrc <<EOF
+export OS_AUTH_URL="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_SERVICE_PORT}/v2.0"
+export OS_USERNAME="${CINDER_KEYSTONE_USER}"
+export OS_PASSWORD="${CINDER_KEYSTONE_PASSWORD}"
+export OS_TENANT_NAME="${ADMIN_TENANT_NAME}"
+EOF
+
+cfg=/etc/cinder/cinder.conf
+
+# Logging
+crudini --set $cfg \
+ DEFAULT \
+ log_dir \
+ "${CINDER_LOG_DIR}"
+crudini --set $cfg \
+ DEFAULT \
+ verbose \
+ "${VERBOSE_LOGGING}"
+crudini --set $cfg \
+ DEFAULT \
+ debug \
+ "${DEBUG_LOGGING}"
+
+# backend
+crudini --set $cfg \
+ DEFAULT \
+ rpc_backend \
+ "cinder.openstack.common.rpc.impl_kombu"
+
+# rabbit
+crudini --set $cfg \
+ DEFAULT \
+ rabbit_host \
+ "${RABBITMQ_SERVICE_HOST}"
+crudini --set $cfg \
+ DEFAULT \
+ rabbit_port \
+ "${RABBITMQ_SERVICE_PORT}"
+crudini --set $cfg \
+ DEFAULT \
+ rabbit_hosts \
+ "${RABBITMQ_SERVICE_HOST}:${RABBITMQ_SERVICE_PORT}"
+crudini --set $cfg \
+ DEFAULT \
+ rabbit_userid \
+ "${RABBIT_USERID}"
+crudini --set $cfg \
+ DEFAULT \
+ rabbit_password \
+ "${RABBIT_PASSWORD}"
+crudini --set /etc/cinder/cinder.conf \
+ DEFAULT \
+ rabbit_virtual_host \
+ "/"
+crudini --set /etc/cinder/cinder.conf \
+ DEFAULT \
+ rabbit_ha_queues \
+ "False"
+
+# control_exchange
+crudini --set /etc/cinder/cinder.conf \
+ DEFAULT \
+ control_exchange \
+ "openstack"
+
+# glance
+crudini --set $cfg \
+ DEFAULT \
+ glance_host \
+ "${GLANCE_API_SERVICE_HOST}"
+crudini --set $cfg \
+ DEFAULT \
+ glance_port \
+ "${GLANCE_API_SERVICE_PORT}"
+
+# database
+crudini --set $cfg \
+ database \
+ connection \
+ "mysql://${CINDER_DB_USER}:${CINDER_DB_PASSWORD}@${MARIADB_SERVICE_HOST}/${CINDER_DB_NAME}"
+
+# keystone
+crudini --set $cfg \
+ DEFAULT \
+ auth_strategy \
+ "keystone"
+crudini --del $cfg \
+ keystone_authtoken \
+ auth_protocol
+crudini --del $cfg \
+ keystone_authtoken \
+ auth_host
+crudini --del $cfg \
+ keystone_authtoken \
+ auth_port
+crudini --set $cfg \
+ keystone_authtoken \
+ auth_uri \
+ "${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_SERVICE_PORT}/v2.0"
+crudini --set $cfg \
+ keystone_authtoken \
+ identity_uri \
+ "${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}"
+crudini --set $cfg \
+ keystone_authtoken \
+ admin_tenant_name \
+ "${ADMIN_TENANT_NAME}"
+crudini --set $cfg \
+ keystone_authtoken \
+ admin_user \
+ "${CINDER_KEYSTONE_USER}"
+crudini --set $cfg \
+ keystone_authtoken \
+ admin_password \
+ "${CINDER_KEYSTONE_PASSWORD}"
diff --git a/docker/centos/binary/cinder-app/cinder-scheduler/Dockerfile b/docker/centos/binary/cinder-app/cinder-scheduler/Dockerfile
new file mode 100644
index 000000000..344dc142f
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-scheduler/Dockerfile
@@ -0,0 +1,6 @@
+FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%cinder-base:%%KOLLA_TAG%%
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+ADD ./start.sh /start.sh
+
+CMD ["/start.sh"]
diff --git a/docker/centos/binary/cinder-app/cinder-scheduler/build b/docker/centos/binary/cinder-app/cinder-scheduler/build
new file mode 120000
index 000000000..ec1913803
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-scheduler/build
@@ -0,0 +1 @@
+../../../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/centos/binary/cinder-app/cinder-scheduler/start.sh b/docker/centos/binary/cinder-app/cinder-scheduler/start.sh
new file mode 100755
index 000000000..93efeb406
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-scheduler/start.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-cinder.sh
+
+fail_unless_db
+
+check_required_vars MARIADB_SERVICE_HOST DB_ROOT_PASSWORD \
+ CINDER_DB_NAME CINDER_DB_USER CINDER_DB_PASSWORD \
+ CINDER_SCHEDULER_LOG_FILE INIT_CINDER_DB
+
+cfg=/etc/cinder/cinder.conf
+
+if [ "${INIT_CINDER_DB}" == "true" ]; then
+ mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${CINDER_DB_NAME};
+GRANT ALL PRIVILEGES ON ${CINDER_DB_NAME}.* TO
+'${CINDER_DB_USER}'@'%' IDENTIFIED BY '${CINDER_DB_PASSWORD}'
+EOF
+
+ su -s /bin/sh -c "cinder-manage db sync" cinder
+fi
+
+crudini --set $cfg \
+ DEFAULT \
+ log_file \
+ "${CINDER_SCHEDULER_LOG_FILE}"
+
+echo "Starting cinder-scheduler"
+exec /usr/bin/cinder-scheduler --config-file $cfg
diff --git a/docker/centos/binary/cinder-app/cinder-volume/Dockerfile b/docker/centos/binary/cinder-app/cinder-volume/Dockerfile
new file mode 100644
index 000000000..d82fed03c
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-volume/Dockerfile
@@ -0,0 +1,17 @@
+FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%cinder-base:%%KOLLA_TAG%%
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+# Install required packages
+# https://bugs.launchpad.net/kolla/+bug/1460129
+# Iscsi will be removed from cinder-volume in a later patch
+# so that we continue to follow the container best practices.
+# There will also be other backends for cinder and iscsi should
+# not be hardcoded here.
+RUN yum install -y lvm2 scsi-target-utils && yum clean all
+
+# Add start scripts
+COPY start.sh /start.sh
+COPY volume-group-create.sh /opt/kolla/volume-group-create.sh
+
+# Start supervisor
+CMD ["/start.sh"]
diff --git a/docker/centos/binary/cinder-app/cinder-volume/build b/docker/centos/binary/cinder-app/cinder-volume/build
new file mode 120000
index 000000000..ec1913803
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-volume/build
@@ -0,0 +1 @@
+../../../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/centos/binary/cinder-app/cinder-volume/start.sh b/docker/centos/binary/cinder-app/cinder-volume/start.sh
new file mode 100755
index 000000000..db29e75de
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-volume/start.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-cinder.sh
+. /opt/kolla/volume-group-create.sh
+
+check_required_vars CINDER_VOLUME_API_LISTEN ISCSI_HELPER ISCSI_IP_ADDRESS \
+ CINDER_VOLUME_GROUP CINDER_LVM_LO_VOLUME_SIZE \
+ CINDER_VOLUME_BACKEND_NAME CINDER_VOLUME_DRIVER \
+ CINDER_ENABLED_BACKEND CINDER_VOLUME_LOG_FILE
+
+cfg=/etc/cinder/cinder.conf
+
+# Logging
+crudini --set $cfg \
+ DEFAULT \
+ log_file \
+ "${CINDER_VOLUME_LOG_FILE}"
+
+# IP address on which OpenStack Volume API listens
+crudini --set $cfg \
+ DEFAULT \
+ osapi_volume_listen \
+ "${CINDER_VOLUME_API_LISTEN}"
+
+# The IP address that the iSCSI daemon is listening on
+crudini --set $cfg \
+ DEFAULT \
+ iscsi_ip_address \
+ "${ISCSI_IP_ADDRESS}"
+
+# Set to false when using loopback devices (testing)
+crudini --set $cfg \
+ DEFAULT \
+ secure_delete \
+ "false"
+
+crudini --set $cfg \
+ DEFAULT \
+ enabled_backends \
+ "${CINDER_ENABLED_BACKEND}"
+
+crudini --set $cfg \
+ lvm57 \
+ iscsi_helper \
+ "${ISCSI_HELPER}"
+
+crudini --set $cfg \
+ lvm57 \
+ volume_group \
+ "${CINDER_VOLUME_GROUP}"
+
+crudini --set $cfg \
+ lvm57 \
+ volume_driver \
+ "${CINDER_VOLUME_DRIVER}"
+
+crudini --set $cfg \
+ lvm57 \
+ iscsi_ip_address \
+ "${ISCSI_IP_ADDRESS}"
+
+crudini --set $cfg \
+ lvm57 \
+ volume_backend_name \
+ "${CINDER_VOLUME_BACKEND_NAME}"
+
+sed -i 's/udev_sync = 1/udev_sync = 0/' /etc/lvm/lvm.conf
+sed -i 's/udev_rules = 1/udev_rules = 0/' /etc/lvm/lvm.conf
+sed -i 's/use_lvmetad = 1/use_lvmetad = 0/' /etc/lvm/lvm.conf
+
+echo "Starting cinder-volume"
+exec /usr/bin/cinder-volume --config-file /etc/cinder/cinder.conf
diff --git a/docker/centos/binary/cinder-app/cinder-volume/volume-group-create.sh b/docker/centos/binary/cinder-app/cinder-volume/volume-group-create.sh
new file mode 100755
index 000000000..908d987b0
--- /dev/null
+++ b/docker/centos/binary/cinder-app/cinder-volume/volume-group-create.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# The script will create the cinder-volume volume group that will
+# allow cinder to create volumes from a backing file.
+# This is based off devstack.
+set -e
+
+backing_file=/opt/data/cinder_volume
+
+check_required_vars CINDER_LVM_LO_VOLUME_SIZE CINDER_VOLUME_GROUP
+
+if ! vgs ${CINDER_VOLUME_GROUP}; then
+ [[ ! -f $backing_file ]] && truncate -s ${CINDER_LVM_LO_VOLUMES_SIZE} $backing_file
+ vg_dev=`losetup -f --show $backing_file`
+ if ! vgs ${CINDER_VOLUME_GROUP}; then
+ vgcreate ${CINDER_VOLUME_GROUP} $vg_dev
+ fi
+fi
+
+# Remove iscsi targets
+cinder-rtstool get-targets | xargs -rn 1 cinder-rtstool delete
+
diff --git a/docker/centos/binary/cinder-data/Dockerfile b/docker/centos/binary/cinder-data/Dockerfile
new file mode 100644
index 000000000..117e74da1
--- /dev/null
+++ b/docker/centos/binary/cinder-data/Dockerfile
@@ -0,0 +1,9 @@
+FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%base:%%KOLLA_TAG%%
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+RUN mkdir -p /opt/data
+VOLUME [ "/opt/data" ]
+
+# Command needed to start the data container.
+# Note: data containers do not need to be persistent.
+CMD ["/bin/true"]
diff --git a/docker/centos/binary/cinder/build b/docker/centos/binary/cinder-data/build
index 8d652f7ee..8d652f7ee 120000
--- a/docker/centos/binary/cinder/build
+++ b/docker/centos/binary/cinder-data/build
diff --git a/docker/centos/binary/cinder/start.sh b/docker/centos/binary/cinder/start.sh
deleted file mode 100755
index c0d796f02..000000000
--- a/docker/centos/binary/cinder/start.sh
+++ /dev/null
@@ -1,145 +0,0 @@
-#!/bin/bash -e
-
-: ${CINDER_DB_USER:=cinder}
-: ${CINDER_DB_NAME:=cinder}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-: ${CINDER_KEYSTONE_USER:=cinder}
-: ${ADMIN_TENANT_NAME:=admin}
-
-if ! [ "$CINDER_DB_PASSWORD" ]; then
- CINDER_DB_PASSWORD=$(openssl rand -hex 15)
- export CINDER_DB_PASSWORD
-fi
-
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
- CINDER_ADMIN_PASSWORD
-fail_unless_db
-
-mysql -h ${MARIADB_SERVICE_HOST} -u root -p"${DB_ROOT_PASSWORD}" mysql <<EOF
-CREATE DATABASE IF NOT EXISTS ${CINDER_DB_NAME};
-GRANT ALL PRIVILEGES ON glance* TO
- '${CINDER_DB_USER}'@'%' IDENTIFIED BY '${CINDER_DB_PASSWORD}'
-EOF
-
-#-----Cinder.conf setup-----
-
-# Cinder database
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- db_driver \
- "cinder.db"
-
-# Rabbit
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- rabbit_host \
- "127.0.0.1"
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- rabbit_port \
- "5672"
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- rabbit_hosts \
- "127.0.0.1:5672"
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- rabbit_userid \
- "guest"
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- rabbit_password \
- "guest"
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- rabbit_virtual_host \
- "/"
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- rabbit_ha_queues \
- "False"
-
-# backend
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- rpc_backend \
- "cinder.openstack.common.rpc.impl_kombu"
-
-# control_exchange
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- control_exchange \
- "openstack"
-
-# osapi
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- osapi_volume_listen \
- "0.0.0.0"
-
-# api_paste_config
-crudini --set /etc/cinder/cinder.conf \
- DEFUALT \
- api_paste_config \
- "/etc/cinder/api-paste.ini"
-
-# auth_strategy
-crudini --set /etc/cinder/cinder.conf \
- DEFUALT \
- auth_strategy \
- "keystone"
-
-# debug
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- debug \
- "False"
-
-# verbose
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- verbose \
- "True"
-
-# logs
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- log_dir \
- "/var/log/cinder/"
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- log_file \
- "/var/log/cinder/cinder.log"
-
-# use_sysloge
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- use_syslog \
- "False"
-
-# iscsi
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- iscsi_ip_address \
- "127.0.0.1"
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- iscsi_helper \
- "tgtadm"
-
-# volume_group
-crudini --set /etc/cinder/cinder.conf \
- DEFAULT \
- volume_group \
- "cinder-volumes"
-
-
-export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
-export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0"
-
-/bin/keystone user-create --name ${CINDER_KEYSTONE_USER} --pass ${CINDER_ADMIN_PASSWORD}
-/bin/keystone role-create --name ${CINDER_KEYSTONE_USER}
-/bin/keystone user-role-add --user ${CINDER_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME}
-
-exec /usr/bin/cinder-all
-