Browse code

Merge "Allow installing tempest only with keystone"

Jenkins authored on 2014/11/14 12:17:19
Showing 1 changed files
... ...
@@ -111,34 +111,36 @@ function configure_tempest {
111 111
     # ... Also ensure we only take active images, so we don't get snapshots in process
112 112
     declare -a images
113 113
 
114
-    while read -r IMAGE_NAME IMAGE_UUID; do
115
-        if [ "$IMAGE_NAME" = "$DEFAULT_IMAGE_NAME" ]; then
116
-            image_uuid="$IMAGE_UUID"
117
-            image_uuid_alt="$IMAGE_UUID"
118
-        fi
119
-        images+=($IMAGE_UUID)
120
-    # TODO(stevemar): update this command to use openstackclient's `openstack image list`
121
-    # when it supports listing by status.
122
-    done < <(glance image-list --status=active | awk -F'|' '!/^(+--)|ID|aki|ari/ { print $3,$2 }')
123
-
124
-    case "${#images[*]}" in
125
-        0)
126
-            echo "Found no valid images to use!"
127
-            exit 1
128
-            ;;
129
-        1)
130
-            if [ -z "$image_uuid" ]; then
131
-                image_uuid=${images[0]}
132
-                image_uuid_alt=${images[0]}
133
-            fi
134
-            ;;
135
-        *)
136
-            if [ -z "$image_uuid" ]; then
137
-                image_uuid=${images[0]}
138
-                image_uuid_alt=${images[1]}
114
+    if is_service_enabled glance; then
115
+        while read -r IMAGE_NAME IMAGE_UUID; do
116
+            if [ "$IMAGE_NAME" = "$DEFAULT_IMAGE_NAME" ]; then
117
+                image_uuid="$IMAGE_UUID"
118
+                image_uuid_alt="$IMAGE_UUID"
139 119
             fi
140
-            ;;
141
-    esac
120
+            images+=($IMAGE_UUID)
121
+        # TODO(stevemar): update this command to use openstackclient's `openstack image list`
122
+        # when it supports listing by status.
123
+        done < <(glance image-list --status=active | awk -F'|' '!/^(+--)|ID|aki|ari/ { print $3,$2 }')
124
+
125
+        case "${#images[*]}" in
126
+            0)
127
+                echo "Found no valid images to use!"
128
+                exit 1
129
+                ;;
130
+            1)
131
+                if [ -z "$image_uuid" ]; then
132
+                    image_uuid=${images[0]}
133
+                    image_uuid_alt=${images[0]}
134
+                fi
135
+                ;;
136
+            *)
137
+                if [ -z "$image_uuid" ]; then
138
+                    image_uuid=${images[0]}
139
+                    image_uuid_alt=${images[1]}
140
+                fi
141
+                ;;
142
+        esac
143
+    fi
142 144
 
143 145
     # Create tempest.conf from tempest.conf.sample
144 146
     # copy every time, because the image UUIDS are going to change
