aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--manifests/profile/base/ceilometer/collector.pp8
-rw-r--r--manifests/profile/base/gnocchi/api.pp9
-rw-r--r--manifests/profile/base/nova/compute.pp2
-rw-r--r--releasenotes/notes/re-run-ceilo-upgrade-0d9ba69fe4bfe780.yaml5
-rw-r--r--spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb26
-rw-r--r--spec/classes/tripleo_profile_base_nova_compute_spec.rb3
6 files changed, 53 insertions, 0 deletions
diff --git a/manifests/profile/base/ceilometer/collector.pp b/manifests/profile/base/ceilometer/collector.pp
index 20eab54..6b58286 100644
--- a/manifests/profile/base/ceilometer/collector.pp
+++ b/manifests/profile/base/ceilometer/collector.pp
@@ -85,4 +85,12 @@ class tripleo::profile::base::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/manifests/profile/base/gnocchi/api.pp b/manifests/profile/base/gnocchi/api.pp
index 2fde1fc..e79f800 100644
--- a/manifests/profile/base/gnocchi/api.pp
+++ b/manifests/profile/base/gnocchi/api.pp
@@ -113,4 +113,13 @@ class tripleo::profile::base::gnocchi::api (
default: { fail('Unrecognized gnocchi_backend parameter.') }
}
}
+
+ # Re-run gnochci upgrade with storage as swift/ceph should be up at this
+ # stage.
+ if $step >= 5 and $sync_db {
+ exec {'run gnocchi upgrade with storage':
+ command => 'gnocchi-upgrade --config-file=/etc/gnocchi/gnocchi.conf',
+ path => ['/usr/bin', '/usr/sbin'],
+ }
+ }
}
diff --git a/manifests/profile/base/nova/compute.pp b/manifests/profile/base/nova/compute.pp
index 0eb2ed7..84b8bd5 100644
--- a/manifests/profile/base/nova/compute.pp
+++ b/manifests/profile/base/nova/compute.pp
@@ -48,10 +48,12 @@ class tripleo::profile::base::nova::compute (
# When utilising images for deployment, we need to reset the iSCSI initiator name to make it unique
# https://bugzilla.redhat.com/show_bug.cgi?id=1244328
+ ensure_resource('package', 'iscsi-initiator-utils', { ensure => 'present' })
exec { 'reset-iscsi-initiator-name':
command => '/bin/echo InitiatorName=$(/usr/sbin/iscsi-iname) > /etc/iscsi/initiatorname.iscsi',
onlyif => '/usr/bin/test ! -f /etc/iscsi/.initiator_reset',
before => File['/etc/iscsi/.initiator_reset'],
+ require => Package['iscsi-initiator-utils'],
}
file { '/etc/iscsi/.initiator_reset':
ensure => present,
diff --git a/releasenotes/notes/re-run-ceilo-upgrade-0d9ba69fe4bfe780.yaml b/releasenotes/notes/re-run-ceilo-upgrade-0d9ba69fe4bfe780.yaml
new file mode 100644
index 0000000..c354431
--- /dev/null
+++ b/releasenotes/notes/re-run-ceilo-upgrade-0d9ba69fe4bfe780.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+ - Re-run gnocchi and ceilometer upgrade in step5. This is required
+ for gnocchi resource types to be created in ceilometer and gnocchi
+ to function properly.
diff --git a/spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb b/spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb
index 2e4b50a..28f2b18 100644
--- a/spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb
+++ b/spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb
@@ -128,6 +128,32 @@ 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
diff --git a/spec/classes/tripleo_profile_base_nova_compute_spec.rb b/spec/classes/tripleo_profile_base_nova_compute_spec.rb
index a6fdbd6..9e5b3b5 100644
--- a/spec/classes/tripleo_profile_base_nova_compute_spec.rb
+++ b/spec/classes/tripleo_profile_base_nova_compute_spec.rb
@@ -27,6 +27,7 @@ describe 'tripleo::profile::base::nova::compute' do
is_expected.to_not contain_class('tripleo::profile::base::nova')
is_expected.to_not contain_class('nova::compute')
is_expected.to_not contain_class('nova::network::neutron')
+ is_expected.to_not contain_package('iscsi-initiator-utils')
is_expected.to_not contain_exec('reset-iscsi-initiator-name')
is_expected.to_not contain_file('/etc/iscsi/.initiator_reset')
}
@@ -51,6 +52,7 @@ eos
is_expected.to contain_class('tripleo::profile::base::nova')
is_expected.to contain_class('nova::compute')
is_expected.to contain_class('nova::network::neutron')
+ is_expected.to contain_package('iscsi-initiator-utils')
is_expected.to contain_exec('reset-iscsi-initiator-name')
is_expected.to contain_file('/etc/iscsi/.initiator_reset')
is_expected.to_not contain_package('nfs-utils')
@@ -66,6 +68,7 @@ eos
is_expected.to contain_class('tripleo::profile::base::nova')
is_expected.to contain_class('nova::compute')
is_expected.to contain_class('nova::network::neutron')
+ is_expected.to contain_package('iscsi-initiator-utils')
is_expected.to contain_exec('reset-iscsi-initiator-name')
is_expected.to contain_file('/etc/iscsi/.initiator_reset')
is_expected.to contain_package('nfs-utils')