Skip to content
Snippets Groups Projects
Commit a2dae48b authored by Ryan Hallisey's avatar Ryan Hallisey
Browse files

Glance containers need to be changed so they work without kubernetes

This patch overlaps a little bit with https://review.openstack.org/#/c/162358/.
There were some additional glance config that needs to be added to run without
kubernetes.

Co-authored by: Charles Crouch (charcrou@cisco.com)
Change-Id: I1aab2f6e4a80aaf1e6c4b7fe330bcf9a7740fdc6
parent 797960bf
No related branches found
No related tags found
No related merge requests found
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
: ${HEAT_API_SERVICE_PORT:=8004} : ${HEAT_API_SERVICE_PORT:=8004}
: ${HORIZON_SERVICE_HOST:=$HORIZON_PORT_80_TCP_ADDR} : ${HORIZON_SERVICE_HOST:=$HORIZON_PORT_80_TCP_ADDR}
: ${HORIZON_SERVICE_PORT:=80} : ${HORIZON_SERVICE_PORT:=80}
: ${KEYSTONE_ADMIN_SERVICE_HOST:=$KEYSTONE_ADMIN_PORT_35357_TCP_ADDR} : ${KEYSTONE_ADMIN_SERVICE_HOST:=$KEYSTONE_PORT_35357_TCP_ADDR}
: ${KEYSTONE_ADMIN_SERVICE_PORT:=35357} : ${KEYSTONE_ADMIN_SERVICE_PORT:=35357}
: ${KEYSTONE_PUBLIC_SERVICE_HOST:=$KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR} : ${KEYSTONE_PUBLIC_SERVICE_HOST:=$KEYSTONE_PORT_5000_TCP_ADDR}
: ${KEYSTONE_PUBLIC_SERVICE_PORT:=5000} : ${KEYSTONE_PUBLIC_SERVICE_PORT:=5000}
: ${MARIADB_SERVICE_HOST:=$MARIADB_PORT_3306_TCP_ADDR} : ${MARIADB_SERVICE_HOST:=$MARIADB_PORT_3306_TCP_ADDR}
: ${MARIADB_SERVICE_PORT:=3306} : ${MARIADB_SERVICE_PORT:=3306}
......
#!/bin/bash
# Based on
# https://raw.githubusercontent.com/openstack/tripleo-incubator/6931c1fc7ed98ce36998c5b82750a880b0365445/scripts/wait_for
#
# Copyright 2013 Red Hat
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -e # exit on the first non-zero status
set -u # exit on unset variables
#set -x # setting this actually breaks the scripts function
SCRIPT_NAME=$(basename $0)
function show_options() {
echo "Usage: $SCRIPT_NAME LOOPS_NUMBER SLEEP_TIME ARGS"
echo
echo "ARGS are read and concatenated together into a single command."
echo "Execute the command in a loop until it succeeds or the number"
echo "of attempts exceeds LOOPS_NUMBER value. After each failure"
echo "pause for SLEEP_TIME seconds."
echo
echo "An optional FAIL_MATCH_OUTPUT variable may also be set to control "
echo "if the loop exits early if the commands stdout/stderr matches the "
echo "supplied regex string."
echo
echo "Examples:"
echo " wait_for 30 10 ping -c 1 192.0.2.2"
echo " wait_for 10 1 ls file_we_are_waiting_for"
echo " wait_for 10 3 date \| grep 8"
echo " FAIL_MATCH_OUTPUT=CREATE_FAILED wait_for 30 10 heat stack-show undercloud"
echo " SUCCESSFUL_MATCH_OUTPUT=CREATE_COMPLETE wait_for 30 10 heat stack-show undercloud"
exit 1
}
LOOPS=${1:-""}
SLEEPTIME=${2:-""}
FAIL_MATCH_OUTPUT=${FAIL_MATCH_OUTPUT:-""}
SUCCESSFUL_MATCH_OUTPUT=${SUCCESSFUL_MATCH_OUTPUT:-""}
shift 2 || true
COMMAND="$@"
if [ -z "$LOOPS" -o -z "$SLEEPTIME" -o -z "$COMMAND" ]; then
show_options
fi
i=0
while [ $i -lt $LOOPS ]; do
i=$((i + 1))
STATUS=0
OUTPUT=$(eval $COMMAND 2>&1) || STATUS=$?
if [[ -n "$SUCCESSFUL_MATCH_OUTPUT" ]] \
&& [[ $OUTPUT =~ $SUCCESSFUL_MATCH_OUTPUT ]]; then
exit 0
elif [[ -n "$FAIL_MATCH_OUTPUT" ]] \
&& [[ $OUTPUT =~ $FAIL_MATCH_OUTPUT ]]; then
echo "Command output matched '$FAIL_MATCH_OUTPUT'. Exiting..."
exit 1
elif [[ -z "$SUCCESSFUL_MATCH_OUTPUT" ]] && [[ $STATUS -eq 0 ]]; then
# The command successfully completed and we aren't testing against
# it's output so we have finished waiting.
exit 0
fi
sleep $SLEEPTIME
done
SECONDS=$((LOOPS * SLEEPTIME))
printf 'Timing out after %d seconds:\nCOMMAND=%s\nOUTPUT=%s\n' \
"$SECONDS" "$COMMAND" "$OUTPUT"
exit 1
...@@ -4,11 +4,17 @@ set -e ...@@ -4,11 +4,17 @@ set -e
. /opt/kolla/kolla-common.sh . /opt/kolla/kolla-common.sh
. /opt/kolla/config-glance.sh . /opt/kolla/config-glance.sh
: ${GLANCE_API_SERVICE_HOST:=$PUBLIC_IP}
check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
GLANCE_KEYSTONE_USER GLANCE_KEYSTONE_PASSWORD \ GLANCE_KEYSTONE_USER GLANCE_KEYSTONE_PASSWORD \
ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \ ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \
PUBLIC_IP PUBLIC_IP
/opt/kolla/wait_for 30 1 keystone \
--os-auth-url=http://${KEYSTONE_PUBLIC_SERVICE_HOST}:35357/v2.0 \
--os-username=admin --os-tenant-name=${ADMIN_TENANT_NAME} \
--os-password=${KEYSTONE_ADMIN_PASSWORD} endpoint-list
check_for_keystone check_for_keystone
export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
...@@ -26,4 +32,25 @@ crux endpoint-create --remove-all \ ...@@ -26,4 +32,25 @@ crux endpoint-create --remove-all \
-P "http://${PUBLIC_IP}:9292" \ -P "http://${PUBLIC_IP}:9292" \
-A "http://${GLANCE_API_SERVICE_HOST}:9292" -A "http://${GLANCE_API_SERVICE_HOST}:9292"
# turn on notification sending by glance
crudini --set /etc/glance/glance-api.conf \
DEFAULT \
notification_driver \
"messaging"
crudini --set /etc/glance/glance-api.conf \
DEFAULT \
rabbit_host \
"${RABBITMQ_SERVICE_HOST}"
crudini --set /etc/glance/glance-api.conf \
DEFAULT \
registry_host \
"${GLANCE_REGISTRY_SERVICE_HOST}"
crudini --set /etc/glance/glance-api.conf \
DEFAULT \
debug \
"True"
exec /usr/bin/glance-api exec /usr/bin/glance-api
...@@ -11,9 +11,7 @@ set -e ...@@ -11,9 +11,7 @@ set -e
: ${KEYSTONE_AUTH_PROTOCOL:=http} : ${KEYSTONE_AUTH_PROTOCOL:=http}
: ${PUBLIC_IP:=$GLANCE_API_PORT_9292_TCP_ADDR} : ${PUBLIC_IP:=$GLANCE_API_PORT_9292_TCP_ADDR}
check_for_db check_required_vars GLANCE_DB_PASSWORD GLANCE_KEYSTONE_PASSWORD
check_required_vars GLANCE_DB_PASSWORD GLANCE_KEYSTONE_PASSWORD \
KEYSTONE_PUBLIC_SERVICE_HOST
dump_vars dump_vars
cat > /openrc <<EOF cat > /openrc <<EOF
......
FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%glance-base FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%glance-base
MAINTAINER Kolla Project (https://launchpad.net/kolla) MAINTAINER Kolla Project (https://launchpad.net/kolla)
EXPOSE 9191
ADD ./start.sh /start.sh ADD ./start.sh /start.sh
CMD ["/start.sh"] CMD ["/start.sh"]
...@@ -6,6 +6,8 @@ set -e ...@@ -6,6 +6,8 @@ set -e
. /opt/kolla/config-glance.sh . /opt/kolla/config-glance.sh
check_required_vars GLANCE_DB_NAME GLANCE_DB_USER GLANCE_DB_PASSWORD check_required_vars GLANCE_DB_NAME GLANCE_DB_USER GLANCE_DB_PASSWORD
# lets wait for the DB to be available
./opt/kolla/wait_for 25 1 mysql -h ${MARIADB_SERVICE_HOST} -u root -p"${DB_ROOT_PASSWORD}" -e 'status;'
check_for_db check_for_db
mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment