5
# Install dependencies and CLI tools
6
# See also requirements.txt in tempest (probably need to sudo pip install -r requirements.txt)
7
sudo apt-get install git testrepository subunit python-nose python-lxml python-boto \
8
python-junitxml python-subunit python-testresources python-oslotest python-stevedore \
9
python-cinderclient python-glanceclient python-heatclient python-keystoneclient \
10
python-neutronclient python-novaclient python-swiftclient python-ceilometerclient \
11
openvswitch-test openvswitch-common -y
13
9
# Set serverstack defaults, if not already set.
14
10
[[ -z "$GATEWAY" ]] && export GATEWAY="10.5.0.1"
24
20
# If not on bare metal, add extra port to overcloud neutron-gateway and configure charm to use it
25
21
if [[ "${BARE_METAL^^}" != "TRUE" ]]; then
27
# ens6 is a brittle hack for late-landing Xenial net dev name change
28
./bin/post-deploy-config neutron-gateway ens6
23
./bin/post-deploy-config neutron-gateway
31
26
# Configure neutron networking on overcloud
33
./bin/quantum-ext-net --network-type $net_type -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
28
./bin/neutron-ext-net --network-type flat -g $GATEWAY -c $CIDR_EXT -f $FIP_RANGE ext_net
34
29
./bin/quantum-tenant-net --network-type $net_type -t admin -r provider-router -N $NAMESERVER private $CIDR_PRIV
36
# Download images if not already present
38
[ -f ~/images/trusty-server-cloudimg-amd64-disk1.img ] || {
39
wget -O ~/images/trusty-server-cloudimg-amd64-disk1.img http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
41
[ -f ~/images/trusty-server-cloudimg-amd64-root.tar.xz ] || {
42
wget -O ~/images/trusty-server-cloudimg-amd64-root.tar.xz http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-root.tar.xz
45
# Upload glance images to overcloud
46
glance --os-image-api-version 1 image-create --name="trusty-disk1.img" --is-public=true --progress \
47
--container-format=bare --disk-format=qcow2 --property hypervisor_type=qemu \
48
--property architecture=x86_64 < ~/images/trusty-server-cloudimg-amd64-disk1.img
49
glance --os-image-api-version 1 image-create --name="trusty-root.tar.xz" --is-public=true --progress \
50
--container-format=bare --disk-format=raw --property hypervisor_type=lxc \
51
--property architecture=x86_64 < ~/images/trusty-server-cloudimg-amd64-root.tar.xz
53
# Create demo/testing users, tenants and flavor
54
keystone tenant-create --name demo
55
keystone user-create --name demo --tenant demo --pass pass --enabled true --email demo@dev.null
56
keystone user-role-add --user demo --role Member --tenant demo || :
57
keystone tenant-create --name alt_demo
58
keystone user-create --name alt_demo --tenant alt_demo --pass secret --enabled true --email alt_demo@dev.null
59
keystone user-role-add --user alt_demo --role Member --tenant alt_demo || :
61
nova flavor-create m1.cirros 6 64 1 1
62
nova flavor-create m1.tempest 7 256 5 1
63
nova flavor-create m2.tempest 8 512 5 1
31
upload_image cloudimages xenial-lxd xenial-server-cloudimg-amd64-root.tar.xz raw lxc x86_64
32
upload_image cloudimages trusty-lxd trusty-server-cloudimg-amd64-root.tar.xz raw lxc x86_64
34
upload_image cloudimages xenial-kvm xenial-server-cloudimg-amd64-disk1.img qcow2 qemu x86_64
35
upload_image cloudimages trusty-kvm trusty-server-cloudimg-amd64-disk1.img qcow2 qemu x86_64
37
image_id=$(openstack image list | grep trusty-kvm | awk '{ print $2 }')
38
image_alt_id=$(openstack image list | grep xenial-kvm | awk '{ print $2 }')
42
access=$(openstack --os-username demo --os-password pass --os-tenant-name demo ec2 credentials create | grep access | awk '{ print $4 }')
43
secret=$(openstack ec2 credentials show $access | grep secret | awk '{ print $4 }')
45
create_tempest_flavors
65
47
# Gather vars for tempest template
66
access=$(keystone --os-username demo --os-password pass --os-tenant-name demo ec2-credentials-create | grep access | awk '{ print $4 }')
67
secret=$(keystone ec2-credentials-get --access $access | grep secret | awk '{ print $4 }')
68
image_id=$(glance image-list | grep cirros | awk '{ print $2 }')
69
image_alt_id=$(glance image-list | grep precise | awk '{ print $2 }')
70
48
ext_net=$(neutron net-list | grep ext_net | awk '{ print $2 }')
71
49
router=$(neutron router-list | grep provider-router | awk '{ print $2}')
72
50
keystone=$(juju-deployer -f keystone)