Child pages
  • fbc-config-upgrader-tests

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Pipeline stage to test that AM's FBC (file-based config) can be upgraded (and then used with AM successfully) after every commit.  This stage will fail if required openam-config-upgrader rules are missing from fbc/master.groovy.

Background/Purpose

Deployments of (file-based) AM require an upgrade mechanism.  The openam-config-upgrader (released within the AM.zip) can upgrade the FBC configuration files.  To ensure that the upgrader rules are kept up to date the fbc-config-upgrader-tests stage has been added to the postCommit pipeline.  The premise is that a known baseline FBC can be upgraded, using the tool and rules, and then used to successfully start up the latest version of AM.  The rules should be idempotent; so running multiple times will produce the same end result.

...

Test failure is an indication to the code committer that a new file based configuration upgrade rule is required on master.  (There is a dependency on completion of 

Jira
serverForgeRock JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId45b4e541-fe03-30e2-b999-cf4e643b93ec
keyAME-18785
)

Slides for the DoD can be found here https://docs.google.com/presentation/d/19MMpHbkOKKWNqcYMzJdmeI8C3dMgPu3FYZ-8iUDMCCY/edit#slide=id.p

Structure

The test has its own deployer UpgradedFBCAmDeployer which can be called by the Tests' CLI.  The AM-7.0.0 baseline configuration is in the OpenAM git repository along with scripts to generate a new configuration if/when required.  At the time of writing there is one upgrade rule to set the configuration version.

Process

  • Start with a known set of configuration at a fixed version.  (It is possible a new baseline will be required from time to time e.g. new major release)
  • Run the upgrader with the "master" set of rules
  • Start AM with the upgraded configuration
  • Verify that AM has started correctly

...

Because this test implementation relies on a static known FBC the setup can be quite brittle.  The baseline FBC does make use of some placeholders however there are a some significant hard coded values.  Please refer to baseline configuration generation scripts and resources for its definitive status.  The significant values are:

...

Info
Significant hard coded values ^

Unfinished business

  • TODO: Update the links in this page, from the fbc_deployer branch, to master once the code is merged with master.TODO: Move to mandatory test section
  • Jira
    serverForgeRock JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId45b4e541-fe03-30e2-b999-cf4e643b93ec
    keyAME-19111
  • Jira
    serverForgeRock JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId45b4e541-fe03-30e2-b999-cf4e643b93ec
    keyAME-19254
  • Jira
    serverForgeRock JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId45b4e541-fe03-30e2-b999-cf4e643b93ec
    keyAME-19294
  • Jira
    serverForgeRock JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId45b4e541-fe03-30e2-b999-cf4e643b93ec
    keyAME-19389