scenario003: deploy and test mistral

Do not merge, testing with v3 auth

* Deploy Mistral on scenario003
* Run Tempest tests for Mistral
* Bump repo to recent RDO repo that contains a fix in Mistral to make
  Tempest tests working.

Change-Id: Ia43427cc207ee5b7b95e9610f06a568992fb58cd
This commit is contained in:
Emilien Macchi 2016-04-09 11:50:00 -04:00
parent e911825444
commit d01ed82976
6 changed files with 90 additions and 5 deletions

@ -50,6 +50,7 @@ scenario](#All-In-One).
| horizon | | | X | X |
| ironic | | X | | |
| zaqar | | X | | |
| mistral | | | X | |
| ceph | X | | | |
| mongodb | | X | | |

@ -16,14 +16,17 @@
case $::osfamily {
'Debian': {
$ipv6 = false
$ipv6 = false
# sahara is broken for Ubuntu Trusty and Debian
# ConfigParser.NoSectionError: No section: 'alembic'
$sahara_enabled = false
$sahara_enabled = false
# mistral is not packaged on Ubuntu Trusty
$mistral_enabled = false
}
'RedHat': {
$ipv6 = true
$sahara_enabled = true
$ipv6 = true
$sahara_enabled = true
$mistral_enabled = true
}
default: {
fail("Unsupported osfamily (${::osfamily})")
@ -47,6 +50,7 @@ include ::openstack_integration::nova
include ::openstack_integration::trove
include ::openstack_integration::horizon
include ::openstack_integration::heat
include ::openstack_integration::mistral
if $sahara_enabled {
include ::openstack_integration::sahara
}
@ -55,6 +59,7 @@ include ::openstack_integration::provision
class { '::openstack_integration::tempest':
trove => true,
sahara => $sahara_enabled,
mistral => $mistral_enabled,
horizon => true,
heat => true,
}

69
manifests/mistral.pp Normal file

@ -0,0 +1,69 @@
class openstack_integration::mistral {
include ::openstack_integration::config
include ::openstack_integration::params
rabbitmq_user { 'mistral':
admin => true,
password => 'an_even_bigger_secret',
provider => 'rabbitmqctl',
require => Class['rabbitmq'],
}
rabbitmq_user_permissions { 'mistral@/':
configure_permission => '.*',
write_permission => '.*',
read_permission => '.*',
provider => 'rabbitmqctl',
require => Class['rabbitmq'],
}
if $::osfamily == 'RedHat' {
if $::openstack_integration::config::ssl {
openstack_integration::ssl_key { 'mistral':
notify => Service['httpd'],
require => Package['mistral-common'],
}
Exec['update-ca-certificates'] ~> Service['httpd']
}
class { '::mistral':
database_connection => 'mysql+pymysql://mistral:mistral@127.0.0.1/mistral?charset=utf8',
keystone_password => 'a_big_secret',
rabbit_userid => 'mistral',
rabbit_password => 'an_even_bigger_secret',
rabbit_port => $::openstack_integration::config::rabbit_port,
rabbit_use_ssl => $::openstack_integration::config::ssl,
rabbit_host => $::openstack_integration::config::ip_for_url,
# if it works, we might need to change the default in puppet-mistral
identity_uri => $::openstack_integration::config::keystone_admin_uri,
auth_uri => "${::openstack_integration::config::keystone_auth_uri}/v3",
debug => true,
verbose => true,
}
class { '::mistral::keystone::auth':
public_url => "${::openstack_integration::config::base_url}:8989/v2",
admin_url => "${::openstack_integration::config::base_url}:8989/v2",
internal_url => "${::openstack_integration::config::base_url}:8989/v2",
password => 'a_big_secret',
}
class { '::mistral::db::mysql':
password => 'mistral',
}
class { '::mistral::api':
service_name => 'httpd',
}
include ::apache
class { '::mistral::wsgi::apache':
bind_host => $::openstack_integration::config::ip_for_url,
ssl => $::openstack_integration::config::ssl,
ssl_key => "/etc/mistral/ssl/private/${::fqdn}.pem",
ssl_cert => $::openstack_integration::params::cert_path,
workers => 2,
}
class { '::mistral::client': }
class { '::mistral::engine': }
class { '::mistral::executor': }
class { '::mistral::db::sync': }
}
}

@ -24,7 +24,7 @@ class openstack_integration::repos {
manage_epel => false,
repo_hash => {
'mitaka-current' => {
'baseurl' => 'https://trunk.rdoproject.org/centos7-mitaka/1c/82/1c829f367c2e67aa3a127342c59e0022266109c7_0e55db37/',
'baseurl' => 'https://trunk.rdoproject.org/centos7-mitaka/25/aa/25aae034738eda7c00fb3745aa85b96c6768c0f8_8ba4c30b/',
'descr' => 'Mitaka current',
'gpgcheck' => 'no',
'priority' => 1,

@ -28,6 +28,10 @@
# (optional) Define if Ironic needs to be tested.
# Default to false.
#
# [*mistral*]
# (optional) Define if Mistral needs to be tested.
# Default to false.
#
# [*neutron*]
# (optional) Define if Neutron needs to be tested.
# Default to true.
@ -60,6 +64,7 @@ class openstack_integration::tempest (
$heat = false,
$horizon = false,
$ironic = false,
$mistral = false,
$neutron = true,
$nova = true,
$sahara = false,
@ -104,6 +109,7 @@ class openstack_integration::tempest (
swift_available => $swift,
ironic_available => $ironic,
zaqar_available => $zaqar,
mistral_available => $mistral,
public_network_name => 'public',
dashboard_url => $::openstack_integration::config::base_url,
flavor_ref => '42',

@ -150,6 +150,10 @@ TESTS="${TESTS} api.baremetal.admin.test_drivers"
# Zaqar
TESTS="${TESTS} TestManageQueue"
# Mistral
TESTS="${TESTS} test_mistral_basic_v2.ExecutionTestsV2.test_get_list_executions"
cd /tmp/openstack/tempest
tox -eall-plugin -- --concurrency=2 $TESTS
RESULT=$?