From 34a0a5c9800d54c55fade1d124e4d20556b8d9e8 Mon Sep 17 00:00:00 2001 From: ZhongShengping Date: Tue, 20 Mar 2018 13:44:21 +0800 Subject: [PATCH] Add integration_enable option to beaker test Change-Id: If3a1c1299de725c23e2586453c9ab85e9db988b8 --- manifests/ceilometer.pp | 66 +++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 25 deletions(-) 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,