Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-3174

Ability to configure a Host Controller to ignore domain model changes

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Blocker
    • 7.1.0.Final
    • None
    • Domain Management
    • None

    Description

      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.

      Attachments

        Activity

          People

            bstansbe@redhat.com Brian Stansberry
            bstansbe@redhat.com Brian Stansberry
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: