-
Requirement
-
Resolution: Done
-
Blocker
-
None
(This is a tracker for functionality that actually exists in EAP 7.0.0, added to help facilitate any QE or documentation work on it.)
Background:
It is beneficial if slave Host Controllers are not required to process (i.e. can ignore) irrelevant-to-them resources in the domain wide configuration. Resources are irrelevant if they are not associated, directly or indirectly, with the servers the slave HC manages. This kind of ignoring is beneficial for a couple of reasons:
- If the irrelevant resource is a server-group, deployment content for deployments mapped to the server group doesn't need to be copied to the slave, reducing disk footprint and reducing network cost and time involved in having the slave join the domain.
- If the slave is running an earlier EAP version than the master (aka a "legacy slave"), ignoring irrelevant resources makes it possible to add resources to the domain that use later version configuration concepts that the legacy slaves don't understand.
Requirements:
- An EAP 7.0.0 or later Host Controller that is configured to act as a slave can be configured such that it will not have to process resources of the domain wide configuration that are not relevant to the servers configured for that host. Such resources are described here as being "ignored".
- If a resource "ignored" it will not be part of the domain-wide configuration provided to the slave by the master when the slave registers, and the slave will not be required to process subsequent changes to the resource.
- Types of resources that can be ignored using this feature are server-groups, socket-binding-groups and profiles.
- Turning on such ignoring is done via a single boolean 'ignore-unused-resources' attribute in the domain-controller/remote element in host.xml, with an equivalent field in the complex 'domain-controller' attribute in the host=* management resource.
- Setting 'ignore-unused-resources' to 'true' has the following effects:
- Any server-group that is not referenced by one of the host's server-config resources is ignored.
- Any profile that is not referenced by a non-ignored server-group, either directly or indirectly via the profie resource's 'include' attribute, is ignored
- Any socket-binding-group that is not directly referenced by one of the host's server-config resources, or referenced by a non-ignored server-group, is ignored
- The default value of 'ignore-unused-resources' is undefined
- If the value of the attribute is undefined, the behavior of the slave depends on whether the --backup command line flag was set when the slave was started. If it was, the behavior is as if the attribute had a value of 'false', else the behavior is as if it was 'true'. Basically the assumption is host configured to backup want the entire config, while those not so configured do not.
- Using the --backup command line flag in conjunction with ignore-unused-resources=true is a valid combination. It allows a slave to start using the backup copy of the domain config if the master DC is not available. The slave does not need the full domain.xml to do this.
- The standard value of 'ignore-unused-resources' in the configuration documents shipped with EAP 7 will be 'undefined'.
- A change to the 'ignore-unused-resources' will require a reload of the HC. Until that reload is done the change will have no effect on whether or not resources are ignored.
- The existing EAP 6 feature where a slave's host.xml configuration can explicitly declare resources to ignore is still supported. This new feature is expected to be more useful though, since instead of requiring an update to each host in a domain when some new potentially ignorable resource is added, now it can be ignored by default.
- If both ignore-unused-resources=true is used and the existing per host ignore configuration available since EAP 6 are used, both have effect
- Extensions are not ignored using this feature. Ignoring an extension requires per host configuration using of the previous EAP 6 feature.
- If a change is made to the slave host's configuration or to the domain wide configuration that reduces the set of ignored resources, then as part of handling that change the slave will contact the master to pull down the missing pieces of configuration and will integrate those pieces in its local copy of the management model. Examples of such changes include adding a new server-config that references a previously ignored server-group or socket-binding-group, changing the server-group or socket-binding-group assigned to a server-config, changing the profile or socket-binding-group assigned to a non-ignored server-group, or adding a profile or socket-binding-group to the set of those included directly or indirectly by a non-ignored profile or socket-binding-group.
- If, during the processing of of such a change the master DC is not available, thus preventing bringing done the missing pieces of configuration, the operation introducing the change should fail. If the processing is during host controller boot, and the HC is not started in --admin-only mode, the boot should fail. An --admin-only mode boot is more forgiving in order to give an admin a chance to correct a configuration failure.
- It is not a requirement that configuration changes that result in resources that previously were not ignored now being eligible for being ignored actually result in those resources being ignored. It is acceptable to require an HC reload for this to happen.
- is blocked by
-
JBEAP-4267 Missing detailed documentation for mixed domain
- Closed