diff --git a/manifests/ceilometer.pp b/manifests/ceilometer.pp index b5c0932e5..fbea731be 100644 --- a/manifests/ceilometer.pp +++ b/manifests/ceilometer.pp @@ -4,8 +4,13 @@ # (optional) Enable polling for the compute namespace # Default to true. # +# [*integration_enable*] +# (optional) Boolean to run integration tests. +# Defaults to true. +# class openstack_integration::ceilometer ( - $compute_namespace = true, + $compute_namespace = true, + $integration_enable = true, ){ include ::openstack_integration::config @@ -54,33 +59,44 @@ class openstack_integration::ceilometer ( configure_endpoint => false, } - # We use Gnocchi/Panko instead of local database, db::sync is required to populate - # gnocchi resource types. - include ::ceilometer::db::sync - # Ensure Gnocchi and creads are ready before running ceilometer-upgrade - Service['httpd'] -> Exec['ceilometer-upgrade'] - Class['ceilometer::agent::auth'] -> Exec['ceilometer-upgrade'] - Class['ceilometer::keystone::auth'] -> Exec['ceilometer-upgrade'] - Class['gnocchi::keystone::auth'] -> Exec['ceilometer-upgrade'] + if $integration_enable { + # Ensure Gnocchi and creads are ready before running ceilometer-upgrade + # We use Gnocchi/Panko instead of local database, db::sync is required to populate + # gnocchi resource types. + include ::ceilometer::db::sync + Service['httpd'] -> Exec['ceilometer-upgrade'] + Class['ceilometer::agent::auth'] -> Exec['ceilometer-upgrade'] + 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://'] + # 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': - manage_polling => true, - compute_namespace => $compute_namespace, - # 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::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': + manage_polling => true, + compute_namespace => $compute_namespace, + # 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, + } + } else { + # NOTE(tobasco): When running the beaker tests we need to exclude the + # gnocchi resource types since the acceptance test does not setup gnocchi itself. + class { '::ceilometer::db::sync': + extra_params => '--skip-gnocchi-resource-types', + } + class { '::ceilometer::agent::notification': } } + + class { '::ceilometer::expirer': } class { '::ceilometer::agent::auth': auth_password => 'a_big_secret', auth_url => $::openstack_integration::config::keystone_auth_uri,