Child pages
  • fbc-config-upgrader-tests
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

WIP

tl:dr

Pipeline stage to test AM's file based config upgrades successfully after every commit.

Background/Purpose

Deployments of AM(FBC) require an upgrade mechanism.  The openam-config-upgrader (released within the AM.zip) can upgrade these configuration files.  To ensure 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.  See  AME-18809 - Getting issue details... STATUS

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

Structure

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.  There is one upgrade rule to set the configuration version.

Process

  • Start with a known set of configuration at a fixed version
  • Run the upgrader with the "master" set of rules
  • Start AM with the upgraded configuration
  • Verify that AM has started correctly


N.B. the setup requires an external datastore i.e. not embedded datastore

  • This is because setup an embedded DS requires use of the configurator, but FBC will already be available from source control so the configurator needs to be avoided.

Running the tests

temper

.temper/config
[core]
defaultenv = fbc

[env.fbc]
am_full_url = http://am.localtest.me:8080/openam
amadmin_pwd = password
am_root_dn =  dc=openam,dc=forgerock,dc=org
Run from temper
$ temper functional-tests --deploy OpenAM-7.0.0-SNAPSHOT.war --hostname am.localtest.me --verbose --groups and\(and\(or\(idrepo,smoke\),not\(ssoadm\)\), not\(mock-server\)\) --file-based-upgrade

docker-compose

docker-compose
$ pwd
/Users/aczv/GIT/openam/jenkins-scripts/docker/centos7

$ COMMAND="functional-tests --groups and\(and\(or\(idrepo,smoke\),not\(ssoadm\)\), not\(mock-server\)\)" docker-compose -f docker-compose.yml -f docker-compose.overrides.fbc-upgrade.yml up

PR Build

CI Build Configuration
CI Build Configuration
optional-stages=fbc-config-upgrader-tests


Inflexible aspects of the implementation

Hard Codes

  • DS
    • configuration
    • structure
  • am.localtest.me


Unfinished business

  • Move to mandatory test section
  • AME-19111 - Getting issue details... STATUS
  • AME-19254 - Getting issue details... STATUS
  • Update the links here from the fbc_deployer branch to master once the code is merged with master
  • AME-19294 - Getting issue details... STATUS
  • No labels