Ceilometer configuration fails on a node with custom compute role

Bug #1562152 reported by Sergii Shevchenko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
Michael Polenchuk

Bug Description

Detailed bug description:

Puppet manifest executed by ceilometer-compute deployment task pulls compute.pp manifest

/etc/puppet/modules/osnailyfacter/modular/ceilometer/compute.pp

it contains conditioned include with a hardcoded 'compute' role name:

 if (roles_include('compute')) {
   include ::nova::params
   service { 'nova-compute':
     ensure => 'stopped',
     name => $::nova::params::compute_service_name,
   }
 }

If there is a custom role created for compute services this condition does not match. Include does not work and ceilometer deployment fails because without mentioned include Puppet has no information about nova-compute service:

2016-03-24 21:54:44 +0000 Puppet (err): Could not find dependent Service[nova-compute] for File_line_after[nova-notification-driver-common] at /etc/puppet/modules/
ceilometer/manifests/agent/polling.pp:82
/usr/lib/ruby/vendor_ruby/puppet/util/errors.rb:106:in `fail'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:1478:in `block in validate_relationship'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:1475:in `each'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:1475:in `validate_relationship'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:2311:in `block in finish'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:2309:in `collect'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:2309:in `finish'
/usr/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:230:in `block in finalize'
/usr/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:230:in `each'
/usr/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:230:in `finalize'
/usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:227:in `block in main'
/usr/lib/ruby/vendor_ruby/puppet/context.rb:64:in `override'
/usr/lib/ruby/vendor_ruby/puppet.rb:244:in `override'
/usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:198:in `main'
/usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:159:in `run_command'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:381:in `block (2 levels) in run'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:507:in `plugin_hook'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:381:in `block in run'
/usr/lib/ruby/vendor_ruby/puppet/util.rb:496:in `exit_on_fail'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:381:in `run'
/usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:146:in `run'
/usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:92:in `execute'

It makes sense to create 'nova_roles' variable defaulting to 'compute' and use it instead of hardcoded value. In this case we will be able to override variable with the custom role and ceilometer deployment won't be broken.

Steps to reproduce:

* create custom role for compute services
* deploy environment including compute nodes with Ceilometer enabled

Expected result:

* Deployment finishes without errors
* Ceilometer and nova-compute services are up on compute node

Actual result:

see the trace above

Description of the environment:
 Operation system: Ubuntu
 Versions of components: Fuel 9
 Reference architecture: any

tags: added: area-library
Changed in fuel:
importance: Undecided → High
assignee: nobody → Fuel Library Team (fuel-library)
milestone: none → 9.0
status: New → Confirmed
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

Lowered as custom roles should not affect supported deployment cases, please correct me if I'm wrong

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → MOS Puppet Team (mos-puppet)
assignee: MOS Puppet Team (mos-puppet) → Fuel Library Team (fuel-library)
tags: added: tech-debt
Changed in fuel:
importance: High → Medium
tags: added: area-plugins
Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Michael Polenchuk (mpolenchuk)
milestone: 9.0 → 10.0
Revision history for this message
Michael Polenchuk (mpolenchuk) wrote :

The mentioned code block has been removed in scope of bug/1548576.
https://review.openstack.org/#/c/284686/
Please check it out.

Changed in fuel:
status: Confirmed → Incomplete
Revision history for this message
Maciej Relewicz (rlu) wrote :

Due to inactivity, bug was closed. Feel free to reopen the bug by providing the requested information and set the bug status back to ''New''.

Changed in fuel:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.