Design notes for Configuration changes in domain mode

Version 7

    Goal

     

    Allow administrators to view the last N (configurable) changes in the domain/server configurations with proper elision of sensitive content.

     

    Requirements

     

    There should be management operations to list the configuration changes. We should track configuration changes on the slave HostControllers for host modifications and on managed servers.

    Enabling the tracking can be done through adding a configuration-changes service.

     

    Managed servers shouldn't track configuration changes nor server-groups since those operations are domain level only.

    Actually there are management operations at domain and host controller level, below you can see the add operation to enable the configuration changes and limit its history size, the following operation list the changes
    Standalone

         /core-service=management/service=configuration-changes:add(max-history=100)

         /core-service=management/service=configuration-changes:list-changes()

    Domain

         /host=<host-name>/core-service=management/service=configuration-changes:add(max-history=100)  

         /host=<host-name>/core-service=management/service=configuration-changes:list-changes()


    The HostController result should be the same as in executing the operation directly on the HostController. Thus we should get the transformed not ignored operations for the HostController.

    Enabling the configuration-changes service on a HostController will enable it for all its managed servers. Since managed servers configuration can't be directly edited this is the only way to enable/disable it.

    The configuration change lists for the managed server should be visible on and won't be shown when listing from the HostController.
         /host=<host-name>/server=<server-name>/core-service=management/service=configuration-changes:list-changes()

    Changing the max-history on a HostController will propagate to all the managed servers.


    Legacy

    Since the domain mode is completely broken, we won't keep the service at the Domain Controller level.

         /core-service=management/service=configuration-changes

    This address should not be used in domain mode. It should log a warning message as its result don't really make sense all the more so on a Domain Controller (returning the same result as the local host changes).

    Thus the operation shouldn't propagate to the slaves HostController (legacy or not) so no tranformers are required.


    Issue Metadata

     

    EAP ISSUE: https://issues.jboss.org/browse/EAP7-575

     

    RELATED ISSUES: [WFCORE-1642] Fix domain mode for configuration changes - JBoss Issue Tracker