-#!/bin/bash -ex
+#!/bin/bash -e
##############################################################################
# Copyright (c) 2016 NEC Corporation and others.
#
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+[[ "${CI_DEBUG:-true}" == "true" ]] && set -x
+
IMAGE_URL=https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img
IMAGE_NAME=cirros
IMAGE_FILE="${IMAGE_NAME}.img"
CONSUMER_PORT=12346
TEST_USER=demo
TEST_PW=demo
-TEST_TENANT=demo
+TEST_PROJECT=demo
TEST_ROLE=_member_
SUPPORTED_INSTALLER_TYPES="apex local"
}
create_test_user() {
- keystone user-list | grep -q "$TEST_USER" || {
- keystone user-create --name "$TEST_USER" --pass "$TEST_PW"
+ openstack user list | grep -q "$TEST_USER" || {
+ openstack user create "$TEST_USER" --password "$TEST_PW"
}
- keystone tenant-list | grep -q "$TEST_TENANT" || {
- keystone tenant-create --name "$TEST_TENANT"
+ openstack project list | grep -q "$TEST_PROJECT" || {
+ openstack project create "$TEST_PROJECT"
}
- keystone user-role-list --user "$TEST_USER" --tenant "$TEST_TENANT" \
+ openstack user role list "$TEST_USER" --project "$TEST_PROJECT" \
| grep -q "$TEST_ROLE" || {
- keystone user-role-add --user "$TEST_USER" --role "$TEST_ROLE" \
- --tenant "$TEST_TENANT"
+ openstack role add "$TEST_ROLE" --user "$TEST_USER" \
+ --project "$TEST_PROJECT"
}
}
# test VM done with test user, so can test non-admin
export OS_USERNAME="$TEST_USER"
export OS_PASSWORD="$TEST_PW"
- export OS_TENANT_NAME="$TEST_TENANT"
+ export OS_TENANT_NAME="$TEST_PROJECT"
nova boot --flavor "$VM_FLAVOR" \
--image "$IMAGE_NAME" \
"$VM_NAME"
wait_for_vm_launch() {
echo "waiting for vm launch..."
- while true
+ count=0
+ while [[ ${count} -lt 60 ]]
do
state=$(nova list | grep " $VM_NAME " | awk '{print $6}')
[[ "$state" == "ACTIVE" ]] && return 0
+ [[ "$state" == "ERROR" ]] && echo "vm state is ERROR" && exit 1
+ count=$(($count+1))
sleep 1
done
+ echo "ERROR: time out while waiting for vm launch"
+ exit 1
}
inject_failure() {
# Switching to test user
export OS_USERNAME="$TEST_USER"
export OS_PASSWORD="$TEST_PW"
- export OS_TENANT_NAME="$TEST_TENANT"
+ export OS_TENANT_NAME="$TEST_PROJECT"
host_status_line=$(nova show $VM_NAME | grep "host_status")
[[ $? -ne 0 ]] && {
python ./nova_force_down.py "$COMPUTE_HOST" --unset
sleep 1
- nova delete "$VM_NAME"
+ nova list | grep -q " $VM_NAME " && nova delete "$VM_NAME"
sleep 1
alarm_id=$(ceilometer alarm-list | grep " $ALARM_NAME " | awk '{print $2}')
sleep 1
image_id=$(glance image-list | grep " $IMAGE_NAME " | awk '{print $2}')
sleep 1
[ -n "$image_id" ] && glance image-delete "$image_id"
- keystone user-role-remove --user "$TEST_USER" --role "$TEST_ROLE" \
- --tenant "$TEST_TENANT"
- keystone tenant-remove --name "$TEST_TENANT"
- keystone user-delete "$TEST_USER"
+ openstack role remove "$TEST_ROLE" --user "$TEST_USER" \
+ --project "$TEST_PROJECT"
+ openstack project delete "$TEST_PROJECT"
+ openstack user delete "$TEST_USER"
#TODO: add host status check via nova admin api
echo "waiting disabled compute host back to be enabled..."