aboutsummaryrefslogtreecommitdiff
path: root/docker/nova-controller/nova-api
diff options
context:
space:
mode:
authorRyan Hallisey <rhalllise@redhat.com>2014-10-06 14:13:16 +0000
committerRyan Hallisey <rhallise@redhat.com>2014-10-07 14:59:07 +0000
commit9e420ba27eac22847870553c15b92ff499eef3aa (patch)
treef0226ac7fc16f37ed7b6d30e23ba85025d345188 /docker/nova-controller/nova-api
parent296b09e0c444cc91f3e9f4a1046989d956c1253a (diff)
downloadkolla-9e420ba27eac22847870553c15b92ff499eef3aa.tar.gz
kolla-9e420ba27eac22847870553c15b92ff499eef3aa.zip
Initial setup for nova-controller
Partial-blueprint: kube-nova-container Change-Id: Ib48e6318ae458bf03510725a220332d1920cbeae
Diffstat (limited to 'docker/nova-controller/nova-api')
-rw-r--r--docker/nova-controller/nova-api/Dockerfile8
l---------docker/nova-controller/nova-api/build1
-rw-r--r--docker/nova-controller/nova-api/start.sh41
3 files changed, 50 insertions, 0 deletions
diff --git a/docker/nova-controller/nova-api/Dockerfile b/docker/nova-controller/nova-api/Dockerfile
new file mode 100644
index 000000000..d43db5840
--- /dev/null
+++ b/docker/nova-controller/nova-api/Dockerfile
@@ -0,0 +1,8 @@
+FROM kollaglue/fedora-rdo-nova-controller
+MAINTAINER Ryan Hallisey <rhallise@redhat.com>
+
+RUN yum -y install \
+ openstack-nova-api && yum clean all
+
+ADD ./start.sh /start.sh
+CMD ["/start.sh"]
diff --git a/docker/nova-controller/nova-api/build b/docker/nova-controller/nova-api/build
new file mode 120000
index 000000000..43944faa0
--- /dev/null
+++ b/docker/nova-controller/nova-api/build
@@ -0,0 +1 @@
+../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/nova-controller/nova-api/start.sh b/docker/nova-controller/nova-api/start.sh
new file mode 100644
index 000000000..ed2c11109
--- /dev/null
+++ b/docker/nova-controller/nova-api/start.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+: ${NOVA_DB_USER:=nova}
+: ${NOVA_DB_NAME:=nova}
+: ${KEYSTONE_AUTH_PROTOCOL:=http}
+: ${NOVA_KEYSTONE_USER:=admin}
+: ${NOVA_ADMIN_PASSWORD:=kolla}
+: ${ADMIN_TENANT_NAME:=admin}
+
+if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then
+ echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2
+ exit 1
+fi
+
+if ! [ "$DB_ROOT_PASSWORD" ]; then
+ echo "*** Missing DB_ROOT_PASSWORD" >&2
+ exit 1
+fi
+
+if ! [ "$NOVA_DB_PASSWORD" ]; then
+ NOVA_DB_PASSWORD=$(openssl rand -hex 15)
+ export NOVA_DB_PASSWORD
+fi
+
+sh /opt/nova/config-nova.sh api
+
+mysql -h ${MARIADBMASTER_PORT_3306_TCP_ADDR} -u root \
+ -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${NOVA_DB_NAME};
+GRANT ALL PRIVILEGES ON nova* TO
+ '${NOVA_DB_USER}'@'%' IDENTIFIED BY '${NOVA_DB_PASSWORD}'
+EOF
+
+export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
+export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONEMASTER_35357_PORT_35357_TCP_ADDR}:35357/v2.0"
+
+/usr/bin/keystone user-create --name ${NOVA_KEYSTONE_USER} --pass ${NOVA_ADMIN_PASSWORD}
+/usr/bin/keystone role-create --name ${NOVA_KEYSTONE_USER}
+/usr/bin/keystone user-role-add --user ${NOVA_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME}
+
+exec /usr/bin/nova-api