aboutsummaryrefslogtreecommitdiff
path: root/docker/centos/binary/cinder
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2015-05-13 06:46:24 -0500
committerSam Yaple <sam@yaple.net>2015-05-15 01:32:22 -0500
commit13062e23e86b5d86020949754540460cb5b0b4fe (patch)
treee0b3c8411418949a3d8df221da7c8cb2831b6d5d /docker/centos/binary/cinder
parent354ba01c8f5c7e1695cbea3bfc07aee5b75e76d9 (diff)
downloadkolla-13062e23e86b5d86020949754540460cb5b0b4fe.tar.gz
kolla-13062e23e86b5d86020949754540460cb5b0b4fe.zip
Restructure builds to allow more flexibility
As a restructure, nothing is changed from the original behaviour and naming despite the file structure changing. The symlinks to build had to be updated generating lots of "deleted" and "new_file". The new structure is: docker/${base_distro}/${type}/${container} base_distro == centos, ubuntu, fedora, etc type == source, binary, rdo type rdo is a symlink to binary for backwards compatibility Two new flags are added to the build-all script to support the ability to support different base distros and a flag to support binary or source containers. There are several added folders that are empty to hold the directory structure for future containers of these types. To use a prefix other than centos-rdo- you can set PREFIX in the toplevel directory .buildconf file Change-Id: Ifc7bac0d827470f506c8b5c004a833da9ce13b90
Diffstat (limited to 'docker/centos/binary/cinder')
-rw-r--r--docker/centos/binary/cinder/Dockerfile8
l---------docker/centos/binary/cinder/build1
-rwxr-xr-xdocker/centos/binary/cinder/start.sh145
3 files changed, 154 insertions, 0 deletions
diff --git a/docker/centos/binary/cinder/Dockerfile b/docker/centos/binary/cinder/Dockerfile
new file mode 100644
index 000000000..3dd7eca59
--- /dev/null
+++ b/docker/centos/binary/cinder/Dockerfile
@@ -0,0 +1,8 @@
+FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%base:%%KOLLA_TAG%%
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+RUN yum -y install openstack-cinder && yum clean all
+
+ADD ./start.sh /start.sh
+CMD ["/start.sh"]
+
diff --git a/docker/centos/binary/cinder/build b/docker/centos/binary/cinder/build
new file mode 120000
index 000000000..8d652f7ee
--- /dev/null
+++ b/docker/centos/binary/cinder/build
@@ -0,0 +1 @@
+../../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/centos/binary/cinder/start.sh b/docker/centos/binary/cinder/start.sh
new file mode 100755
index 000000000..c0d796f02
--- /dev/null
+++ b/docker/centos/binary/cinder/start.sh
@@ -0,0 +1,145 @@
+#!/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
+