We need to test the Collection against at least two supported versions of ansible-core. With ansible-core 2.13 approaching EOL, we should test against 2.14 and 2.15.
Unit and sanity tests are currently run against 2.13 through 2.15, but we should extend this to our end-to-end tests as well.
Implemented Changes
Add Jenkins stages to run end-to-end tests against Ansible 6 (stable-2.13), 7 (stable-2.14) and 8 (stable-2.15)
Consolidate dev and test environments.
Previously there were three separate docker-compose environments for development, testing the conjur_variable plugin, and testing the conjur_host_identity role. All three environments were almost exact replicas of each other, so I decided to consolidate them into the dev env.
Interesting notes:
We might be doing some unconventional things with the project-native docker-compose environments and the one provided by conjurdemos/conjur-intro to enable running tests against Conjurs Open Source and Enterprise. When tests are run against Enterprise, these scripts are still using separate compose environments, but connecting them on the same network.
To prevent context-switching between docker-compose environments, the dev env writes the in-use Docker network a number of CIDs to tmp files and uses those to run common docker exec commands.
The conjur_variable and conjur_host_identity test suites are distinct, and can be run against the same docker-compose environment without interfering with each other. Now we can parallelize all tests without doubling setup/teardown time and required resources.
Connected Issue/Story
N/A
Definition of Done
At least 1 todo must be completed in the sections below for the PR to be
merged.
Changelog
[ ] The CHANGELOG has been updated, or
[x] This PR does not include user-facing changes and doesn't require a
CHANGELOG update
Test coverage
[x] This PR includes new unit and integration tests to go with the code
changes, or
[ ] The changes in this PR do not require tests
Documentation
[ ] Docs (e.g. READMEs) were updated in this PR
[ ] A follow-up issue to update official docs has been filed here: [insert issue ID]
[x] This PR does not require updating any documentation
Behavior
[ ] This PR changes product behavior and has been reviewed by a PO, or
[ ] These changes are part of a larger initiative that will be reviewed later, or
[x] No behavior was changed with this PR
Security
[ ] Security architect has reviewed the changes in this PR,
[ ] These changes are part of a larger initiative with a separate security review, or
[x] There are no security aspects to these changes
Desired Outcome
We need to test the Collection against at least two supported versions of
ansible-core
. Withansible-core
2.13 approaching EOL, we should test against 2.14 and 2.15.Unit and sanity tests are currently run against 2.13 through 2.15, but we should extend this to our end-to-end tests as well.
Implemented Changes
Add Jenkins stages to run end-to-end tests against Ansible 6 (stable-2.13), 7 (stable-2.14) and 8 (stable-2.15)
Consolidate dev and test environments.
Previously there were three separate
docker-compose
environments for development, testing theconjur_variable
plugin, and testing theconjur_host_identity
role. All three environments were almost exact replicas of each other, so I decided to consolidate them into the dev env.Interesting notes:
docker-compose
environments and the one provided byconjurdemos/conjur-intro
to enable running tests against Conjurs Open Source and Enterprise. When tests are run against Enterprise, these scripts are still using separatecompose
environments, but connecting them on the same network.To prevent context-switching between
docker-compose
environments, the dev env writes the in-use Docker network a number of CIDs to tmp files and uses those to run commondocker exec
commands.conjur_variable
andconjur_host_identity
test suites are distinct, and can be run against the samedocker-compose
environment without interfering with each other. Now we can parallelize all tests without doubling setup/teardown time and required resources.Connected Issue/Story
N/A
Definition of Done
At least 1 todo must be completed in the sections below for the PR to be merged.
Changelog
Test coverage
Documentation
README
s) were updated in this PRBehavior
Security