blob: 1d2f4f56893762af8e9efce24577a0214e357c43 [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
Bob Ball89012452014-05-08 13:35:28 +010031source $TOP_DIR/openrc admin
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
Dean Troyer10670d12012-01-24 11:26:15 -060044
Dean Troyer10670d12012-01-24 11:26:15 -060045for i in OS_TENANT_NAME OS_USERNAME OS_PASSWORD OS_AUTH_URL; do
46 is_set $i
47 if [[ $? -ne 0 ]]; then
Dean Troyer489bd2a2012-03-02 10:44:29 -060048 echo "$i expected to be set"
Dean Troyer10670d12012-01-24 11:26:15 -060049 ABORT=1
50 fi
51done
52if [[ -n "$ABORT" ]]; then
53 exit 1
54fi
55
56# Set global return
57RETURN=0
58
59# Keystone client
60# ---------------
61if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -050062 if [[ "$SKIP_EXERCISES" =~ "key" ]]; then
Dean Troyer10670d12012-01-24 11:26:15 -060063 STATUS_KEYSTONE="Skipped"
64 else
Dean Troyer10670d12012-01-24 11:26:15 -060065 echo -e "\nTest Keystone"
Steve Martinelli2f6c30b2014-03-13 23:32:46 -050066 if openstack endpoint show identity; then
Dean Troyer10670d12012-01-24 11:26:15 -060067 STATUS_KEYSTONE="Succeeded"
68 else
69 STATUS_KEYSTONE="Failed"
70 RETURN=1
71 fi
Dean Troyer10670d12012-01-24 11:26:15 -060072 fi
73fi
74
75# Nova client
76# -----------
77
78if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -050079 if [[ "$SKIP_EXERCISES" =~ "n-api" ]]; then
Dean Troyer10670d12012-01-24 11:26:15 -060080 STATUS_NOVA="Skipped"
Dean Troyer0bd24102012-03-08 00:33:54 -060081 STATUS_EC2="Skipped"
Dean Troyer10670d12012-01-24 11:26:15 -060082 else
Dean Troyer0bd24102012-03-08 00:33:54 -060083 # Test OSAPI
Dean Troyer10670d12012-01-24 11:26:15 -060084 echo -e "\nTest Nova"
85 if nova flavor-list; then
86 STATUS_NOVA="Succeeded"
87 else
88 STATUS_NOVA="Failed"
89 RETURN=1
90 fi
Dean Troyer0bd24102012-03-08 00:33:54 -060091
92 # Test EC2 API
93 echo -e "\nTest EC2"
94 # Get EC2 creds
95 source $TOP_DIR/eucarc
96
97 if euca-describe-images; then
98 STATUS_EC2="Succeeded"
99 else
100 STATUS_EC2="Failed"
101 RETURN=1
102 fi
Dean Troyer10670d12012-01-24 11:26:15 -0600103 fi
104fi
105
Dean Troyerda85cda2013-02-15 11:07:14 -0600106# Cinder client
107# -------------
108
109if [[ "$ENABLED_SERVICES" =~ "c-api" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -0500110 if [[ "$SKIP_EXERCISES" =~ "c-api" ]]; then
Dean Troyerda85cda2013-02-15 11:07:14 -0600111 STATUS_CINDER="Skipped"
112 else
113 echo -e "\nTest Cinder"
114 if cinder list; then
115 STATUS_CINDER="Succeeded"
116 else
117 STATUS_CINDER="Failed"
118 RETURN=1
119 fi
120 fi
121fi
122
Dean Troyer10670d12012-01-24 11:26:15 -0600123# Glance client
124# -------------
125
126if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -0500127 if [[ "$SKIP_EXERCISES" =~ "g-api" ]]; then
Dean Troyer10670d12012-01-24 11:26:15 -0600128 STATUS_GLANCE="Skipped"
129 else
Dean Troyer10670d12012-01-24 11:26:15 -0600130 echo -e "\nTest Glance"
Steve Martinelli5c206c22014-08-02 20:32:31 -0400131 if openstack image list; then
Dean Troyer10670d12012-01-24 11:26:15 -0600132 STATUS_GLANCE="Succeeded"
133 else
134 STATUS_GLANCE="Failed"
135 RETURN=1
136 fi
137 fi
138fi
139
140# Swift client
141# ------------
142
Chmouel Boudjnah0c3a5582013-03-06 10:58:33 +0100143
144if [[ "$ENABLED_SERVICES" =~ "swift" || "$ENABLED_SERVICES" =~ "s-proxy" ]]; then
Dean Troyercc6b4432013-04-08 15:38:03 -0500145 if [[ "$SKIP_EXERCISES" =~ "swift" ]]; then
Dean Troyer10670d12012-01-24 11:26:15 -0600146 STATUS_SWIFT="Skipped"
147 else
148 echo -e "\nTest Swift"
Dean Troyer80756ea2012-02-01 18:01:01 -0600149 if swift stat; then
Dean Troyer10670d12012-01-24 11:26:15 -0600150 STATUS_SWIFT="Succeeded"
151 else
152 STATUS_SWIFT="Failed"
153 RETURN=1
154 fi
155 fi
156fi
157
Dean Troyerda85cda2013-02-15 11:07:14 -0600158set +o xtrace
159
Dean Troyercc6b4432013-04-08 15:38:03 -0500160
Dean Troyer10670d12012-01-24 11:26:15 -0600161# Results
Dean Troyercc6b4432013-04-08 15:38:03 -0500162# =======
Dean Troyer10670d12012-01-24 11:26:15 -0600163
Ian Wienandaee18c72014-02-21 15:35:08 +1100164function report {
Dean Troyer10670d12012-01-24 11:26:15 -0600165 if [[ -n "$2" ]]; then
166 echo "$1: $2"
167 fi
168}
169
170echo -e "\n"
171report "Keystone" $STATUS_KEYSTONE
172report "Nova" $STATUS_NOVA
Dean Troyer0bd24102012-03-08 00:33:54 -0600173report "EC2" $STATUS_EC2
Dean Troyerda85cda2013-02-15 11:07:14 -0600174report "Cinder" $STATUS_CINDER
Dean Troyer10670d12012-01-24 11:26:15 -0600175report "Glance" $STATUS_GLANCE
176report "Swift" $STATUS_SWIFT
177
Dean Troyer83480532012-09-12 14:45:48 -0500178if (( $RETURN == 0 )); then
179 echo "*********************************************************************"
180 echo "SUCCESS: End DevStack Exercise: $0"
181 echo "*********************************************************************"
182fi
Dean Troyer489bd2a2012-03-02 10:44:29 -0600183
Dean Troyer10670d12012-01-24 11:26:15 -0600184exit $RETURN