Bug 834413

Summary: RFE: cman without root-group privileges
Product: Red Hat Enterprise Linux 6 Reporter: mick <mgoulish>
Component: clusterAssignee: Fabio Massimo Di Nitto <fdinitto>
Status: CLOSED WONTFIX QA Contact: Cluster QE <mspqa-list>
Severity: urgent Docs Contact:
Priority: high    
Version: 6.4CC: ccaulfie, cluster-maint, fdinitto, jross, lhh, pmoravec, rdassen, rpeterso, teigland, tross
Target Milestone: rcKeywords: FutureFeature
Target Release: 6.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-07-02 07:12:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 733221    

Description mick 2012-06-21 19:19:12 UTC
Request for Enhancement


summary
---------
MRG Messaging needs the ability for our clustered brokers to
get quorum changes in CPG order, but without the necessity for
our qpidd executable to run with root, or root-group privileges.



explanation
---------------
Many customers and potential customers of the MRG Messaging
system request our clustering feature, which we would like to
implement atop CMAN.  We have already successfully implemented
experimental code using CMAN.

However, some of our customers are requiring a combination of
features that we believe we cannot currently satisfy with CMAN.

We need to provide:

  1. An at-least-once delivery guarantee.
  2. No need for our qpidd executable to be in the root group.

We can satisfy the at-least-once guarantee if our clustered
messaging brokers receive quorum-change messages in CPG order.
CMAN does that for us, but only at the cost of our processes
running with root-group privileges.

We can avoid the root-group privileges by using cmannotifyd, but
only at the cost of losing the CPG ordering guarantee.  If we use
cmannotifyd, and if one of our brokers fails, there will be a window
of time during which our cluster may lose messages.

Our ideal solution would be to use the CMAN interface as we are
now in our experimental code, but without the need to run with
root or root-group privileges.

Comment 2 Lon Hohberger 2012-06-28 20:37:00 UTC
rgmanager in STABLE32 (upstream) does something like this in msg_socket.c using SO_PEERCRED from getsockopt.  Then, each request is processed based on the permissions required.

rgmanager in this case simply differentiates read-only (less permission required - root gid) with read-write (more permission required - root uid).

However, the way it is set up, rgmanager mimics CMAN's permissions currently, I believe.

Comment 4 Fabio Massimo Di Nitto 2012-07-02 07:12:18 UTC
As originally discussed, this cannot and will not happen.