scenario001: deploy & test Aodh

Aodh is the new service that replaces Ceilometer Alarm.
This patch aims to:

* deploy Aodh in scenario001 (beside Ceilometer).
* drop ceilometer alarm code (replaced by puppet-aodh).
* add TelemetryAlarming testing (to validate Telemetry Alarm with Aodh).

Change-Id: I1acde0fad6c36429562d8576663c4cb9d393a79d
This commit is contained in:
Emilien Macchi 2015-10-26 07:30:29 +09:00
parent 9cdd38a4e5
commit d1bf32c5e5
3 changed files with 59 additions and 6 deletions

View File

@ -39,6 +39,7 @@ scenario](#All-In-One).
| neutron | X | X | X |
| cinder | X | | X |
| ceilometer | X | | |
| aodh | X | | |
| heat | | X | |
| swift | | X | |
| sahara | | X | |

View File

@ -20,13 +20,13 @@ include ::openstack_integration::rabbitmq
include ::openstack_integration::mysql
include ::openstack_integration::keystone
rabbitmq_user { ['neutron', 'nova', 'cinder', 'ceilometer', 'glance', 'trove']:
rabbitmq_user { ['neutron', 'nova', 'cinder', 'ceilometer', 'aodh', 'glance', 'trove']:
admin => true,
password => 'an_even_bigger_secret',
provider => 'rabbitmqctl',
require => Class['::rabbitmq'],
}
rabbitmq_user_permissions { ['neutron@/', 'nova@/', 'cinder@/', 'ceilometer@/', 'glance@/', 'trove@/']:
rabbitmq_user_permissions { ['neutron@/', 'nova@/', 'cinder@/', 'ceilometer@/', 'aodh@/', 'glance@/', 'trove@/']:
configure_permission => '.*',
write_permission => '.*',
read_permission => '.*',
@ -253,8 +253,6 @@ class { '::ceilometer::wsgi::apache':
}
class { '::ceilometer::collector': }
class { '::ceilometer::expirer': }
class { '::ceilometer::alarm::evaluator': }
class { '::ceilometer::alarm::notifier': }
class { '::ceilometer::agent::notification': }
class { '::ceilometer::agent::polling': }
class { '::ceilometer::agent::auth':
@ -262,6 +260,56 @@ class { '::ceilometer::agent::auth':
auth_url => 'http://127.0.0.1:5000/v2.0',
}
# Aodh is not yet packaged in UCA, but only in RDO.
case $::osfamily {
'Debian': {
class { '::ceilometer::alarm::evaluator': }
class { '::ceilometer::alarm::notifier': }
# for tempest
$aodh_enabled = false
}
'RedHat': {
class { '::aodh':
rabbit_userid => 'aodh',
rabbit_password => 'an_even_bigger_secret',
verbose => true,
debug => true,
rabbit_host => '127.0.0.1',
database_connection => 'mysql://aodh:aodh@127.0.0.1/aodh?charset=utf8',
}
class { '::aodh::db::mysql':
password => 'aodh',
}
class { '::aodh::keystone::auth':
password => 'a_big_secret',
}
class { '::aodh::api':
enabled => true,
keystone_password => 'a_big_secret',
keystone_identity_uri => 'http://127.0.0.1:35357/',
keystone_auth_uri => 'http://127.0.0.1:35357/',
service_name => 'httpd',
}
class { '::aodh::wsgi::apache':
ssl => false,
}
class { '::aodh::auth':
auth_url => 'http://127.0.0.1:5000/v2.0',
auth_password => 'a_big_secret',
}
class { '::aodh::client': }
class { '::aodh::notifier': }
class { '::aodh::listener': }
class { '::aodh::evaluator': }
class { '::aodh::db::sync': }
# for tempest
$aodh_enabled = true
}
default: {
fail("Unsupported osfamily (${::osfamily})")
}
}
# Deploy Trove
class { '::trove':
database_connection => 'mysql://trove:trove@127.0.0.1/trove?charset=utf8',
@ -389,6 +437,7 @@ class { '::tempest':
nova_available => true,
neutron_available => true,
ceilometer_available => true,
aodh_available => $aodh_enabled,
trove_available => true,
sahara_available => false,
heat_available => false,

View File

@ -86,5 +86,8 @@ 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
# run tempest smoke suite
cd /tmp/openstack/tempest; tox -eall -- --concurrency=2 smoke dashboard
# Select what to test:
# - smoke suite
# - dashboard (horizon)
# - TelemetryAlarming (Aodh)
cd /tmp/openstack/tempest; tox -eall -- --concurrency=2 smoke dashboard TelemetryAlarming