aboutsummaryrefslogtreecommitdiff
path: root/docker/keystone
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/keystone
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/keystone')
-rw-r--r--docker/keystone/Dockerfile14
l---------docker/keystone/build1
-rwxr-xr-xdocker/keystone/check.sh12
-rwxr-xr-xdocker/keystone/start.sh162
4 files changed, 0 insertions, 189 deletions
diff --git a/docker/keystone/Dockerfile b/docker/keystone/Dockerfile
deleted file mode 100644
index 377ef7b4f..000000000
--- a/docker/keystone/Dockerfile
+++ /dev/null
@@ -1,14 +0,0 @@
-FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%base:%%KOLLA_TAG%%
-MAINTAINER Kolla Project (https://launchpad.net/kolla)
-
-#Install required packages
-RUN yum -y install openstack-keystone \
- python-keystoneclient \
- && yum clean all
-
-# Add start-up and check scripts
-ADD ./start.sh /start.sh
-ADD ./check.sh /check.sh
-
-# Run the Keystone start script
-CMD ["/start.sh"]
diff --git a/docker/keystone/build b/docker/keystone/build
deleted file mode 120000
index d2accf7d3..000000000
--- a/docker/keystone/build
+++ /dev/null
@@ -1 +0,0 @@
-../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/keystone/check.sh b/docker/keystone/check.sh
deleted file mode 100755
index ca4844784..000000000
--- a/docker/keystone/check.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-RES=0
-
-. /openrc
-if ! keystone token-get > /dev/null; then
- echo "ERROR: keystone token-get failed" >&2
- RES=1
-fi
-
-exit $RES
-
diff --git a/docker/keystone/start.sh b/docker/keystone/start.sh
deleted file mode 100755
index 408f250e0..000000000
--- a/docker/keystone/start.sh
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# Run Kolla common script
-echo "Running the kolla-common script"
-. /opt/kolla/kolla-common.sh
-
-# Credentials, token, etc..
-: ${ADMIN_USER:=admin}
-: ${ADMIN_USER_PASSWORD:=password}
-: ${ADMIN_TENANT_NAME:=admin}
-: ${KEYSTONE_USER:=keystone}
-: ${KEYSTONE_ADMIN_PASSWORD:=password}
-: ${KEYSTONE_ADMIN_TOKEN:=changeme}
-# DB Settings
-: ${INIT_DB:=true}
-: ${KEYSTONE_DB_NAME:=keystone}
-: ${KEYSTONE_DB_USER:=keystone}
-: ${DB_ROOT_PASSWORD:=password}
-: ${MARIADB_SERVICE_HOST:=$PUBLIC_IP}
-: ${KEYSTONE_DB_PASSWORD:=password}
-# Service Addresses/Ports/Version
-: ${KEYSTONE_PUBLIC_SERVICE_HOST:=$PUBLIC_IP}
-: ${KEYSTONE_ADMIN_SERVICE_HOST:=$PUBLIC_IP}
-: ${KEYSTONE_PUBLIC_SERVICE_PORT:=5000}
-: ${KEYSTONE_ADMIN_SERVICE_PORT:=35357}
-: ${KEYSTONE_API_VERSION:=2.0}
-# Logging
-: ${LOG_FILE:=/var/log/keystone/keystone.log}
-: ${VERBOSE_LOGGING:=true}
-: ${DEBUG_LOGGING:=false}
-: ${USE_STDERR:=false}
-# Token provider, driver, etc..
-: ${TOKEN_PROVIDER:=uuid}
-: ${TOKEN_DRIVER:=sql}
-
-## Check DB connectivity and required variables
-echo "Checking connectivity to the DB"
-fail_unless_db
-echo "Checking for required variables"
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_DB_PASSWORD \
- KEYSTONE_ADMIN_PASSWORD ADMIN_TENANT_NAME \
- KEYSTONE_PUBLIC_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_HOST \
- PUBLIC_IP
-dump_vars
-
-# Setup the Keystone DB
-echo "Setting up Keystone DB"
-mysql -h ${MARIADB_SERVICE_HOST} -u root -p"${DB_ROOT_PASSWORD}" mysql <<EOF
-CREATE DATABASE IF NOT EXISTS ${KEYSTONE_DB_NAME};
-GRANT ALL PRIVILEGES ON ${KEYSTONE_DB_NAME}.* TO
- '${KEYSTONE_DB_USER}'@'%' IDENTIFIED BY '${KEYSTONE_DB_PASSWORD}'
-EOF
-
-# File path and name used by crudini tool
-cfg=/etc/keystone/keystone.conf
-
-# Token Configuration
-echo "Configuring keystone.conf"
-crudini --set $cfg \
- DEFAULT \
- admin_token \
- "${KEYSTONE_ADMIN_TOKEN}"
-
-# Database Configuration
-crudini --set $cfg \
- database \
- connection \
- "mysql://${KEYSTONE_DB_USER}:${KEYSTONE_DB_PASSWORD}@${MARIADB_SERVICE_HOST}/${KEYSTONE_DB_NAME}"
-
-# Logging
-crudini --del $cfg \
- DEFAULT \
- log_dir
-crudini --set $cfg \
- DEFAULT \
- log_file \
- ${LOG_FILE}
-crudini --set $cfg \
- DEFAULT \
- verbose \
- ${VERBOSE_LOGGING}
-crudini --set $cfg \
- DEFAULT \
- debug \
- ${DEBUG_LOGGING}
-crudini --set $cfg \
- DEFAULT \
- use_stderr \
- ${USE_STDERR}
-
-# Token Management
-crudini --set $cfg \
- token \
- provider \
- keystone.token.providers."${TOKEN_PROVIDER}".Provider
-crudini --set $cfg \
- token \
- driver \
- keystone.token.persistence.backends."${TOKEN_DRIVER}".Token
-crudini --set $cfg \
- revoke \
- driver \
- keystone.contrib.revoke.backends."${TOKEN_DRIVER}".Revoke
-
-# Setup the openrc auth file
-cat > /openrc <<EOF
-export OS_AUTH_URL=http://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v${KEYSTONE_API_VERSION}
-export OS_USERNAME=${KEYSTONE_USER}
-export OS_PASSWORD=${KEYSTONE_ADMIN_PASSWORD}
-export OS_TENANT_NAME=${ADMIN_TENANT_NAME}
-EOF
-
-# Run PKI Setup script
-echo "Setting up PKI"
-/usr/bin/keystone-manage pki_setup --keystone-user keystone --keystone-group keystone
-
-# Fix permissions
-chown -R keystone:keystone /var/log/keystone
-chown -R keystone:keystone /etc/keystone/ssl
-chmod -R o-rwx /etc/keystone/ssl
-
-# Initialize the Keystone DB
-echo "Initializing Keystone DB"
-if [ "${INIT_DB}" == "true" ] ; then
- su -s /bin/bash -c "keystone-manage db_sync" keystone
-fi
-
-# Start Keystone
-echo "Starting Keystone"
-/usr/bin/keystone-all &
-PID=$!
-
-# Export Keystone service environment variables
-export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
-export SERVICE_ENDPOINT="http://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v${KEYSTONE_API_VERSION}"
-
-# Check to make sure the service is running
-echo "Verifying Keystone is running"
-while ! curl -o /dev/null -s --fail ${SERVICE_ENDPOINT}; do
- echo "waiting for Keystone @ ${SERVICE_ENDPOINT}"
- sleep 1;
-done
-echo "keystone is active @ ${SERVICE_ENDPOINT}"
-
-# Create Keystone tenant, user, role, service and endpoints
-echo "Creating Keystone tenant, user, role, service and endpoints"
-crux user-create --update \
- -n ${ADMIN_USER} -p "${ADMIN_USER_PASSWORD}" \
- -t ${ADMIN_TENANT_NAME} -r admin
-crux user-create --update \
- -n ${KEYSTONE_USER} -p "${KEYSTONE_ADMIN_PASSWORD}" \
- -t ${ADMIN_TENANT_NAME} -r admin
-crux endpoint-create --remove-all \
- -n keystone -t identity \
- -I "http://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_SERVICE_PORT}/v${KEYSTONE_API_VERSION}" \
- -A "http://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v${KEYSTONE_API_VERSION}" \
- -P "http://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_SERVICE_PORT}/v${KEYSTONE_API_VERSION}"
-
-# Wait on all jobs to exit before proceeding (see man wait)
-wait