9f8921a43c
This PS updates the security group creation code to work with Ocata. Change-Id: I04d5d130e3a9a3a7d706fb94478697d4c85e60b0
182 lines
5.2 KiB
Bash
Executable File
182 lines
5.2 KiB
Bash
Executable File
#!/bin/bash -xe
|
|
|
|
function wait_for_vm {
|
|
set +x
|
|
count=0
|
|
while true; do
|
|
val=$(openstack server show $1 -f value -c OS-EXT-STS:vm_state)
|
|
[ $val == "active" ] && break
|
|
[ $val == "error" ] && openstack server show $1 && exit -1
|
|
sleep 1;
|
|
count=$((count+1))
|
|
[ $count -gt 30 ] && exit -1
|
|
done
|
|
set -x
|
|
}
|
|
|
|
function wait_for_vm_ssh {
|
|
set +ex
|
|
count=0
|
|
while true; do
|
|
sshpass -p 'cubswin:)' ssh -o UserKnownHostsFile=/dev/null -o \
|
|
StrictHostKeyChecking=no cirros@$1 echo > /dev/null
|
|
[ $? -eq 0 ] && break
|
|
sleep 1;
|
|
count=$((count+1))
|
|
[ $count -gt 30 ] && echo failed to ssh. && exit -1
|
|
done
|
|
set -ex
|
|
}
|
|
|
|
function wait_for_http {
|
|
set +ex
|
|
count=0
|
|
while true; do
|
|
curl -Lsf "$1" > /dev/null
|
|
[ $? -eq 0 ] && break
|
|
sleep 1
|
|
count=$((count+1))
|
|
[ $count -gt 30 ] && echo Failed to contact "$1". && exit -1
|
|
done
|
|
set -ex
|
|
}
|
|
|
|
function scp_to_vm {
|
|
sshpass -p 'cubswin:)' scp -o UserKnownHostsFile=/dev/null -o \
|
|
StrictHostKeyChecking=no "$2" cirros@$1:"$3"
|
|
}
|
|
|
|
function scp_from_vm {
|
|
sshpass -p 'cubswin:)' scp -o UserKnownHostsFile=/dev/null -o \
|
|
StrictHostKeyChecking=no cirros@$1:"$2" "$3"
|
|
}
|
|
|
|
function ssh_to_vm {
|
|
sshpass -p 'cubswin:)' ssh -o UserKnownHostsFile=/dev/null -o \
|
|
StrictHostKeyChecking=no cirros@$1 "$2"
|
|
}
|
|
|
|
function wait_for_cinder {
|
|
set +ex
|
|
count=0
|
|
while true; do
|
|
st=$(openstack volume show $1 -f value -c status)
|
|
[ $st != "$2" ] && break
|
|
sleep 1
|
|
count=$((count+1))
|
|
[ $count -gt 30 ] && echo Cinder volume failed. && exit -1
|
|
done
|
|
set -ex
|
|
}
|
|
|
|
HORIZON_URL=http://$(kubectl get svc horizon --namespace=kolla -o \
|
|
jsonpath='{.spec.clusterIP}'):80/
|
|
wait_for_http $HORIZON_URL
|
|
curl -Lsf http://`kubectl get svc horizon --namespace=kolla -o \
|
|
jsonpath='{.spec.clusterIP}'`:80/ | grep 'OpenStack Dashboard'
|
|
|
|
# Test that endpoint list works correctly
|
|
timeout 120s openstack endpoint list
|
|
|
|
curl -o cirros.qcow2 \
|
|
http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
|
|
echo testing cluster glance-api
|
|
curl http://`kubectl get svc glance-api --namespace=kolla -o \
|
|
jsonpath='{.spec.clusterIP}'`:9292/
|
|
echo testing external glance-api
|
|
curl http://`kubectl get svc glance-api --namespace=kolla -o \
|
|
jsonpath='{.spec.externalIPs[0]}'`:9292/
|
|
timeout 120s openstack image create --file cirros.qcow2 --disk-format qcow2 \
|
|
--container-format bare 'CirrOS'
|
|
|
|
neutron net-create --provider:physical_network=physnet1 \
|
|
--provider:network_type=flat external
|
|
neutron net-update --router:external=True external
|
|
neutron subnet-create --gateway 172.18.0.1 --disable-dhcp \
|
|
--allocation-pool start=172.18.0.65,end=172.18.0.254 \
|
|
--name external external 172.18.0.0/24
|
|
neutron router-create admin
|
|
neutron router-gateway-set admin external
|
|
|
|
neutron net-create admin
|
|
neutron subnet-create --gateway=172.18.1.1 \
|
|
--allocation-pool start=172.18.1.65,end=172.18.1.254 \
|
|
--name admin admin 172.18.1.0/24
|
|
neutron router-interface-add admin admin
|
|
|
|
openstack security group list -f value -c ID | while read SG_ID; do
|
|
neutron security-group-rule-create --protocol icmp \
|
|
--direction ingress $SG_ID
|
|
neutron security-group-rule-create --protocol tcp \
|
|
--port-range-min 22 --port-range-max 22 \
|
|
--direction ingress $SG_ID
|
|
done
|
|
|
|
openstack flavor create --public --id 1 --ram 512 --disk 1 --vcpus 1 m1.tiny || true
|
|
|
|
openstack server create --flavor=m1.tiny --image CirrOS \
|
|
--nic net-id=admin test
|
|
openstack server create --flavor=m1.tiny --image CirrOS \
|
|
--nic net-id=admin test2
|
|
|
|
wait_for_vm test
|
|
wait_for_vm test2
|
|
|
|
openstack volume create --size 1 test
|
|
|
|
wait_for_cinder test creating
|
|
|
|
openstack server add volume test test
|
|
|
|
FIP=$(openstack floating ip create external -f value -c floating_ip_address)
|
|
FIP2=$(openstack floating ip create external -f value -c floating_ip_address)
|
|
|
|
openstack server add floating ip test $FIP
|
|
openstack server add floating ip test2 $FIP2
|
|
|
|
openstack server list
|
|
|
|
wait_for_vm_ssh $FIP
|
|
|
|
sshpass -p 'cubswin:)' ssh -o UserKnownHostsFile=/dev/null -o \
|
|
StrictHostKeyChecking=no cirros@$FIP curl 169.254.169.254
|
|
|
|
sshpass -p 'cubswin:)' ssh -o UserKnownHostsFile=/dev/null -o \
|
|
StrictHostKeyChecking=no cirros@$FIP ping -W 20 -c 10 $FIP2
|
|
|
|
openstack volume show test -f value -c status
|
|
TESTSTR=$(uuidgen)
|
|
cat > /tmp/$$ <<EOF
|
|
#!/bin/sh -xe
|
|
mkdir /tmp/mnt
|
|
sudo /sbin/mkfs.vfat /dev/vdb
|
|
sudo mount /dev/vdb /tmp/mnt
|
|
sudo /bin/sh -c 'echo $TESTSTR > /tmp/mnt/test.txt'
|
|
sudo umount /tmp/mnt
|
|
EOF
|
|
chmod +x /tmp/$$
|
|
|
|
scp_to_vm $FIP /tmp/$$ /tmp/script
|
|
ssh_to_vm $FIP "/tmp/script"
|
|
|
|
openstack server remove volume test test
|
|
wait_for_cinder test in-use
|
|
wait_for_cinder test detaching
|
|
openstack server add volume test2 test
|
|
wait_for_cinder test available
|
|
wait_for_cinder test attaching
|
|
cat > /tmp/$$ <<EOF
|
|
#!/bin/sh -xe
|
|
mkdir /tmp/mnt
|
|
sudo mount /dev/vdb /tmp/mnt
|
|
sudo cat /tmp/mnt/test.txt
|
|
sudo cp /tmp/mnt/test.txt /tmp
|
|
sudo chown cirros /tmp/test.txt
|
|
EOF
|
|
chmod +x /tmp/$$
|
|
scp_to_vm $FIP2 /tmp/$$ /tmp/script
|
|
ssh_to_vm $FIP2 "/tmp/script"
|
|
scp_from_vm $FIP2 /tmp/test.txt /tmp/$$.2
|
|
|
|
diff -u <(echo $TESTSTR) /tmp/$$.2
|