blob: 6c6fe122821330fe70f63ef3244ae42dc1af4d87 [file] [log] [blame]
Dean Troyer10670d12012-01-24 11:26:15 -06001#!/usr/bin/env bash
2
Dean Troyer83480532012-09-12 14:45:48 -05003# **client-env.sh**
Dean Troyerad101762012-06-27 22:04:40 -05004
Joe Gordon46400262013-06-30 04:32:27 -07005# Test OpenStack client environment variable handling
Dean Troyer10670d12012-01-24 11:26:15 -06006
Dean Troyer27e32692012-03-16 16:16:56 -05007echo "*********************************************************************"
Dean Troyer489bd2a2012-03-02 10:44:29 -06008echo "Begin DevStack Exercise: $0"
Dean Troyer27e32692012-03-16 16:16:56 -05009echo "*********************************************************************"
Dean Troyer489bd2a2012-03-02 10:44:29 -060010
Dean Troyerda85cda2013-02-15 11:07:14 -060011# This script exits on an error so that errors don't compound and you see
Joe Gordon46400262013-06-30 04:32:27 -070012# only the first error that occurred.
Dean Troyerda85cda2013-02-15 11:07:14 -060013set -o errexit
14
15# Print the commands being run so that we can see the command that triggers
16# an error. It is also useful for following allowing as the install occurs.
17set -o xtrace
18
Dean Troyer10670d12012-01-24 11:26:15 -060019
20# Settings
21# ========
22
Dean Troyer0bd24102012-03-08 00:33:54 -060023# Keep track of the current directory
24EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
25TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
Dean Troyer489bd2a2012-03-02 10:44:29 -060026
27# Import common functions
Dean Troyer0bd24102012-03-08 00:33:54 -060028source $TOP_DIR/functions
Dean Troyer489bd2a2012-03-02 10:44:29 -060029
30# Import configuration
Dean Troyer0bd24102012-03-08 00:33:54 -060031source $TOP_DIR/openrc
Dean Troyer10670d12012-01-24 11:26:15 -060032
Dean Troyer51fb4542012-03-09 22:21:59 -060033# Import exercise configuration
34source $TOP_DIR/exerciserc
35
Dean Troyerc5dfecd2012-09-08 14:20:43 -050036# Unset all of the known NOVA_* vars
Dean Troyer10670d12012-01-24 11:26:15 -060037unset NOVA_API_KEY
38unset NOVA_ENDPOINT_NAME
39unset NOVA_PASSWORD
40unset NOVA_PROJECT_ID
41unset NOVA_REGION_NAME
42unset NOVA_URL
43unset NOVA_USERNAME
44unset NOVA_VERSION
45
Dean Troyer10670d12012-01-24 11:26:15 -060046for i in OS_TENANT_NAME OS_USERNAME OS_PASSWORD OS_AUTH_URL; do
47 is_set $i
48 if [[ $? -ne 0 ]]; then
Dean Troyer489bd2a2012-03-02 10:44:29 -060049 echo "$i expected to be set"
Dean Troyer10670d12012-01-24 11:26:15 -060050 ABORT=1
51 fi
52done
53if [[ -n "$ABORT" ]]; then
54 exit 1
55fi
56
57# Set global return
58RETURN=0
59
60# Keystone client
61# ---------------
62if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -050063 if [[ "$SKIP_EXERCISES" =~ "key" ]]; then
Dean Troyer10670d12012-01-24 11:26:15 -060064 STATUS_KEYSTONE="Skipped"
65 else
Dean Troyer10670d12012-01-24 11:26:15 -060066 echo -e "\nTest Keystone"
Dean Troyer0bd24102012-03-08 00:33:54 -060067 if keystone catalog --service identity; then
Dean Troyer10670d12012-01-24 11:26:15 -060068 STATUS_KEYSTONE="Succeeded"
69 else
70 STATUS_KEYSTONE="Failed"
71 RETURN=1
72 fi
Dean Troyer10670d12012-01-24 11:26:15 -060073 fi
74fi
75
76# Nova client
77# -----------
78
79if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -050080 if [[ "$SKIP_EXERCISES" =~ "n-api" ]]; then
Dean Troyer10670d12012-01-24 11:26:15 -060081 STATUS_NOVA="Skipped"
Dean Troyer0bd24102012-03-08 00:33:54 -060082 STATUS_EC2="Skipped"
Dean Troyer10670d12012-01-24 11:26:15 -060083 else
Dean Troyer0bd24102012-03-08 00:33:54 -060084 # Test OSAPI
Dean Troyer10670d12012-01-24 11:26:15 -060085 echo -e "\nTest Nova"
86 if nova flavor-list; then
87 STATUS_NOVA="Succeeded"
88 else
89 STATUS_NOVA="Failed"
90 RETURN=1
91 fi
Dean Troyer0bd24102012-03-08 00:33:54 -060092
93 # Test EC2 API
94 echo -e "\nTest EC2"
95 # Get EC2 creds
96 source $TOP_DIR/eucarc
97
98 if euca-describe-images; then
99 STATUS_EC2="Succeeded"
100 else
101 STATUS_EC2="Failed"
102 RETURN=1
103 fi
104
105 # Clean up side effects
106 unset NOVA_VERSION
Dean Troyer10670d12012-01-24 11:26:15 -0600107 fi
108fi
109
Dean Troyerda85cda2013-02-15 11:07:14 -0600110# Cinder client
111# -------------
112
113if [[ "$ENABLED_SERVICES" =~ "c-api" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -0500114 if [[ "$SKIP_EXERCISES" =~ "c-api" ]]; then
Dean Troyerda85cda2013-02-15 11:07:14 -0600115 STATUS_CINDER="Skipped"
116 else
117 echo -e "\nTest Cinder"
118 if cinder list; then
119 STATUS_CINDER="Succeeded"
120 else
121 STATUS_CINDER="Failed"
122 RETURN=1
123 fi
124 fi
125fi
126
Dean Troyer10670d12012-01-24 11:26:15 -0600127# Glance client
128# -------------
129
130if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -0500131 if [[ "$SKIP_EXERCISES" =~ "g-api" ]]; then
Dean Troyer10670d12012-01-24 11:26:15 -0600132 STATUS_GLANCE="Skipped"
133 else
Dean Troyer10670d12012-01-24 11:26:15 -0600134 echo -e "\nTest Glance"
Dean Troyer45495252012-04-13 13:16:38 -0500135 if glance image-list; then
Dean Troyer10670d12012-01-24 11:26:15 -0600136 STATUS_GLANCE="Succeeded"
137 else
138 STATUS_GLANCE="Failed"
139 RETURN=1
140 fi
141 fi
142fi
143
144# Swift client
145# ------------
146
Chmouel Boudjnah0c3a5582013-03-06 10:58:33 +0100147
148if [[ "$ENABLED_SERVICES" =~ "swift" || "$ENABLED_SERVICES" =~ "s-proxy" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -0500149 if [[ "$SKIP_EXERCISES" =~ "swift" ]]; then
Dean Troyer10670d12012-01-24 11:26:15 -0600150 STATUS_SWIFT="Skipped"
151 else
152 echo -e "\nTest Swift"
Dean Troyer80756ea2012-02-01 18:01:01 -0600153 if swift stat; then
Dean Troyer10670d12012-01-24 11:26:15 -0600154 STATUS_SWIFT="Succeeded"
155 else
156 STATUS_SWIFT="Failed"
157 RETURN=1
158 fi
159 fi
160fi
161
Dean Troyerda85cda2013-02-15 11:07:14 -0600162set +o xtrace
163
Dean Troyercc6b4432013-04-08 15:38:03 -0500164
Dean Troyer10670d12012-01-24 11:26:15 -0600165# Results
Dean Troyercc6b4432013-04-08 15:38:03 -0500166# =======
Dean Troyer10670d12012-01-24 11:26:15 -0600167
168function report() {
169 if [[ -n "$2" ]]; then
170 echo "$1: $2"
171 fi
172}
173
174echo -e "\n"
175report "Keystone" $STATUS_KEYSTONE
176report "Nova" $STATUS_NOVA
Dean Troyer0bd24102012-03-08 00:33:54 -0600177report "EC2" $STATUS_EC2
Dean Troyerda85cda2013-02-15 11:07:14 -0600178report "Cinder" $STATUS_CINDER
Dean Troyer10670d12012-01-24 11:26:15 -0600179report "Glance" $STATUS_GLANCE
180report "Swift" $STATUS_SWIFT
181
Dean Troyer83480532012-09-12 14:45:48 -0500182if (( $RETURN == 0 )); then
183 echo "*********************************************************************"
184 echo "SUCCESS: End DevStack Exercise: $0"
185 echo "*********************************************************************"
186fi
Dean Troyer489bd2a2012-03-02 10:44:29 -0600187
Dean Troyer10670d12012-01-24 11:26:15 -0600188exit $RETURN