-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] upstream CI: Add support for multihost testing. #1010
Draft
rjeffman
wants to merge
8
commits into
freeipa:master
Choose a base branch
from
rjeffman:multihost_upstream
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rjeffman
force-pushed
the
multihost_upstream
branch
30 times, most recently
from
December 29, 2022 19:30
bcdbf46
to
5c276ce
Compare
rjeffman
force-pushed
the
multihost_upstream
branch
13 times, most recently
from
January 3, 2023 14:09
0c0a8c0
to
bfd0104
Compare
rjeffman
force-pushed
the
multihost_upstream
branch
2 times, most recently
from
May 19, 2023 00:23
3f081b9
to
1062a86
Compare
To be able to use a multihost testing environment, it is required that a domain with a server along with clients or replcas and clients be deployed. This environment is much more complex to obtain using the current CI infrastructure that uses molecule and containers, due to the need of more isolation between the testing nodes. By using Github actions, and Github's hosted macOS runner along with Vagrant to spawn multiple virtual hosts, it is possible to create an environment with a few virtual machines, that provided the required isolation. This setup allows for both deployment role testing, and multihost testing. The runner has to be a macOS runner due to Github restrictions on nested virtualization. The runner has support for Python 3, and the latest versio of ansible-core is installed through 'pip. This host has a 3-core vCPU, 14 GB of RAM and 14Gb of storage. The guests configuration are: * server.ipa.test: 2500 MB of RAM * rep-01.ipa.test: 2500 MB of RAM * cli-01.ipa.test: 768 MB of RAM All guests are deployed with the oficial Fedora 38 cloud-base image. Workflow steps are executed from '<repo>/tests/multihost' unless this is overriden with 'working-directory'. As Github sets the proper working directory only when 'run' is executed, the default directory is the repository root (e.g. setting 'working-directory: .' will set the working directory to the repository root). Although it is possible to change the working-directory, a different configuration has not been tested. The playbooks were created so that environment variables can be used to change the domain configuration. This can be used to create multiple parallel jobs in a test matrix. The default configuration installs a server with embedded DNS, a replica with no extra service, and a client.
rjeffman
force-pushed
the
multihost_upstream
branch
from
May 19, 2023 00:48
1062a86
to
418571d
Compare
rjeffman
force-pushed
the
multihost_upstream
branch
from
May 19, 2023 15:44
5c12f85
to
84cae3e
Compare
rjeffman
force-pushed
the
multihost_upstream
branch
from
May 19, 2023 17:03
84cae3e
to
44e81eb
Compare
rjeffman
force-pushed
the
multihost_upstream
branch
2 times, most recently
from
May 19, 2023 20:32
3d42ffa
to
7663db2
Compare
rjeffman
force-pushed
the
multihost_upstream
branch
from
May 19, 2023 20:48
7663db2
to
ff8207d
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A playground to run deployment roles and multihost testing.