... ...
@@ -162,63 +164,65 @@ function configure_tempest {
162 162
     ALT_TENANT_NAME=${ALT_TENANT_NAME:-alt_demo}
163 163
     ADMIN_TENANT_ID=$(openstack project list | awk "/ admin / { print \$2 }")
164 164
 
165
-    # If the ``DEFAULT_INSTANCE_TYPE`` not declared, use the new behavior
166
-    # Tempest creates instane types for himself
167
-    if  [[ -z "$DEFAULT_INSTANCE_TYPE" ]]; then
168
-        available_flavors=$(nova flavor-list)
169
-        if [[ ! ( $available_flavors =~ 'm1.nano' ) ]]; then
170
-            if is_arch "ppc64"; then
171
-                # qemu needs at least 128MB of memory to boot on ppc64
172
-                nova flavor-create m1.nano 42 128 0 1
173
-            else
174
-                nova flavor-create m1.nano 42 64 0 1
165
+    if is_service_enabled nova; then
166
+        # If the ``DEFAULT_INSTANCE_TYPE`` not declared, use the new behavior
167
+        # Tempest creates instane types for himself
168
+        if  [[ -z "$DEFAULT_INSTANCE_TYPE" ]]; then
169
+            available_flavors=$(nova flavor-list)
170
+            if [[ ! ( $available_flavors =~ 'm1.nano' ) ]]; then
171
+                if is_arch "ppc64"; then
172
+                    # qemu needs at least 128MB of memory to boot on ppc64
173
+                    nova flavor-create m1.nano 42 128 0 1
174
+                else
175
+                    nova flavor-create m1.nano 42 64 0 1
176
+                fi
175 177
             fi
176
-        fi
177
-        flavor_ref=42
178
-        boto_instance_type=m1.nano
179
-        if [[ ! ( $available_flavors =~ 'm1.micro' ) ]]; then
180
-            if is_arch "ppc64"; then
181
-                nova flavor-create m1.micro 84 256 0 1
182
-            else
183
-                nova flavor-create m1.micro 84 128 0 1
178
+            flavor_ref=42
179
+            boto_instance_type=m1.nano
180
+            if [[ ! ( $available_flavors =~ 'm1.micro' ) ]]; then
181
+                if is_arch "ppc64"; then
182
+                    nova flavor-create m1.micro 84 256 0 1
183
+                else
184
+                    nova flavor-create m1.micro 84 128 0 1
185
+                fi
184 186
             fi
185
-        fi
186
-        flavor_ref_alt=84
187
-    else
188
-        # Check Nova for existing flavors and, if set, look for the
189
-        # ``DEFAULT_INSTANCE_TYPE`` and use that.
190
-        boto_instance_type=$DEFAULT_INSTANCE_TYPE
191
-        flavor_lines=`nova flavor-list`
192
-        IFS=$'\r\n'
193
-        flavors=""
194
-        for line in $flavor_lines; do
195
-            f=$(echo $line | awk "/ $DEFAULT_INSTANCE_TYPE / { print \$2 }")
196
-            flavors="$flavors $f"
197
-        done
198
-
199
-        for line in $flavor_lines; do
200
-            flavors="$flavors `echo $line | grep -v "^\(|\s*ID\|+--\)" | cut -d' ' -f2`"
201
-        done
202
-
203
-        IFS=" "
204
-        flavors=($flavors)
205
-        num_flavors=${#flavors[*]}
206
-        echo "Found $num_flavors flavors"
207
-        if [[ $num_flavors -eq 0 ]]; then
208
-            echo "Found no valid flavors to use!"
209
-            exit 1
210
-        fi
211
-        flavor_ref=${flavors[0]}
212
-        flavor_ref_alt=$flavor_ref
213
-
214
-        # ensure flavor_ref and flavor_ref_alt have different values
215
-        # some resize instance in tempest tests depends on this.
216
-        for f in ${flavors[@]:1}; do
217
-            if [[ $f -ne $flavor_ref ]]; then
218
-                flavor_ref_alt=$f
219
-                break
187
+            flavor_ref_alt=84
188
+        else
189
+            # Check Nova for existing flavors and, if set, look for the
190
+            # ``DEFAULT_INSTANCE_TYPE`` and use that.
191
+            boto_instance_type=$DEFAULT_INSTANCE_TYPE
192
+            flavor_lines=`nova flavor-list`
193
+            IFS=$'\r\n'
194
+            flavors=""
195
+            for line in $flavor_lines; do
196
+                f=$(echo $line | awk "/ $DEFAULT_INSTANCE_TYPE / { print \$2 }")
197
+                flavors="$flavors $f"
198
+            done
199
+
200
+            for line in $flavor_lines; do
201
+                flavors="$flavors `echo $line | grep -v "^\(|\s*ID\|+--\)" | cut -d' ' -f2`"
202
+            done
203
+
204
+            IFS=" "
205
+            flavors=($flavors)
206
+            num_flavors=${#flavors[*]}
207
+            echo "Found $num_flavors flavors"
208
+            if [[ $num_flavors -eq 0 ]]; then
209
+                echo "Found no valid flavors to use!"
210
+                exit 1
220 211
             fi
221
-        done
212
+            flavor_ref=${flavors[0]}
213
+            flavor_ref_alt=$flavor_ref
214
+
215
+            # ensure flavor_ref and flavor_ref_alt have different values
216
+            # some resize instance in tempest tests depends on this.
217
+            for f in ${flavors[@]:1}; do
218
+                if [[ $f -ne $flavor_ref ]]; then
219
+                    flavor_ref_alt=$f
220
+                    break
221
+                fi
222
+            done
223
+        fi
222 224
     fi
223 225
 
224 226
     if [ "$Q_USE_NAMESPACE" != "False" ]; then
... ...
@@ -463,20 +467,22 @@ function init_tempest {
463 463
     local kernel="$image_dir/${base_image_name}-vmlinuz"
464 464
     local ramdisk="$image_dir/${base_image_name}-initrd"
465 465
     local disk_image="$image_dir/${base_image_name}-blank.img"
466
-    # if the cirros uec downloaded and the system is uec capable
467
-    if [ -f "$kernel" -a -f "$ramdisk" -a -f "$disk_image" -a  "$VIRT_DRIVER" != "openvz" \
468
-        -a \( "$LIBVIRT_TYPE" != "lxc" -o "$VIRT_DRIVER" != "libvirt" \) ]; then
469
-        echo "Prepare aki/ari/ami Images"
470
-        mkdir -p $BOTO_MATERIALS_PATH
471
-        ( #new namespace
472
-            # tenant:demo ; user: demo
473
-            source $TOP_DIR/accrc/demo/demo
474
-            euca-bundle-image -r ${CIRROS_ARCH} -i "$kernel" --kernel true -d "$BOTO_MATERIALS_PATH"
475
-            euca-bundle-image -r ${CIRROS_ARCH} -i "$ramdisk" --ramdisk true -d "$BOTO_MATERIALS_PATH"
476
-            euca-bundle-image -r ${CIRROS_ARCH} -i "$disk_image" -d "$BOTO_MATERIALS_PATH"
477
-        ) 2>&1 </dev/null | cat
478
-    else
479
-        echo "Boto materials are not prepared"
466
+    if is_service_enabled nova; then
467
+        # if the cirros uec downloaded and the system is uec capable
468
+        if [ -f "$kernel" -a -f "$ramdisk" -a -f "$disk_image" -a  "$VIRT_DRIVER" != "openvz" \
469
+            -a \( "$LIBVIRT_TYPE" != "lxc" -o "$VIRT_DRIVER" != "libvirt" \) ]; then
470
+            echo "Prepare aki/ari/ami Images"
471
+            mkdir -p $BOTO_MATERIALS_PATH
472
+            ( #new namespace
473
+                # tenant:demo ; user: demo
474
+                source $TOP_DIR/accrc/demo/demo
475
+                euca-bundle-image -r ${CIRROS_ARCH} -i "$kernel" --kernel true -d "$BOTO_MATERIALS_PATH"
476
+                euca-bundle-image -r ${CIRROS_ARCH} -i "$ramdisk" --ramdisk true -d "$BOTO_MATERIALS_PATH"
477
+                euca-bundle-image -r ${CIRROS_ARCH} -i "$disk_image" -d "$BOTO_MATERIALS_PATH"
478
+            ) 2>&1 </dev/null | cat
479
+        else
480
+            echo "Boto materials are not prepared"
481
+        fi
480 482
     fi
481 483
 }
482 484