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 +