On 02/16/2015 06:09 PM, Amit Saha wrote:
> From: "Nick Coghlan" <ncoghlan(a)redhat.com>
> of, rather than all pools. I think that's going to be easier to explain
> in the documentation, rather than decoupling the two decisions and
> having to explain that pool membership and pool policy inheritance are
> actually unrelated. I'm a fan of this approach, as I'm struggling to
> think of a good use case (or, indeed, *any* use case) for making the
> two decisions completely independent.
For the use case that a pool owner creates a pool, adds systems to it and wants to use
the same pool policy across systems - your suggestion is perfect. What if I want to
make use of a random pool's access policy because I just happen to find my
requirements are
identical but I do not/cannot add my system to the pool?
Then I'd tell you that's a bad idea because you have no idea how that
pool's policy is going to evolve in the future. It may meet your needs
today, but what about tomorrow? Next week? Next year?
Allowing a system owner to use a pool policy without their system being
part of the relevant pool now strikes me as a genuinely *bad* idea,
since it creates a dependency without a mutual agreement between the two
parties, so the pool owner may change their ACLs without even
considering the possible implications for systems outside the pool that
may be using that ACL.
By contrast, if systems can only be assigned policies from pools they're
members of, then you have a bidirectional agreement:
* someone with management rights on the pool adds the system
* someone with management rights on the system chooses that pool's policy
Something this does suggest to me is that it should be possible to have
"open pools", where everyone with an account on the Beaker instance is
able to add their systems. In access policy rules, I believe "Everybody"
is indicated by having both the group and the user be NULL - perhaps the
same semantics could be used for the pool owner? (i.e. a pool without
any specifically designated owner is an "open pool" where everyone with
system policy management access can add and remove their own systems
from that pool)
I think it's also a valid use case for being able to clone an existing
policy from an arbitrary pool when creating a new pool.
Regards,
Nick.
--
Nick Coghlan
Red Hat Hosted & Shared Services
Software Engineering & Development, Brisbane
HSS Provisioning Architect