Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Move ceilometer upgrade re-run out of collector
Browse files Browse the repository at this point in the history
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
  • Loading branch information
pkilambi committed Apr 21, 2017
1 parent 2abcfb4 commit 2e89f8e
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 35 deletions.
18 changes: 18 additions & 0 deletions manifests/profile/base/ceilometer.pp
Expand Up @@ -18,6 +18,10 @@
#
# === 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.
Expand Down Expand Up @@ -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)),
Expand All @@ -81,6 +86,11 @@
$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)))
Expand All @@ -105,4 +115,12 @@
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'],
}
}
}
9 changes: 0 additions & 9 deletions manifests/profile/base/ceilometer/collector.pp
Expand Up @@ -84,13 +84,4 @@
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'],
}
}
}
@@ -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.
26 changes: 0 additions & 26 deletions spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb
Expand Up @@ -128,32 +128,6 @@
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


Expand Down
25 changes: 25 additions & 0 deletions spec/classes/tripleo_profile_base_ceilometer_spec.rb
Expand Up @@ -42,6 +42,31 @@
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


Expand Down

0 comments on commit 2e89f8e

Please sign in to comment.