Bug 812126 - Do not accept configuration of *.PLUGINS outside of wallaby
Summary: Do not accept configuration of *.PLUGINS outside of wallaby
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: condor-wallaby-base-db
Version: 2.1.1
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: 2.2
: ---
Assignee: Robert Rati
QA Contact: Daniel Horák
URL:
Whiteboard:
Depends On:
Blocks: 828434
TreeView+ depends on / blocked
 
Reported: 2012-04-12 19:59 UTC by Robert Rati
Modified: 2012-09-24 11:17 UTC (History)
9 users (show)

Fixed In Version: condor-wallaby-base-db-1.21-1
Doc Type: Bug Fix
Doc Text:
C: Some packages drop configuration files in LOCAL_CONFIG_DIR to simply configuration if remote configuration is not used C: When the daemons run they could load plugins unexpectedly F: The default database no longer appends any necessary plugin configuration to PLUGIN attributes defined outside of remote configuration R: All plugins must be configured through remote configuration
Clone Of:
Environment:
Last Closed: 2012-09-19 17:43:30 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 750264 1 None None None 2021-01-20 06:05:38 UTC
Red Hat Bugzilla 750273 1 None None None 2021-01-20 06:05:38 UTC
Red Hat Product Errata RHSA-2012:1278 0 normal SHIPPED_LIVE Moderate: Red Hat Enterprise MRG Grid 2.2 security update 2012-09-19 21:40:26 UTC

Internal Links: 750264 750273

