Move ceilometer upgrade re-run out of collector
authorPradeep Kilambi <pkilambi@redhat.com>
Tue, 18 Apr 2017 23:14:16 +0000 (19:14 -0400)
committerPradeep Kilambi <pkilambi@redhat.com>
Fri, 21 Apr 2017 14:50:46 +0000 (14:50 +0000)
Since collector is deprecated, lets move this out of collector.pp
so it gets run and resource types are created appropriately even
when collector is not included.

Closes-bug: #1676961

Change-Id: I32445a891c34f519ab16dcecc81993f8909f6481

manifests/profile/base/ceilometer.pp
manifests/profile/base/ceilometer/collector.pp
releasenotes/notes/move-ceilo-upgrade-out-3318df875de5cd00.yaml [new file with mode: 0644]
spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb
spec/classes/tripleo_profile_base_ceilometer_spec.rb

index 2855bd2..e6a2f11 100644 (file)
 #
 # === Parameters
 #
+# [*bootstrap_node*]
+#   (Optional) The hostname of the node responsible for bootstrapping tasks
+#   Defaults to hiera('bootstrap_nodeid')
+#
 # [*step*]
 #   (Optional) The current step in deployment. See tripleo-heat-templates
 #   for more details.
@@ -68,6 +72,7 @@
 #   Defaults to hiera('ceilometer::rabbit_use_ssl', '0')
 
 class tripleo::profile::base::ceilometer (
+  $bootstrap_node          = hiera('bootstrap_nodeid', undef),
   $step                    = hiera('step'),
   $oslomsg_rpc_proto       = hiera('messaging_rpc_service_name', 'rabbit'),
   $oslomsg_rpc_hosts       = any2array(hiera('rabbitmq_node_names', undef)),
@@ -81,6 +86,11 @@ class tripleo::profile::base::ceilometer (
   $oslomsg_notify_username = hiera('ceilometer::rabbit_userid', 'guest'),
   $oslomsg_use_ssl         = hiera('ceilometer::rabbit_use_ssl', '0'),
 ) {
+  if $::hostname == downcase($bootstrap_node) {
+    $sync_db = true
+  } else {
+    $sync_db = false
+  }
 
   if $step >= 3 {
     $oslomsg_use_ssl_real = sprintf('%s', bool2num(str2bool($oslomsg_use_ssl)))
@@ -105,4 +115,12 @@ class tripleo::profile::base::ceilometer (
     include ::ceilometer::config
   }
 
+  # Run ceilometer-upgrade in step 5 so gnocchi resource types
+  # are created safely.
+  if $step >= 5 and $sync_db {
+    exec {'ceilometer-db-upgrade':
+      command => 'ceilometer-upgrade --skip-metering-database',
+      path    => ['/usr/bin', '/usr/sbin'],
+    }
+  }
 }
index 6b58286..a2c1e29 100644 (file)
@@ -84,13 +84,4 @@ class tripleo::profile::base::ceilometer::collector (
     include ::ceilometer::collector
     include ::ceilometer::dispatcher::gnocchi
   }
-
-  # Re-run ceilometer-upgrade again in step 5 so gnocchi resource types
-  # are created safely.
-  if $step >= 5 and $sync_db {
-    exec {'ceilometer-db-upgrade':
-      command => 'ceilometer-upgrade --skip-metering-database',
-      path    => ['/usr/bin', '/usr/sbin'],
-    }
-  }
 }
diff --git a/releasenotes/notes/move-ceilo-upgrade-out-3318df875de5cd00.yaml b/releasenotes/notes/move-ceilo-upgrade-out-3318df875de5cd00.yaml
new file mode 100644 (file)
index 0000000..1899db9
--- /dev/null
@@ -0,0 +1,6 @@
+---
+fixes:
+  - Since collector is deprecated, move the ceilo upgrade in step5
+    out of collector profile and into cielometer base. This way
+    ceilo upgrade can run even when collector is disabled which is
+    the default in pike.
index 0f9aad7..23b198a 100644 (file)
@@ -128,32 +128,6 @@ describe 'tripleo::profile::base::ceilometer::collector' do
         is_expected.to contain_class('ceilometer::dispatcher::gnocchi')
       end
     end
-
-    context 'with step 5 on bootstrap node' do
-      let(:params) { {
-        :step             => 5,
-        :bootstrap_node   => 'node.example.com',
-        :mongodb_node_ips => ['127.0.0.1',],
-        :mongodb_replset  => 'replicaset'
-      } }
-
-      it 'should trigger complete configuration' do
-        is_expected.to contain_exec('ceilometer-db-upgrade')
-      end
-    end
-
-    context 'with step 5 not on bootstrap node' do
-      let(:params) { {
-        :step             => 5,
-        :bootstrap_node   => 'somethingelse.example.com',
-        :mongodb_node_ips => ['127.0.0.1',],
-        :mongodb_replset  => 'replicaset'
-      } }
-
-      it 'should trigger complete configuration' do
-        is_expected.to_not contain_exec('ceilometer-db-upgrade')
-      end
-    end
   end
 
 
index 9173203..8c1d507 100644 (file)
@@ -42,6 +42,31 @@ describe 'tripleo::profile::base::ceilometer' do
         is_expected.to contain_class('ceilometer::config')
       end
     end
+
+    context 'with step 5 with bootstrap node' do
+      let(:params) { {
+        :bootstrap_node => 'node.example.com',
+        :step             => 5,
+        :oslomsg_rpc_hosts => [ '127.0.0.1' ],
+        :oslomsg_rpc_username => 'ceilometer',
+        :oslomsg_rpc_password => 'foo',
+      } }
+
+      it 'should trigger complete configuration' do
+        is_expected.to contain_exec('ceilometer-db-upgrade')
+      end
+    end
+
+    context 'with step 5 without bootstrap node' do
+      let(:params) { {
+        :bootstrap_node => 'somethingelse.example.com',
+        :step             => 5,
+      } }
+
+      it 'should trigger complete configuration' do
+        is_expected.to_not contain_exec('ceilometer-db-upgrade')
+      end
+    end
   end