From d1bf32c5e5e7bd3b7904639bd684c0cd09042339 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 26 Oct 2015 07:30:29 +0900 Subject: [PATCH] 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 --- README.md | 1 + fixtures/scenario001.pp | 57 ++++++++++++++++++++++++++++++++++++++--- run_tests.sh | 7 +++-- 3 files changed, 59 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e365cd69e..948627829 100644 --- a/README.md +++ b/README.md @@ -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 | | diff --git a/fixtures/scenario001.pp b/fixtures/scenario001.pp index 0eb9d8c7a..2d6f3d57c 100644 --- a/fixtures/scenario001.pp +++ b/fixtures/scenario001.pp @@ -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, diff --git a/run_tests.sh b/run_tests.sh index 48eaaf748..8180732aa 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -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