From 1393e1da90ade14706959fb47dc1596f55b194ce Mon Sep 17 00:00:00 2001
From: "rhallisey@redhat.com" <jlabocki@redhat.com>
Date: Thu, 18 Sep 2014 15:20:50 -0400
Subject: [PATCH] Preliminary docker file for cinder

---
 docker/cinder/Dockerfile | 18 +++++++++
 docker/cinder/start.sh   | 86 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 104 insertions(+)
 create mode 100644 docker/cinder/Dockerfile
 create mode 100755 docker/cinder/start.sh

diff --git a/docker/cinder/Dockerfile b/docker/cinder/Dockerfile
new file mode 100644
index 0000000000..bf86dac95d
--- /dev/null
+++ b/docker/cinder/Dockerfile
@@ -0,0 +1,18 @@
+FROM docker.usersys.redhat.com/lhh1/rhel-osp-base
+MAINTAINER rhallise@redhat.com
+
+# Install required packages
+RUN yum install -y wget procps-ng net-tools && yum clean all
+RUN yum install -y openstack-cinder rabbitmq-server openstack-utils openstack-selinux mariadb-galera-server socat && yum clean all
+
+
+# Start Cinder
+RUN /usr/bin/cinder-api --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf --logfile /var/log/cinder/api.log
+
+RUN /usr/bin/cinder-scheduler --config-file /usr/share/cinder/cinder-dist.conf --config-file/etc/cinder/cinder.conf --logfile /var/log/cinder/scheduler.log
+
+RUN /usr/bin/cinder-volume --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf --logfile /var/log/cinder/volume.log
+
+ADD ./start /usr/bin/run
+
+CMD ["/usr/bin/run"]
\ No newline at end of file
diff --git a/docker/cinder/start.sh b/docker/cinder/start.sh
new file mode 100755
index 0000000000..6bff1818d6
--- /dev/null
+++ b/docker/cinder/start.sh
@@ -0,0 +1,86 @@
+#!/bin/bash -e                                                                                         
+env > /root/ENV
+
+# mariadb
+#socat UNIX-LISTEN:/var/lib/mysql/mysql.sock,fork,reuseaddr,unlink-early,user=mysql,group=mysql,mode=777TCP:127.0.0.1:3306 &                                                                                  
+#/usr/bin/openstack-db --service cinder --init --yes --rootpw ${DB_ROOT_PASSWORD} --password redhat 
+
+# sqlite replace with mariadb above
+#sed -ri 's/#connection=sqlite:////cinder/openstack/common/db/$sqlite_db/connection=sqlite:\/\/\/cinder.db/' /etc/cinder/cinder.conf                                                                          
+sed -ri 's/#connection=*/connection=sqlite:\/\/\/cinder.db/' /etc/cinder/cinder.conf
+
+#-----Cinder.conf setup-----
+
+# Cinder database
+sed -ri 's/#db_driver=cinder.db/db_driver=cinder.db/' /etc/cinder/cinder.conf
+
+# Rabbit
+sed -ri 's/#rabbit_host=127.0.0.1/rabbit_host=127.0.0.1/' /etc/cinder/cinder.conf
+sed -ri 's/#rabbit_port=5672/rabbit_port=127.0.0.1/' /etc/cinder/cinder.conf
+sed -ri 's/#rabbit_hosts=127.0.0.1:5672/rabbit_hosts=127.0.0.1:5672/' /etc/cinder/cinder.conf
+sed -ri 's/#rabbit_userid=guest/rabbit_userid=guest/' /etc/cinder/cinder.conf
+sed -ri 's/#rabbit_password=guest/rabbit_password=guest/' /etc/cinder/cinder.conf
+sed -ri 's/#rabbit_virtual_host=\/\/rabbit_virtual_host=\/\/' /etc/cinder/cinder.conf
+sed -ri 's/#rabbit_ha_queues=False/rabbit_ha_queues=False/' /etc/cinder/cinder.conf
+
+# backend
+sed -ri 's/#rpc_backend=cinder.openstack.common.rpc.impl_kombu/rpc_backend=cinder.openstack.common.rpc.impl_kombu/' /etc/cinder/cinder.conf
+
+# control_exchange
+sed -ri 's/#control_exchange=openstack/control_exchange=openstack/' /etc/cinder/cinder.conf
+
+# osapi
+sed -ri 's/#osapi_volume_listen=0.0.0.0/osapi_volume_listen=0.0.0.0/' /etc/cinder/cinder.conf
+
+# api_paste_config
+sed -ri 's/#api_paste_config=api-paste.ini/api_paste_config=/etc/cinder/api-paste.ini/' /etc/cinder/cinder.conf
+
+# auth_strategy
+sed -ri 's/#auth_strategy=noauth/auth_strategy=keystone/' /etc/cinder/cinder.conf
+
+# debug
+sed -ri 's/#debug=false/debug=false/' /etc/cinder/cinder.conf
+
+# verbose
+sed -ri 's/#verbose=true/verbose=true/' /etc/cinder/cinder.conf
+
+# log_dir
+sed -ri 's/#log_dir=<None>/log_dir=/var/log/cinder/' /etc/cinder/cinder.conf
+
+# use_syslog
+sed -ri 's/#use_syslog=false/use_syslog=false/' /etc/cinder/cinder.conf
+
+# iscsi
+sed -ri 's/#iscsi_ip_address=127.0.0.1/iscsi_ip_address=127.0.0.1/' /etc/cinder/cinder.conf
+sed -ri 's/#iscsi_helper=tgtadm/iscsi_helper=tgtadm/' /etc/cinder/cinder.conf
+
+# volume_group
+sed -ri 's/#volume_group=cinder-volumes/volume_group=cinder-volumes/' /etc/cinder/cinder.conf
+
+# sql
+#sed -ri 's/#sql_connection=mysql://cinder:bc8cafb03d64404b@127.0.0.1/cinder/sql_connection=mysql://cinder:bc8cafb03d64404b@127.0.0.1/cinder/' /etc/cinder/cinder.conf                                        
+#sed -ri 's/#sql_idle_timeout=3600/sql_idle_timeout=3600/' /etc/cinder/cinder.conf
+
+# timeout
+sed -ri 's/#idle_timeout=3600/idle_timeout=200/' /etc/cinder/cinder.conf
+
+/usr/bin/cinder-manage db_sync
+
+/usr/bin/cinder-all &
+PID=$!
+
+/bin/sleep 5
+
+export SERVICE_TOKEN=`cat /root/ks_admin_token`
+export SERVICE_ENDPOINT="http://127.0.0.1:35357/v2.0"
+
+#/bin/keystone user-create --name admin --pass redhat                                                  
+#/bin/keystone role-create --name admin                                                                
+#/bin/keystone tenant-create --name admin                                                             
+#/bin/keystone user-role-add --user admin --role admin --tenant admin                                 
+
+kill -TERM $PID
+
+echo "starting cinder-all.."
+exec /usr/bin/cinder-all
+