Bug 812126 - Do not accept configuration of *.PLUGINS outside of wallaby
Do not accept configuration of *.PLUGINS outside of wallaby
Status: CLOSED ERRATA
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: condor-wallaby-base-db (Show other bugs)
2.1.1
Unspecified Unspecified
medium Severity high
: 2.2
: ---
Assigned To: Robert Rati
Daniel Horák
:
Depends On:
Blocks: 828434
  Show dependency treegraph
 
Reported: 2012-04-12 15:59 EDT by Robert Rati
Modified: 2012-09-24 07:17 EDT (History)
9 users (show)

See Also:
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
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-09-19 13:43:30 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:1278 normal SHIPPED_LIVE Moderate: Red Hat Enterprise MRG Grid 2.2 security update 2012-09-19 17:40:26 EDT

  None (edit)
Description Robert Rati 2012-04-12 15:59:09 EDT
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 17:55:33 EDT
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 06:21:47 EDT
(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 08:27:47 EDT
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 09:53:18 EDT
    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 09:10:57 EDT
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 13:43:30 EDT
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.