Deploy & Test Ironic
* Create manifest to deploy Ironic services with 'fake' driver. * Add bits to tempest class to enable the service. * Update README. * Add api.baremetal tests so we actually test Ironic. Depends-On: I93fd4740d09b0c7e926c4dba7a7602f4d295d2ea Depends-On: I01c83a6daa3909d4d9b1cb559836b7b5e54c7c7e Change-Id: Ice03be261e687af43e677a9f60a1cc3c79acdf8b
This commit is contained in:
parent
f3bdf37186
commit
8d5fe5e952
@ -45,6 +45,7 @@ scenario](#All-In-One).
|
||||
| sahara | | X | |
|
||||
| trove | X | | |
|
||||
| horizon | | X | X |
|
||||
| ironic | | X | |
|
||||
|
||||
When the Jenkins slave is created, the *run_tests.sh* script will executed.
|
||||
This script will execute *install_modules.sh* that prepare /etc/puppet/modules
|
||||
|
@ -26,12 +26,27 @@ include ::openstack_integration::heat
|
||||
include ::openstack_integration::horizon
|
||||
include ::openstack_integration::sahara
|
||||
include ::openstack_integration::swift
|
||||
include ::openstack_integration::ironic
|
||||
include ::openstack_integration::provision
|
||||
|
||||
case $::osfamily {
|
||||
'Debian': {
|
||||
# ironic-conductor is broken for Ubuntu Trusty
|
||||
# https://bugs.launchpad.net/cloud-archive/+bug/1530869
|
||||
$ironic_enabled = false
|
||||
}
|
||||
'RedHat': {
|
||||
$ironic_enabled = true
|
||||
}
|
||||
default: {
|
||||
fail("Unsupported osfamily (${::osfamily})")
|
||||
}
|
||||
}
|
||||
|
||||
class { '::openstack_integration::tempest':
|
||||
horizon => true,
|
||||
sahara => true,
|
||||
heat => true,
|
||||
swift => true,
|
||||
require => Class['::rabbitmq'],
|
||||
ironic => $ironic_enabled,
|
||||
}
|
||||
|
39
manifests/ironic.pp
Normal file
39
manifests/ironic.pp
Normal file
@ -0,0 +1,39 @@
|
||||
class openstack_integration::ironic {
|
||||
|
||||
rabbitmq_user { 'ironic':
|
||||
admin => true,
|
||||
password => 'an_even_bigger_secret',
|
||||
provider => 'rabbitmqctl',
|
||||
require => Class['::rabbitmq'],
|
||||
}
|
||||
rabbitmq_user_permissions { 'ironic@/':
|
||||
configure_permission => '.*',
|
||||
write_permission => '.*',
|
||||
read_permission => '.*',
|
||||
provider => 'rabbitmqctl',
|
||||
require => Class['::rabbitmq'],
|
||||
}
|
||||
|
||||
class { '::ironic':
|
||||
rabbit_userid => 'ironic',
|
||||
rabbit_password => 'an_even_bigger_secret',
|
||||
rabbit_host => '127.0.0.1',
|
||||
database_connection => 'mysql+pymysql://ironic:ironic@127.0.0.1/ironic?charset=utf8',
|
||||
debug => true,
|
||||
verbose => true,
|
||||
enabled_drivers => ['fake', 'pxe_ssh', 'pxe_ipmitool'],
|
||||
}
|
||||
class { '::ironic::db::mysql':
|
||||
password => 'ironic',
|
||||
}
|
||||
class { '::ironic::keystone::auth':
|
||||
password => 'a_big_secret',
|
||||
}
|
||||
class { '::ironic::client': }
|
||||
class { '::ironic::api':
|
||||
admin_password => 'a_big_secret',
|
||||
workers => '2',
|
||||
}
|
||||
class { '::ironic::conductor': }
|
||||
|
||||
}
|
@ -24,6 +24,10 @@
|
||||
# (optional) Define if Horizon needs to be tested.
|
||||
# Default to false.
|
||||
#
|
||||
# [*ironic*]
|
||||
# (optional) Define if Ironic needs to be tested.
|
||||
# Default to false.
|
||||
#
|
||||
# [*neutron*]
|
||||
# (optional) Define if Neutron needs to be tested.
|
||||
# Default to true.
|
||||
@ -51,6 +55,7 @@ class openstack_integration::tempest (
|
||||
$glance = true,
|
||||
$heat = false,
|
||||
$horizon = false,
|
||||
$ironic = false,
|
||||
$neutron = true,
|
||||
$nova = true,
|
||||
$sahara = false,
|
||||
@ -89,6 +94,7 @@ class openstack_integration::tempest (
|
||||
sahara_available => $sahara,
|
||||
heat_available => $heat,
|
||||
swift_available => $swift,
|
||||
ironic_available => $ironic,
|
||||
public_network_name => 'public',
|
||||
dashboard_url => "http://${::hostname}/",
|
||||
flavor_ref => '42',
|
||||
|
@ -93,5 +93,6 @@ wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img -P /tmp
|
||||
# - smoke suite
|
||||
# - dashboard (horizon)
|
||||
# - TelemetryAlarming (Aodh)
|
||||
cd /tmp/openstack/tempest; tox -eall -- --concurrency=2 smoke dashboard TelemetryAlarming
|
||||
# - api.baremetal (Ironic)
|
||||
cd /tmp/openstack/tempest; tox -eall -- --concurrency=2 smoke dashboard TelemetryAlarming api.baremetal
|
||||
/tmp/openstack/tempest/.tox/all/bin/testr last --subunit > /tmp/openstack/tempest/testrepository.subunit
|
||||
|
Loading…
Reference in New Issue
Block a user