[jboss-as7-dev] Recent profile changes
Brian Stansberry
brian.stansberry at redhat.com
Tue Jul 5 11:55:56 EDT 2011
On 7/4/11 10:11 AM, David M. Lloyd wrote:
> Inline.
>
> On 07/04/2011 02:50 AM, Heiko Braun wrote:
>>
>> Makes sense from your point of view, but for tools or users it's difficult to maintain
>> the proper source address and dealing with circular references.
>>
>> Let's say profile B includes profile A. Profile A declares subsystem Foo.
>>
>> Can we support both?
>>
>> /profile=B/subsystem=Foo:write-attribute
>>
>> and
>>
>> /profile=A/subsystem=Foo:write-attribute
>
> I would say "no". This not only makes sense from our point of view but
> yours as well. If they change an attribute in an inheriting profile, it
> will change it for the other profile as well, and for all profiles which
> include that profile, which can cause some major surprise.
>
Agreed. After thinking about this thread over the weekend, I'd now say
"absolutely no", at least not without an intermediate step or steps that
explicitly indicate that /profile=B/subsystem=Foo is now a complete
replacement of /profile=A/subsystem=Foo, e.g.
/profile=B:copy(subsystem=Foo)
>> The point is that for most management tasks, it doesn't matter that the effective profile
>> actually consists of an inclusion hierarchy. I believe people care about the subsystem "Web" configuration
>> for a particular server, regardless of it's origin. So forcing them to deal with the inclusion hierarchy
>> doesn't make sense to me. I don't see the added value.
>>
Let's talk a bit about the intended use case for this <include/>
feature. There's an obvious use case, and then the IMHO more important
one, and we should document the distinction and tailor our solution
around properly supporting the more important one.
The obvious use case is to save some xml by inheriting configuration.
The more important one is an admin saying that servers running profiles
B, C, and D should all be getting their subsystem Foo configuration from
profile A because the configuration in profile A is tested and correct
and we know it's the one we want and we don't intend to alter it between
different server groups. Absolutely the junior admin on the night shift
shouldn't be able to break that consistency by mindlessly doing
/profile=B/subsystem=Foo:write-attribute
Best practice should be to not create an inheritance hierarchy between
profiles unless you fully expect that relationship to remain unchanged
for the long term, as it will not be a trivial thing to break the
relationship. At best it will require something like the "copy"
operation I mention above; at worst it requires an entire new profile
and a restart of all affected servers.
IMO we should never have an <include/> in any of the config files we
ship ourselves, as our reason for doing it would solely be
>> Apart from that there are other, related questions that we need address:
>>
>> - Are subsystem re-declarations allowed within an inclusion hierarchy?
>
> IIRC No.
>
The original intent was to not allow this. The rationale for allowing it
would only be to allow a profile to break one subsystem out of the
inheritance relationship without requiring a completely new profile and
a full restart of the affected servers.
I was going to say this could be added in a later release, and that's
somewhat true. But, e.g. a host controller running 7.1 in a domain run
by a domain controller running 7.2 would not be able to handle this.
>> - What's the policy for this: replace or merge?
>>
Absolutely it would be a replace if allowed at all. If merges were
supported they would have to be implemented by the subsystem devs and
the chances of that being done correctly and maintained correctly over
time by all subsystems are less than zero. ;-) A replace could be
handled by the core domain infrastructure.
>> I think once these questions are answered we'll easily find a solution to the questions above.
>>
>> Ike
>>
>>
>> On Jul 2, 2011, at 11:56 AM, Kabir Khan wrote:
>>
>>> I prefer it the way we have it set up now, but with the ability to see but not modify inherited stuff easily.
>>
>>
>> _______________________________________________
>> jboss-as7-dev mailing list
>> jboss-as7-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>
>
--
Brian Stansberry
Principal Software Engineer
JBoss by Red Hat
More information about the jboss-as7-dev
mailing list