Prepare Tempest and run smoke
Still hacking on the patch to make it pass trusty systems. * Create 2 flavors, used by Tempest Compute tests * Create 'public' network, used by Tempest Compute tests for floating-ip * Configure Tempest to be aware about the 2 created flavors refs * Configure Tempest to be aware about the public network * Add some Puppet Exec code that prepare virtual bridging to reach floating IPs * Add scenario parameters * Run Smoke suite that includes 2 scenarios & some important API tests. * Pin python-netaddr on ubuntu so we can test floating-IP. Change-Id: Iebb83e110fbb0c072f06b3ca2ad84987e0efe3a6
This commit is contained in:
parent
180b6e837a
commit
81dcaf9df2
@ -130,20 +130,6 @@ class { '::glance::registry':
|
|||||||
database_connection => 'mysql://glance:glance@127.0.0.1/glance?charset=utf8',
|
database_connection => 'mysql://glance:glance@127.0.0.1/glance?charset=utf8',
|
||||||
keystone_password => 'a_big_secret',
|
keystone_password => 'a_big_secret',
|
||||||
}
|
}
|
||||||
glance_image { 'cirros':
|
|
||||||
ensure => present,
|
|
||||||
container_format => 'bare',
|
|
||||||
disk_format => 'qcow2',
|
|
||||||
is_public => 'yes',
|
|
||||||
source => 'http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img',
|
|
||||||
}
|
|
||||||
glance_image { 'cirros_alt':
|
|
||||||
ensure => present,
|
|
||||||
container_format => 'bare',
|
|
||||||
disk_format => 'qcow2',
|
|
||||||
is_public => 'yes',
|
|
||||||
source => 'http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img',
|
|
||||||
}
|
|
||||||
|
|
||||||
# Deploy Neutron
|
# Deploy Neutron
|
||||||
class { '::neutron::db::mysql':
|
class { '::neutron::db::mysql':
|
||||||
@ -240,6 +226,76 @@ class { '::nova::network::neutron':
|
|||||||
neutron_admin_auth_url => 'http://127.0.0.1:35357/v2.0',
|
neutron_admin_auth_url => 'http://127.0.0.1:35357/v2.0',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Configure Tempest and the resources
|
||||||
|
$os_auth_options = '--os-username admin --os-password a_big_secret --os-tenant-name openstack --os-auth-url http://127.0.0.1:5000/v2.0'
|
||||||
|
|
||||||
|
exec { 'manage_m1.nano_nova_flavor':
|
||||||
|
path => '/usr/bin:/bin:/usr/sbin:/sbin',
|
||||||
|
provider => shell,
|
||||||
|
command => "nova ${os_auth_options} flavor-create m1.nano 42 128 0 1",
|
||||||
|
unless => "nova ${os_auth_options} flavor-list | grep m1.nano",
|
||||||
|
}
|
||||||
|
Keystone_user_role['admin@openstack'] -> Exec['manage_m1.nano_nova_flavor']
|
||||||
|
|
||||||
|
exec { 'manage_m1.micro_nova_flavor':
|
||||||
|
path => '/usr/bin:/bin:/usr/sbin:/sbin',
|
||||||
|
provider => shell,
|
||||||
|
command => "nova ${os_auth_options} flavor-create m1.micro 84 128 0 1",
|
||||||
|
unless => "nova ${os_auth_options} flavor-list | grep m1.micro",
|
||||||
|
}
|
||||||
|
Keystone_user_role['admin@openstack'] -> Exec['manage_m1.micro_nova_flavor']
|
||||||
|
|
||||||
|
neutron_network { 'public':
|
||||||
|
tenant_name => 'openstack',
|
||||||
|
router_external => true,
|
||||||
|
}
|
||||||
|
Keystone_user_role['admin@openstack'] -> Neutron_network<||>
|
||||||
|
|
||||||
|
neutron_subnet { 'public-subnet':
|
||||||
|
cidr => '172.24.5.0/24',
|
||||||
|
ip_version => '4',
|
||||||
|
allocation_pools => ['start=172.24.5.10,end=172.24.5.200'],
|
||||||
|
gateway_ip => '172.24.5.1',
|
||||||
|
enable_dhcp => false,
|
||||||
|
network_name => 'public',
|
||||||
|
tenant_name => 'openstack',
|
||||||
|
}
|
||||||
|
|
||||||
|
include ::vswitch::ovs
|
||||||
|
vs_bridge { 'br-ex':
|
||||||
|
ensure => present,
|
||||||
|
notify => Exec['create_br-ex_vif'],
|
||||||
|
}
|
||||||
|
|
||||||
|
# creates br-ex virtual interface to reach floating-ip network
|
||||||
|
exec { 'create_br-ex_vif':
|
||||||
|
path => '/usr/bin:/bin:/usr/sbin:/sbin',
|
||||||
|
provider => shell,
|
||||||
|
command => 'ip addr add 172.24.5.1/24 dev br-ex; ip link set br-ex up',
|
||||||
|
refreshonly => true,
|
||||||
|
}
|
||||||
|
|
||||||
|
glance_image { 'cirros':
|
||||||
|
ensure => present,
|
||||||
|
container_format => 'bare',
|
||||||
|
disk_format => 'qcow2',
|
||||||
|
is_public => 'yes',
|
||||||
|
# TODO(emilien) optimization by 1/ using Hiera to configure Glance image source
|
||||||
|
# and 2/ if running in the gate, use /home/jenkins/cache/files/ cirros image.
|
||||||
|
# source => '/home/jenkins/cache/files/cirros-0.3.4-x86_64-disk.img',
|
||||||
|
source => 'http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img',
|
||||||
|
}
|
||||||
|
glance_image { 'cirros_alt':
|
||||||
|
ensure => present,
|
||||||
|
container_format => 'bare',
|
||||||
|
disk_format => 'qcow2',
|
||||||
|
is_public => 'yes',
|
||||||
|
# TODO(emilien) optimization by 1/ using Hiera to configure Glance image source
|
||||||
|
# and 2/ if running in the gate, use /home/jenkins/cache/files/ cirros image.
|
||||||
|
# source => '/home/jenkins/cache/files/cirros-0.3.4-x86_64-disk.img',
|
||||||
|
source => 'http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img',
|
||||||
|
}
|
||||||
|
|
||||||
class { '::tempest':
|
class { '::tempest':
|
||||||
debug => true,
|
debug => true,
|
||||||
use_stderr => false,
|
use_stderr => false,
|
||||||
@ -250,7 +306,7 @@ class { '::tempest':
|
|||||||
lock_path => '/tmp/openstack/tempest',
|
lock_path => '/tmp/openstack/tempest',
|
||||||
tempest_config_file => '/tmp/openstack/tempest/etc/tempest.conf',
|
tempest_config_file => '/tmp/openstack/tempest/etc/tempest.conf',
|
||||||
configure_images => true,
|
configure_images => true,
|
||||||
configure_networks => false,
|
configure_networks => true,
|
||||||
identity_uri => 'http://127.0.0.1:5000/v2.0',
|
identity_uri => 'http://127.0.0.1:5000/v2.0',
|
||||||
identity_uri_v3 => 'http://127.0.0.1:5000/v3',
|
identity_uri_v3 => 'http://127.0.0.1:5000/v3',
|
||||||
admin_username => 'admin',
|
admin_username => 'admin',
|
||||||
@ -263,5 +319,16 @@ class { '::tempest':
|
|||||||
cinder_available => false,
|
cinder_available => false,
|
||||||
glance_available => true,
|
glance_available => true,
|
||||||
horizon_available => false,
|
horizon_available => false,
|
||||||
nova_available => false,
|
nova_available => true,
|
||||||
|
neutron_available => true,
|
||||||
|
public_network_name => 'public',
|
||||||
|
flavor_ref => '42',
|
||||||
|
flavor_ref_alt => '84',
|
||||||
|
image_ssh_user => 'cirros',
|
||||||
|
image_alt_ssh_user => 'cirros',
|
||||||
|
img_file => 'cirros-0.3.4-x86_64-disk.img',
|
||||||
|
# TODO(emilien) optimization by 1/ using Hiera to configure Glance image source
|
||||||
|
# and 2/ if running in the gate, use /home/jenkins/cache/files/ cirros image.
|
||||||
|
# img_dir => '/home/jenkins/cache/files',
|
||||||
|
img_dir => '/tmp/openstack/tempest',
|
||||||
}
|
}
|
||||||
|
23
run_tests.sh
23
run_tests.sh
@ -81,7 +81,28 @@ if [ $RESULT -ne 0 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# TODO(emilien) later, we should use local image if present. That would be a next iteration.
|
||||||
|
wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img -P /tmp/openstack/tempest
|
||||||
|
|
||||||
|
# TODO(emilien) drop this code after b3 goes in 'liberty/proposed'
|
||||||
|
if uses_debs; then
|
||||||
|
# tl;dr; floating-ip is broken in ubuntu/liberty/proposed: http://goo.gl/Yoaqzo
|
||||||
|
# our current CI is getting packages from ubuntu liberty/proposed
|
||||||
|
# liberty/proposed provides python-netaddr > 0.7.15 but a too old version
|
||||||
|
# of neutron that does not include https://review.openstack.org/#/c/218723/
|
||||||
|
# which is required when you run python-netaddr > 0.7.15.
|
||||||
|
# ubuntu team is about to provide liberty-3 soon in liberty/proposed but in
|
||||||
|
# the meantime, we need to pin netaddr==0.7.15 so we can create floating-IP
|
||||||
|
sudo pip install -Iv netaddr==0.7.15
|
||||||
|
sudo service neutron-server restart
|
||||||
|
sudo service neutron-plugin-openvswitch-agent restart
|
||||||
|
sudo service neutron-dhcp-agent restart
|
||||||
|
sudo service neutron-metadata-agent restart
|
||||||
|
sudo service neutron-l3-agent restart
|
||||||
|
fi
|
||||||
|
|
||||||
|
# run a scenario that validates Keystone, Nova, Glance and Neutron
|
||||||
# TODO(emilien) the checkout thing is temporary, while test_list_projects_returns_only_authorized_projects is
|
# TODO(emilien) the checkout thing is temporary, while test_list_projects_returns_only_authorized_projects is
|
||||||
# failing for us we checkout the most recent commit without this test.
|
# failing for us we checkout the most recent commit without this test.
|
||||||
# https://bugs.launchpad.net/tempest/+bug/1492419
|
# https://bugs.launchpad.net/tempest/+bug/1492419
|
||||||
cd /tmp/openstack/tempest; git checkout b6369eaa58f2c9ce334863cb3ba54c5656cf64c4; tox -eall -- identity image
|
cd /tmp/openstack/tempest; git checkout b6369eaa58f2c9ce334863cb3ba54c5656cf64c4; tox -eall -- smoke
|
||||||
|
Loading…
Reference in New Issue
Block a user