Description Robert Rati 2012-04-12 19:59:09 UTC
Description of problem:
The base database was changed to allow plugin definition outside of wallaby, but this causes problems with services like aviary.  If I have aviary installed and configure a Scheduler feature on the node, then the aviary plugin will be loaded despite the fact that I have not configured aviary scheduling in wallaby.  The base database should not allow external configuration of PLUGINS to avoid this type of confusion.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Robert Rati 2012-04-12 21:55:33 UTC
The *.PLUGINS variables no longer allow values outside of the base-db (ie they don't use $(*.PLUGINS) in their definition).  Doing so has all sorts of unintended consequences, so all the PLUGINS parameters are managed by wallaby just as DAEMON_LIST is.  This reverses the change from BZ750264.

Tracking on master

Comment 3 Luigi Toscano 2012-04-17 10:21:47 UTC
(In reply to comment #1)
> The *.PLUGINS variables no longer allow values outside of the base-db (ie they
> don't use $(*.PLUGINS) in their definition).  Doing so has all sorts of
> unintended consequences, so all the PLUGINS parameters are managed by wallaby
> just as DAEMON_LIST is.  This reverses the change from BZ750264.

(How) does it affect the problem that was solved by BZ750264? Does it require other changes? (documentation?)

Comment 4 Robert Rati 2012-04-17 12:27:47 UTC
Yes, it will require documentation changes in the MCIG.  The MCIG needs a section about configuring cumin using wallaby, which bz750273 should provide.

Comment 5 Robert Rati 2012-05-03 13:53:18 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
C: Some packages drop configuration files in LOCAL_CONFIG_DIR to simply configuration if remote configuration is not used
C: When the daemons run they could load plugins unexpectedly
F: The default database no longer appends any necessary plugin configuration to PLUGIN attributes defined outside of remote configuration
R: All plugins must be configured through remote configuration

Comment 7 Daniel Horák 2012-06-07 13:10:57 UTC
Reproduced on RHEL 5.8 i386:

# rpm -q condor-wallaby-base-db
  condor-wallaby-base-db-1.19-1.el5.noarch

# grep -i plugins /var/lib/condor-wallaby-base-db/condor-base-db.snapshot
      SCHEDD.PLUGINS: ">= $(SCHEDD.PLUGINS), $(LIB)/plugins/AviaryScheddPlugin-plugin.so"
      COLLECTOR.PLUGINS: ">= $(COLLECTOR.PLUGINS), $(LIB)/plugins/MgmtCollectorPlugin-plugin.so"
      STARTD.PLUGINS: ">= $(STARTD.PLUGINS), $(LIB)/plugins/MgmtStartdPlugin-plugin.so"
      MASTER.PLUGINS: ">= $(MASTER.PLUGINS), $(LIB)/plugins/MgmtMasterPlugin-plugin.so"
      NEGOTIATOR.PLUGINS: ">= $(NEGOTIATOR.PLUGINS), $(LIB)/plugins/MgmtNegotiatorPlugin-plugin.so"
      SCHEDD.PLUGINS: ">= $(SCHEDD.PLUGINS), $(LIB)/plugins/MgmtScheddPlugin-plugin.so"
    default_val: $(LIB)/plugins/MgmtCollectorPlugin-plugin.so
    description: A list of plugins that the Collector will load
    name: COLLECTOR.PLUGINS
    default_val: $(LIB)/plugins/MgmtMasterPlugin-plugin.so
    name: MASTER.PLUGINS
    default_val: $(LIB)/plugins/MgmtNegotiatorPlugin-plugin.so
    description: A list of plugins that the Negotiator will load
    name: NEGOTIATOR.PLUGINS
    default_val: $(LIB)/plugins/MgmtScheddPlugin-plugin.so
    description: The plugins to load for the Scheduler
    name: SCHEDD.PLUGINS
    default_val: $(LIB)/plugins/MgmtStartdPlugin-plugin.so
    description: The plugins to load for the ExecuteNode
    name: STARTD.PLUGINS
    - COLLECTOR.PLUGINS
    - MASTER.PLUGINS
    - NEGOTIATOR.PLUGINS
    - SCHEDD.PLUGINS


Verified on: RHEL 5.8, 6.3 - i386, x86_64:

# rpm -q condor-wallaby-base-db
  condor-wallaby-base-db-1.22-4.el5.noarch

# grep -i plugins /var/lib/condor-wallaby-base-db/condor-base-db.snapshot
      SCHEDD.PLUGINS: ">= $(LIB)/plugins/AviaryScheddPlugin-plugin.so"
      COLLECTOR.PLUGINS: ">= $(LIB)/plugins/MgmtCollectorPlugin-plugin.so"
      STARTD.PLUGINS: ">= $(LIB)/plugins/MgmtStartdPlugin-plugin.so"
      MASTER.PLUGINS: ">= $(LIB)/plugins/MgmtMasterPlugin-plugin.so"
      NEGOTIATOR.PLUGINS: ">= $(LIB)/plugins/MgmtNegotiatorPlugin-plugin.so"
      SCHEDD.PLUGINS: ">= $(LIB)/plugins/MgmtScheddPlugin-plugin.so"
    default_val: $(LIB)/plugins/MgmtCollectorPlugin-plugin.so
    description: A list of plugins that the Collector will load
    name: COLLECTOR.PLUGINS
    default_val: $(LIB)/plugins/MgmtMasterPlugin-plugin.so
    name: MASTER.PLUGINS
    default_val: $(LIB)/plugins/MgmtNegotiatorPlugin-plugin.so
    description: A list of plugins that the Negotiator will load
    name: NEGOTIATOR.PLUGINS
    default_val: $(LIB)/plugins/MgmtScheddPlugin-plugin.so
    description: The plugins to load for the Scheduler
    name: SCHEDD.PLUGINS
    default_val: $(LIB)/plugins/MgmtStartdPlugin-plugin.so
    description: The plugins to load for the ExecuteNode
    name: STARTD.PLUGINS
    - COLLECTOR.PLUGINS
    - MASTER.PLUGINS
    - NEGOTIATOR.PLUGINS
    - SCHEDD.PLUGINS

In the default database any *.PLUGINS variable does not include '$(*.PLUGINS)', so they don't load previous configuration of those variables from local configuration file.

>>> VERIFIED

Comment 9 errata-xmlrpc 2012-09-19 17:43:30 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2012-1278.html


Note You need to log in before you can comment on or make changes to this bug.