[devstack] disable_service doesn't disable services enabled by plugin

Bug #1504304 reported by gordon chung
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ceilometer
Invalid
Low
Chris Dent
devstack
Fix Released
Undecided
Chris Dent

Bug Description

if disable_service ceilometer-aipmi is added to local.conf, it still gets started. it does disable ceilometer-alarm-notifier and ceilometer-alarm-evaluator fine.

Revision history for this message
Chris Dent (cdent) wrote :

I'll look into this. gordc I may need to see your local.conf

Changed in ceilometer:
assignee: nobody → Chris Dent (cdent)
Revision history for this message
Chris Dent (cdent) wrote :

confirmed

Revision history for this message
Chris Dent (cdent) wrote :

This is a generic problem with devstack plugins and the disable_service function. local.conf is calling disable_service before the plugin itself is calling enable_service.

This may be by design: if in fact we want ceilometer-aipmi to be optional, we perhaps shouldn't enable it by default but should enable it explicitly in testing scenarios.

I'm going to add devstack as an "also affects" to get additional info.

summary: - [devstack] disable_service doesn't disable jack
+ [devstack] disable_service doesn't disable services enabled by plugin
Revision history for this message
Chris Dent (cdent) wrote :

A stack.sh.log with the ceilometer plugin enabled, and

disable_service ceilometer-collector ceilometer-aipmi

is here: http://burningchrome.com/~cdent/devstack/stack.sh.log

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to devstack (master)

Fix proposed to branch: master
Review: https://review.openstack.org/233106

Changed in devstack:
assignee: nobody → Chris Dent (cdent)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to devstack (master)

Reviewed: https://review.openstack.org/233106
Committed: https://git.openstack.org/cgit/openstack-dev/devstack/commit/?id=c6d470142e0a0359a7322e9b76d61ba15caf95bc
Submitter: Jenkins
Branch: master

commit c6d470142e0a0359a7322e9b76d61ba15caf95bc
Author: Chris Dent <email address hidden>
Date: Fri Oct 9 14:57:05 2015 +0000

    Perform additional disable_service checks

    With the advent of plugins and their settings files it has become
    possible to disable_service in local.conf only to have the service
    re-enabled in a plugin settings file. This happens because of
    processing order.

    To get around this the disable_service function now aggregates
    service names into a DISABLED_SERVICES variable which is then checked
    during enable_service. If something tries to enable something that
    was previously disabled, a warning is produced in the log and the
    service is not enabled.

    Then after all configuration has been sourced a final check is to
    done by verify_disabled_services to confirm that something has not
    manually adjusted ENABLED_SERVICES to overcome a previously called
    disable_service. If something has, the stack dies with an error.

    Change-Id: I0f9403f44ed2fe693a46cd02486bd94043ce6b1a
    Closes-Bug: #1504304

Changed in devstack:
status: In Progress → Fix Released
Revision history for this message
gordon chung (chungg) wrote :

marking invalid, cdent fixed in devstack.

Changed in ceilometer:
status: Triaged → Invalid
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to devstack (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/308067

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to devstack (stable/liberty)

Reviewed: https://review.openstack.org/308067
Committed: https://git.openstack.org/cgit/openstack-dev/devstack/commit/?id=2af47f99fdb350e2053599849dafb488c77cab13
Submitter: Jenkins
Branch: stable/liberty

commit 2af47f99fdb350e2053599849dafb488c77cab13
Author: Chris Dent <email address hidden>
Date: Fri Oct 9 14:57:05 2015 +0000

    Perform additional disable_service checks

    With the advent of plugins and their settings files it has become
    possible to disable_service in local.conf only to have the service
    re-enabled in a plugin settings file. This happens because of
    processing order.

    To get around this the disable_service function now aggregates
    service names into a DISABLED_SERVICES variable which is then checked
    during enable_service. If something tries to enable something that
    was previously disabled, a warning is produced in the log and the
    service is not enabled.

    Then after all configuration has been sourced a final check is to
    done by verify_disabled_services to confirm that something has not
    manually adjusted ENABLED_SERVICES to overcome a previously called
    disable_service. If something has, the stack dies with an error.

    Change-Id: I0f9403f44ed2fe693a46cd02486bd94043ce6b1a
    Closes-Bug: #1504304
    (cherry picked from commit c6d470142e0a0359a7322e9b76d61ba15caf95bc)

tags: added: in-stable-liberty
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.