]
Brian Stansberry commented on AS7-3174:
---------------------------------------
BTW, the way this is implemented is fairly generic, but there are really two main uses I
expect will prove practical:
<ignored-resources type="profile"/>
<instance name="new-profile-with-exciting-AS8-features"/>
</ignored-resources>
<ignored-resources type="new-exciting-AS8-top-level-feature"
wildcard="true"/>
^^^ is the syntax in the actual patch.
Ability to configure a Host Controller to ignore domain model
changes
---------------------------------------------------------------------
Key: AS7-3174
URL:
https://issues.jboss.org/browse/AS7-3174
Project: Application Server 7
Issue Type: Feature Request
Components: Domain Management
Reporter: Brian Stansberry
Assignee: Brian Stansberry
Priority: Blocker
Fix For: 7.1.0.Final
To ensure that, for example, and EAP 6.0 slave HC can run inside domain managed by an EAP
6.1 master HC, we need a mechanism to allow the slave HC to safely "ignore"
commands from the master. This will allow, for example, new-in-EAP6.1 extensions and
subsystems to be added to the domain config. The servers managed by the 6.0 HC could not
be part of server-groups that use those new extensions/subystems, but other servers
managed by other HC's could.
My thought on this is to add a child element to <domain-controller>, paired with
<remote> (i.e. it would not be available if <local/> is used.) Something
like:
<excludes>
<profiles>
<profile name="newstuff"/>
<profile name="addedstuff"/>
</profiles>
</excludes>
The <profiles> wrapper may not be necessary.
Beside profile the following could be excluded:
extension
system-property
path
interface
socket-binding-group
server-group
deployment
rollout-plan
If the user tried to add a server that used one of the excluded server-groups, it would
fail with an appropriate error message. If the new server's server-group used one of
the excluded profile, socket-binding-group or deployment elements it would fail, it would
fail with an appropriate error message. If a non-excluded profile used an excluded
extension, that would fail due to the absence of the extension. (For bonus points, in a
later release would could detect why the extension was missing and give a better error
message.) If some non-excluded resource relied on an excluded system property, interface
or path, that would fail at runtime, as there's no reliable why to detect that
situation. However, path, interface and system-property are really on the above list just
to be thorough; I don't anticipate a reason why a later release would include elements
in those configs that an earlier release could not handle.
When we add back in the <include> element to profile and socket-binding-group
we'll need to account for this as well (i.e. a non-excluded child can't include an
excluded parent.)
Note also that the basic rule is operation handlers should ignore parameters they do not
understand, rather than failing. So the addition of some new attribute in 6.1 should not
cause the add handler for a resource on a 7.1 HC/server to fail. An entirely new resource
address would trigger failure though; hence the new for this JIRA.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: