diff --git a/README.md b/README.md index 5ac2ded7f..e2f241cef 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ scenario](#all-in-one). | backup | | swift | | | | | gnocchi | rbd | | | | | | ec2api | | X | | | | -| heat | | | X | | | +| heat | X | | X | | | | swift | | X | | | | | sahara | | | X | | | | trove | | | X | | | diff --git a/fixtures/scenario001.pp b/fixtures/scenario001.pp index 3ef83de0f..6f1b7bba1 100644 --- a/fixtures/scenario001.pp +++ b/fixtures/scenario001.pp @@ -49,7 +49,11 @@ include ::openstack_integration::cacert include ::openstack_integration::memcached include ::openstack_integration::rabbitmq include ::openstack_integration::mysql -include ::openstack_integration::keystone +class { '::openstack_integration::keystone': + # NOTE(sileht):zTelemetry autoscaling tempest tests can't renew token, so we + # use a long one + token_expiration => '2400', +} class { '::openstack_integration::glance': backend => 'rbd', } @@ -68,6 +72,7 @@ if $enable_vitrage { include ::openstack_integration::vitrage } include ::openstack_integration::ceph +include ::openstack_integration::heat include ::openstack_integration::provision if ! $enable_legacy_telemetry { include ::openstack_integration::redis @@ -80,6 +85,7 @@ class { '::openstack_integration::tempest': gnocchi => ! $enable_legacy_telemetry, ceilometer => true, aodh => true, + heat => true, panko => ! $enable_legacy_telemetry, vitrage => $enable_vitrage, } diff --git a/manifests/aodh.pp b/manifests/aodh.pp index b3b7a4187..20a04539b 100644 --- a/manifests/aodh.pp +++ b/manifests/aodh.pp @@ -82,6 +82,8 @@ class openstack_integration::aodh { class { '::aodh::client': } class { '::aodh::notifier': } class { '::aodh::listener': } - class { '::aodh::evaluator': } + class { '::aodh::evaluator': + evaluation_interval => 10, + } } diff --git a/manifests/ceilometer.pp b/manifests/ceilometer.pp index 5e486186d..7e6da7ac5 100644 --- a/manifests/ceilometer.pp +++ b/manifests/ceilometer.pp @@ -86,6 +86,7 @@ class openstack_integration::ceilometer ( class { '::ceilometer::expirer': } + # Gnocchi and Panko are not avialable on Ubuntu $sample_pipeline_publishers = ['database://'] $event_pipeline_publishers = ['database://'] } else { @@ -99,16 +100,24 @@ class openstack_integration::ceilometer ( Class['ceilometer::keystone::auth'] -> Exec['ceilometer-upgrade'] Class['gnocchi::keystone::auth'] -> Exec['ceilometer-upgrade'] + # The default pipeline doesn't have Panko $sample_pipeline_publishers = ['gnocchi://'] $event_pipeline_publishers = ['gnocchi://', 'panko://'] } class { '::ceilometer::agent::notification': notification_workers => '2', + manage_pipeline => true, pipeline_publishers => $sample_pipeline_publishers, + manage_event_pipeline => true, event_pipeline_publishers => $event_pipeline_publishers, } - class { '::ceilometer::agent::polling': } + class { '::ceilometer::agent::polling': + manage_polling => true, + # NOTE(sileht): Use 1 minute instead 10 otherwise the telemetry tempest + # tests are too long to pass in less than 1 hour. + polling_interval => 60, + } class { '::ceilometer::agent::auth': auth_password => 'a_big_secret', auth_url => $::openstack_integration::config::keystone_auth_uri, diff --git a/manifests/gnocchi.pp b/manifests/gnocchi.pp index 5142a5662..d759126da 100644 --- a/manifests/gnocchi.pp +++ b/manifests/gnocchi.pp @@ -56,7 +56,11 @@ class openstack_integration::gnocchi { cleanup_delay => 10, } class { '::gnocchi::storage': - coordination_url => $::openstack_integration::config::tooz_url, + # NOTE(sileht): Since we set the pipeline interval to 1 minutes instead + # of 10, we must compute metrics more often too, otherwise Aodh alarms will + # always missed data just because they are 'not yet' computed. + metric_processing_delay => 5, + coordination_url => $::openstack_integration::config::tooz_url, } class { '::gnocchi::storage::ceph': ceph_username => 'openstack', diff --git a/manifests/keystone.pp b/manifests/keystone.pp index 5af50eca2..f4e79cf75 100644 --- a/manifests/keystone.pp +++ b/manifests/keystone.pp @@ -15,10 +15,16 @@ # (optional) Define the token provider to use. # Default to 'uuid'. # +# [*token_expiration*] +# (optional) Define the token expiration to use. +# Default to '600'. +# + class openstack_integration::keystone ( $default_domain = undef, $using_domain_config = false, $token_provider = 'uuid', + $token_expiration = '600', ) { include ::openstack_integration::config @@ -72,7 +78,7 @@ class openstack_integration::keystone ( enable_fernet_setup => $enable_fernet_setup, enable_credential_setup => $enable_credential_setup, fernet_max_active_keys => '4', - token_expiration => '600', + token_expiration => $token_expiration, } include ::apache class { '::keystone::wsgi::apache': diff --git a/run_tests.sh b/run_tests.sh index 0cc6b314b..effdcd20d 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -281,6 +281,9 @@ echo "gnocchi.tempest" >> /tmp/openstack/tempest/test-whitelist.txt # Vitrage echo "TestEvents" >> /tmp/openstack/tempest/test-whitelist.txt +# Test Autoscaling with Telemetry (need panko, ubuntu doesn't ship it) +uses_debs || echo "test_telemetry_integration" >> /tmp/openstack/tempest/test-whitelist.txt + # Ironic # Note: running all Ironic tests under SSL is not working # https://bugs.launchpad.net/ironic/+bug/1554237 @@ -314,7 +317,7 @@ if uses_debs; then # 1) fwaas tests from ubuntu are still out of date LP#1667736 EXCLUDES="--regex=^(?!neutron_fwaas.tests.tempest_plugin.tests.api.test_fwaas_extensions.*$)(?!mistral_tempest_tests.tests.api.v2.test_executions.ExecutionTestsV2.test_get_list_executions.*$)(?!ceilometer.tests.tempest.api.test_telemetry_notification_api.TelemetryNotificationAPITest.test_check_glance_v2_notifications.*$).*" else - EXCLUDES="--regex=^(?!ceilometer.tests.tempest.api.test_telemetry_notification_api.TelemetryNotificationAPITest.test_check_glance_v2_notifications.*$)(?!tempest.scenario.gnocchi.test.live_assert_vcpus_metric_is_really_expurged.test_request.*$)(?!tempest.scenario.gnocchi.test.live_assert_no_delete_metrics_have_the_gabbilive_policy.test_request.*$).*" + EXCLUDES="--regex=^(?!tempest.scenario.gnocchi.test.live_assert_vcpus_metric_is_really_expurged.test_request.*$)(?!tempest.scenario.gnocchi.test.live_assert_no_delete_metrics_have_the_gabbilive_policy.test_request.*$).*" fi print_header 'Running Tempest' cd /tmp/openstack/tempest