Repository navigation
v1.6.0 (2023-09-19)
Chore
- chore: tmp
Signed-off-by: Tibor Dudlák <tibor.dudlak@gmail.com> (8b33ac0)
- chore: tmp
Signed-off-by: Tibor Dudlák <tibor.dudlak@gmail.com> (c8ec1df)
- chore: tmp
Signed-off-by: Tibor Dudlák <tibor.dudlak@gmail.com> (91831cc)
- chore: tmp
Signed-off-by: Tibor Dudlák <tibor.dudlak@gmail.com> (8f54dc7)
- chore(release): Add PyPI action & extract copr step
Due to latest changes to python semantic release
PyPI release is no longer supported and the separate
action (https://github.com/pypa/gh-action-pypi-publish)
is recomended to use while releasing to PyPI.
For the trusted publishing we had to set up the PyPI
account owning mrack to trust neoave/mrack repository
which I did and set up the actions jobs to build
the python package and trigger a truster build.
As an addition i have extracted copr to separate job.
Some resources:
https://docs.pypi.org/trusted-publishers/
https://python-semantic-release.readthedocs.io/en/latest/index.html
https://github.com/pypa/gh-action-pypi-publish
Signed-off-by: Tibor Dudlák <tibor.dudlak@gmail.com> (7967e24)
- chore: Bump python-semantic-release to v7.34.4
Version 7.33.1 of python-semantic-release action is failing in the container build.
Updating action to this version will solve this issue.
Signed-off-by: David Pascual <davherna@redhat.com> (9bbd987)
- chore: Release version 1.15.1
Releasing mrack version 1.15.1 (0135d46)
- chore(Packit): Use yaml magic to run same internal tests for PRs and commits to main
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (608c763)
- chore(Packit): Add internalt tests per pull request
Add internal tests for pre-defined usecases from
internal repository with the specifications.
These tests are switched by using MRACK_TEST_CASE
environment variable with a test that needs to be
specified in internal repository.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (e03793c)
- chore(Packit): add missing build job(s) to Packit config
Packit will now additionally require for each test job requiring build
a build job definition to be present in the Packit configuration file. See details
in packit/packit-service#1775. (44023eb)
- chore: Release version 1.15.0
Releasing mrack version 1.15.0 (5903fb9)
- chore: fix docs dependencies in tox run
Running make test or tox failed on building docs as the tox
config did not use the docsi/requirements.txt and thus the required
dependency which was recently added was missing.
This path is changing the tox run to use the docs/requirements.txt
and thus is fixing the issue.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> (e9d716e)
- chore: add Markdown support to docs and add design section
To be able to include the ssh_options.md design and to allow writing
content in markdown which is more known by people than RST.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> (6f1943b)
- chore: Release version 1.14.1
Releasing mrack version 1.14.1 (af38b70)
- chore: Release version 1.14.0
Releasing mrack version 1.14.0 (c209923)
- chore: Release version 1.13.3
Releasing mrack version 1.13.3 (acf943e)
- chore: Release version 1.13.2
Releasing mrack version 1.13.2 (13e2635)
- chore: change back mrack dist release to 1
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (61e515f)
- chore: Release version 1.13.1
Releasing mrack version 1.13.1 (469298d)
- chore: Release version 1.13.0
Releasing mrack version 1.13.0 (38313f8)
- chore: set packit to sync changelog as well
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (32a754b)
- chore: sync fedora spec to upstream to maintain changelog history for fedora
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (b0512b4)
- chore: Generate proper changelog from commit history when releasing
When releasing the package mrack.spec was not enriched
by the history of changes compared to previous release
this is enhancing the workflow to have proper changelog
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (be7b50a)
- chore: Bump python-semantic-release to latest
Python-semantic-release had problems fetching
the commit's sha from work directory. This
issue should be fixed in latest release of action.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (98f4035)
- chore: use custom release_suffix for PR testing via packit
Thus making the Release higher than the one in repos and thus tmt
in tf/packit integration will prefer the packages from packit.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> (72b9b9c)
- chore: disable pylint pre-commit hook
As it is failing and it needs more time to fix.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> (f3f734a)
- chore(Packit): Add synchronization of tmt plans and tests
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (4aa9b0a)
- chore(Packit): Configure users on whose actions packit is allowed to be run
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (02c3e01)
- chore(Packit): Add missing ci.fmf to synced files
Missing ci.fmf sync causes fedora message being not recognized
in dowsntream and thus expected tests to be marked as failed
even when tests might be run and passing.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (cf14ed9)
- chore: Release version 1.12.3
Releasing mrack version 1.12.3 (6bd9e17)
- chore(Packit): Enable copr build for commit to main only.
switching copr_build job to commit rule as pull request job
may not need this with tests enabled in Testing Farm per PR.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (52bb87e)
- chore(Packit): Enable TF tests job to run on pull request.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (635d008)
- chore(Packit): Add fedora gating.yaml to synced files.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (9c83b5d)
- chore(TestingFarm): Add gating for fedora workflow
Adding basic gating smoke tests for fedora workflows
which are run in Testing Farm using tmt plan.
This workflow should allow us to have some
testing automation downstream (Fedora)
and catch package regressions in future.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (a07785c)
- chore(Packit): enable epel-8 and epel-9 updates and tests
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (5a726db)
- chore: Release version 1.12.2
Releasing mrack version 1.12.2 (497e95b)
- chore: Use python 3.10 in GH actions
Using latest python will help us to identify
latest changes and regressions early in upstream PRs.
Bumped repo versions in .pre-commit-config.yaml
to point to latest stable releases per available check.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (3397948)
- chore(pytest): add missing python_path when using pytest >=7.0.0
Reference: https://docs.pytest.org/en/7.0.x/reference/reference.html#confval-pythonpath
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (9303259)
- chore(Packit): Add upstream_tag_template to .packit.yaml
This configuration options sets up the packit tag template
for packit to know what tag format to expect when checking
the release to properly set the variables for the archives.
Resolves: neoave#220
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (a7bf366)
- chore: Release version 1.12.1
Releasing mrack version 1.12.1 (cd95a01)
- chore: Add packit service configuration
This commit is enabling packit service for the mrack
project. see: https://packit.dev/docs/configuration/
To start using Packit we did:
- set up integration on GitHub side and selected free plan
- got approved by mapping FAS identity (tdudlak) to the
service via: packit/notifications#482
by linking neoave organization with FAS account - configured the wanted features via this commit
This commit sets up packit jobs to:
- check build per pull request
- trigger copr build after a release
- create fedora PRs to mrack project with updates
- create koji build per commit merged to fedora's mrack
- create bodhi updates per each successful koji build
This allows us to forget about backporting pathces
to Fedora repo and automate release workflow per
each supported Fedora release currently not EOL.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (378ec61)
- chore: bump commit message checker version
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (80ade20)
- chore: Set persist credentials to false at checkout
This will not force the actions user credentials
to be stored into git config which will later
result in using github_token of release actor.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (e281c32)
- chore: Use personal GH token to release mrack
When branch protection is enabled only real
user (not gh-actions as it is bot) can push
to the main branch when there is Pull Request
required and approvals for particular PR.
With exception added to the users which can bypass
the protection rules we should be able to release
with personal GH token generated for the user.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (bd3a08a)
- chore: Release version 1.12.0
Releasing mrack version 1.12.0 (81db5bf)
- chore: include optional dependency of gssapi
gssapi pkg now required for new added mrack
feature to add owner/lifetime info into the
VM
Signed-off-by: ksiddiqu <ksiddiqu@redhat.com> (fd4e0db)
- chore: disable automatic runtime deps discovery for rpm build
As it is adding all dependencies to all rpms and ignoring the individual
nuaces between packages. I.e. without this, we cannot install
python3-mracklib without the rest.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> (e11c9a7)
- chore: rpm and clean-rpms targets in Makefile
To make buiding of rpms easier - for adhoc testing/development and sort
of work as a documentation how to do it as it is easily forgotten when
not doing often.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> (30f1d5d)
- chore: Release version 1.11.0
Releasing mrack version 1.11.0 (84e055e)
- chore: bump python version in tox.ini
In our automation we rely on python 3.9
setting tox.ini to same version
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (22993be)
- chore: Release version 1.10.0
Releasing mrack version 1.10.0 (7ff67e2)
- chore: bump versions of GitHub actions
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (1ca449d)
- chore: Release version 1.9.1
Releasing mrack version 1.9.1 (ab4c1c6)
- chore: Use branch main instead of master
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (221ea15)
- chore: Release version 1.9.0
Releasing mrack version 1.9.0 (c42e4e2)
- chore: Release version 1.8.1
Releasing mrack version 1.8.1 (40cd839)
- chore: Release version 1.8.0
Releasing mrack version 1.8.0 (aaa611d)
- chore: Release version 1.7.0
Releasing mrack version 1.7.0 (2e76b4f)
- chore: Add ksiddiqu as release actor
Added kaleem as release actor
Signed-off-by: ksiddiqu <ksiddiqu@redhat.com> (4852af9)
- chore: Release version 1.6.0
Releasing mrack version 1.6.0 (9c0b89b)
- chore: Use python 3.9 and new python-semantic-release
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (3d97bcc)
Documentation
- docs(Beaker): Add hostRequires documentation section to guides
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (de027fa)
- docs: SSH options design
Adding a design for configuring ssh options for mrack's ssh connection
check and Ansible inventory output with main purpose to have the Ansible
inventory settings consumable by Ansible calls used in pytest-ansible.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> (88458e1)
- docs: Update installation steps based on mrack package division
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> (48b16f4)
Feature
- feat: Add new dependecies to mrack.spec file
Add aiofiles and os_client_config dependencies from latest changes
to mrack.spec definition
Signed-off-by: David Pascual <davherna@redhat.com> (d6b7298)
- feat(OpenStack): Add clouds.yaml as an authentication method
Add clouds.yaml as an alternative to env vars.
Also, user+password and application credentials formats are both allowed.
Signed-off-by: David Pascual <davherna@redhat.com> (7bbda34)
- feat(OpenStack): Import publick key on provision
This will save manual steps and error if the public key was not previously imported to
openstack profile.
Signed-off-by: David Pascual <davherna@redhat.com> (a5b32e3)
- feat(outputs): preset username and password for windows host in pytest-mh
This implements the same behavior is pytest-multihost output. (86393ab)
- feat(outputs): merge nested dictionary instead of overriding it
pytest-mh configuration may contain nested dictionary, specifying
username or password in pytest_mh section will result in overriding
the host option, i.e.:
pytest_mh:
ssh:
username: tuser
password: tuserpassword
will generate wrong configuration where ssh/host is not set.
This patch makes sure that the ssh key is merged instead of overwritten. (4c26b5f)
- feat(utils): add merge_dict
To combined two nested dictionaries. (4dde2e5)
- feat: configurable ssh options
This implements configurable ssh options according to design:
https://mrack.readthedocs.io/en/latest/designs/ssh_options.html
With the idea that those options will be used for SSH connections
check as well as added to generated Ansible inventory so that other
tools can use it.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> (a4e5075)
- feat(outputs): allow to overwrite ansible layout
New field in metadata file is added:
config:
ansible:
layout:
...
``` ([`d3da251`](https://github.com/Tiboris/mrack/commit/d3da25156f91313ea5020bace15f20b7b0b5ce3f))
* feat(outputs): allow to choose which outputs should be generated
Add "outputs" key to the metadata file. E.g.:
outputs:
- ansible-inventory
- pytest-multihost
- pytest-mh
domains:
...
phases:
...
Defaults to ansible-inventory and pytest-multihost. ([`d3ac20d`](https://github.com/Tiboris/mrack/commit/d3ac20d4d3615893f4781c0142f47eb576db30e2))
* feat(outputs): add support for pytest-mh
Add support for generating pytest-mh configuration file, which is
similar to pytest-multihost but can make things more clear with
custom generator.
Add additional options:
- pytest-mh to mrack.conf, default path to the config file
- pytest_mh to host metadata, add additional values to the host config ([`66f2877`](https://github.com/Tiboris/mrack/commit/66f2877f0b3b33ced341fd6faf307d42414a4742))
* feat(utils): relax condition in get_fqdn
It should return the hostname even if it is part of different domain. ([`db633b7`](https://github.com/Tiboris/mrack/commit/db633b75a59880e901248b80e38d076468c7c5da))
* feat(utils): add get_os_type ([`b1f5318`](https://github.com/Tiboris/mrack/commit/b1f5318f7beb0e48b702dc0eafe675c20baf3366))
* feat(OpenStack): Provide a way to disable network spreading
The network spreading feature has aimed to utilize networks usage
however for some particular products it might be not optimal
to have resources on different networks. This patch is adding
options to mrack.conf which can disable the feature and also
set the acceptable threshold of network utilization for OpenStack.
network-spread = no # disable the feature
network-spread = force # force the feature
network-spread = allow # allow the feature (default)
max-network-utilization = 75 (default=50)
When the request size exceeds max network utilization mrack
falls back to default behavior of spreading the requests to
different networks (Corner case of having too few IPs).
mrack fails if the feature is disabled and request is too big.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`777862f`](https://github.com/Tiboris/mrack/commit/777862fc917bc1dc436f008f4693c991e101dd0d))
* feat(AWS): Add utilization check method
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`46141dc`](https://github.com/Tiboris/mrack/commit/46141dc4aa2cf2378aee2f03dc31e6273f5c9ec1))
* feat(OpenStack): Add utilization check method
minor fix: typo _opentack -> _openstack
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`bb80060`](https://github.com/Tiboris/mrack/commit/bb80060149e5f7228a0f56f2bfacb2ec708d5a34))
* feat: Do not use same sleep for every mrack run
Adding logic to randomize the timeout to basically
set the waiting timeout to vary from 45-75 minutes randomly
and the poll time to 45-75 seconds accordingly
so if there are multiple parallel runs of mrack they wait
different amount time before poll and increase chance to get resources
quicker than other concurrent runs of mrack requests
Add cooldown after error host was found to wait before
another retry and resource check cycle for random time
between one poll sleep and 2* poll sleep (45-75 s is one poll)
Add utilization method template to decide whether to
destroy all machines or to keep them while re-provisioning
to free some resources when there is provided highly utilized.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`55f9c2c`](https://github.com/Tiboris/mrack/commit/55f9c2c63c1882a0e5b1f99aa9dc94646c9b6068))
* feat(AnsibleInventory): Allow additional global level values
Add support for global level ansible_inventory records
which can be eventually overwritten by domain and host defined values.
Minor fix of logig in pytest multihost code - adding deepcopy.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`a7a896a`](https://github.com/Tiboris/mrack/commit/a7a896aa8879a8630dc1cfcd6572ea1402c3c7ba))
* feat(AnsibleInventory): Allow additional domain level ansible inventory values
Add support for domain level ansible_inventory records which
can be eventually overwritten by host defined values.
Added unit tests to test this feature.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`91c562c`](https://github.com/Tiboris/mrack/commit/91c562c1af45eb747ee46de1c08ca352b3370bcb))
* feat(aws): Add owner/lifetime info in VM's metadata
Owner and lifetime info will be added into VM's metadata
for AWS provider. This info will give info who
owns the VM and what is the lifetime of the VM which will
be used for notifying owners and cleaning up the resources
based on lifetime of the VMs.
If owner info not fetched, user notified with custom error
message for follow up action to take up.
Signed-off-by: ksiddiqu <ksiddiqu@redhat.com> ([`ed9e977`](https://github.com/Tiboris/mrack/commit/ed9e977f4f56c5cc5cda6f0b4ad0f09cdaab89b9))
* feat(openstack): Add owner/lifetime info in VM's metadata
Owner and lifetime info will be added into VM's metadata
for Openstack provider. This info will give info who
owns the VM and what is the lifetime of the VM which will
be used for notifying owners and cleaning up the resources
based on lifetime of the VMs.
If owner info not fetched, user notified with custom error
message for follow up action to take up.
Signed-off-by: ksiddiqu <ksiddiqu@redhat.com> ([`e33038e`](https://github.com/Tiboris/mrack/commit/e33038e4de2fcca8d58564508b1d6786fbe8d01b))
* feat(AWS): Add multiple subnet support & IPs availability check
- Now mrack expects either subnets_id (prioritized) or subnet_id field in the provisioning config file or metadata (provder config) in AWS key field.
A list of subnets can be specified where host can be provisioned. It is expected that the subnets are in the same VPC.
- mrack checks that the amount IPs available with all the subnets specified are enough to provision all the host concurrently.
The amount of IPs available for provisioning are the sum of the available IPs in the provided subnets.
Otherwise provisioning will retried after a wait and/or cancelled.
- Add rule to pylintrc file to allow more local variables in methods.
Signed-off-by: David Pascual <davherna@redhat.com> ([`742ed9c`](https://github.com/Tiboris/mrack/commit/742ed9cf2e6ffe32575584ab405aa034f8049128))
* feat(OpenStack): Pick from all networks based on load
With this patch OpenStack is able to pick Network from
all of networks based on network load and requirement
got from the metadata. Each of required host gets
its own position, aka weigh in interval <0, 1>
based on the order (index) in metadata. Before that
all of the networks are 'normalized' in a way that
the random selection from subset of networks
(or all of network if number of hosts > number of networks)
is divided to effective range (multiple intervals <0, 1>)
for the network based on the relative network weight
compared to full capacity of considered networks.
An example:
- considering 5 host request
- picked 5 networks where availability is > 5%
Host weights:
- host 1 - 0/5 = 0
- host 2 - 1/5 = 0.2
- host 3 - 2/5 = 0.4
- host 4 - 3/5 = 0.6
- host 5 - 4/5 = 0.8
Network availability:
- net 1 - 20 addresses
- net 2 - 100 addresses
- net 3 - 130 addresses
- net 4 - 145 addresses
- net 5 - 105 addresses
Full capacity of these 5 nets: 500
Normalized network range:
net 4 - <0, 0.29>
net 3 - (0,29, 0.55>
net 5 - (0.55, 0.76>
net 2 - (0.76, 0.96>
net 1 - (0.96, 1>
Which will divide networks for hosts:
host 1 => net 4 (0 falls into net 4 interval)
host 2 => net 4 (0.2 falls into net 4 interval)
host 3 => net 3 (0.4 falls into net 3 interval)
host 4 => net 5 (0.6 falls into net 5 interval)
host 5 => net 2 (0.8 falls into net 2 interval)
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`317c2ac`](https://github.com/Tiboris/mrack/commit/317c2ac8c11580b078f306192309a0637522aed5))
* feat: Split mrack spec to multiple packages
Splitting mrack to:
- mrack
- mrack-cli
- python3-mracklib
- python3-mrack-aws
- python3-mrack-beaker
- python3-mrack-openstack
- python3-mrack-podman
- python3-mrack-virt
where python3-mracklib contains only static provider and all the
scripts and provisioning base logic.
we can install mrack-{aws,beaker,openstack,podman,virt}
providers in addition to static provider extending
the functionality and create modular solution where only
needed providers can be installed.
Package mrack contains all supported providers.
Package mrack-cli contains mrack command.
We are using Suggests directives for OpenStack dependencies
so in fedora where these are not available build will pass.
Resolving: https://github.com/neoave/mrack/issues/113
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`1709af0`](https://github.com/Tiboris/mrack/commit/1709af06150c567f91e44584375bddf79b993807))
* feat: Add support to dynamically load providers
Prepare dynamic loading of mrack providers
for future division of mrack package.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`607c99c`](https://github.com/Tiboris/mrack/commit/607c99c7cd6aef5fdf10dd4f634fe3c99543ff96))
* feat(Beaker): Specify ks_append per host or config
Now we can specify ks_append per host and defaults
in the provisioning_config.yaml file where if nothing
is set defaults to empty ks_append.
Moves the allow ssh_key to transformer and leverage
ks_append to inject keys into Beaker instance.
Also changed: pubkey is not required anymore.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`59ba489`](https://github.com/Tiboris/mrack/commit/59ba489e70e7c83fc56d006ca0073d010dd4564f))
* feat(Beaker): support configurable jobxml specs
Moving the translation of requirement to specs
to the beaker transformer and support more options.
Now the beaker specific configurations
can be defined in provisioning config,
host's beaker section. If nothing is specified
sane defaults are configured.
Allow users to define more pubkeys to be injected
supported values are now string containing path
or a list of paths. This value can be set in
the provisioning config.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`e9b6fa7`](https://github.com/Tiboris/mrack/commit/e9b6fa7a1c7bd550953d5905f5fe262787559070))
* feat(Beaker): Support custom configurable ks_meta values
get the ks_meta from host configuration, global
provisioning config or default hardcoded in code.
The priority is following:
- host
- provisioning-config.yaml
- default (if nothing set)
https://beaker-project.org/docs/user-guide/customizing-installation.html#kickstart-metadata-ks-meta
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`e167443`](https://github.com/Tiboris/mrack/commit/e16744346169ca375cea005c9e5989ff30bfc43b))
* feat(pytest-multihost): arbitrary attributes for hosts
Make it possible to add arbitrary attributes per-host via defining them
in pytest_multihost dictionary in host section of job metadata file.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> ([`d0c28f6`](https://github.com/Tiboris/mrack/commit/d0c28f62dad1cb8cf99704973209102cc0deab2f))
* feat(ansible-inventory): host arbitrary attributes
Adding a possibility to add arbitrary attributes to host part of
generated Ansible inventory via defining them per-host in new dictonary
`ansible_inventory`.
This is useful for creating more complex jobs which are using ansible
playbooks or roles requiring to get vars from hosts.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> ([`65057e7`](https://github.com/Tiboris/mrack/commit/65057e734db89531d10ee02ec8b763f25578b840))
* feat: copyign meta_ attributes from host to ansible inventory
Make it possible to define arbitratry attributes prefix with meta_
in host section of job metadata file.
All of these attributes are then copied to host part in ansible
inventory output.
It can serve for creation of playbooks which consumes these attributes.
Addtional, but probably rare use case, is to override the meta_ attrs
which are derived from other others by mrack.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> ([`3da517c`](https://github.com/Tiboris/mrack/commit/3da517c18701999c43638a67835f09938272badc))
## Fix
* fix(Beaker): Exception has been thrown as raise missed argument
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`db74ae0`](https://github.com/Tiboris/mrack/commit/db74ae0d392b00d950c36aede08b13480165811a))
* fix: Do not reprovision all hosts when server error is detected
when 500 code is detected in the error state of the errored VM
mrack would aggressively remove all hosts which have been
already provisioned properly. Changing logic that
if only a certain percentage of errored hosts is reached.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`fd111f5`](https://github.com/Tiboris/mrack/commit/fd111f56daa271ccc7824ec0805d007ca4c78f8d))
* fix: Use lower cooldown time to not be too slow in re-provisioning
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`6e499f6`](https://github.com/Tiboris/mrack/commit/6e499f6cb50a3523db199cd37b877558b9896342))
* fix: Handle 403 AuthError (out of quota) in openstack provisioning
This modification will cath the Exception, to free all hosts and wait for
quota to be available again
Signed-off-by: David Pascual <davherna@redhat.com> ([`e29031b`](https://github.com/Tiboris/mrack/commit/e29031b6dca037a3a3563c3646ed1f5fcf88c9ac))
* fix: mrack not re-provisioning hosts which were destroyed
Since I have coded a regression when trying to re-provision
mrack is not setting variables for another loop correctly
error_hosts is updated correctly but when keeping success_hosts
not changed to empty list it creates a illusion of hosts
which were deleted because of re-provisioning strategy
that they are still up and running.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`a9c4e62`](https://github.com/Tiboris/mrack/commit/a9c4e629fa448461bc037c3c9f24c8950bf2b1bb))
* fix: Replace coroutines with tasks to avoid RuntimeError
Fixing code block in _opentack_gather_responses method to avoid
RuntimeError when a coroutine is reused in the loop.
Including a unit test for this method as part of the commit
Signed-off-by: David Pascual <davherna@redhat.com> ([`17b45e4`](https://github.com/Tiboris/mrack/commit/17b45e4c5a6046bae315f885dd4934aba0ed8c8f))
* fix(OpenStack): Add missing await for self._load_limits() method call
Co-authored-by: David Pascual <davherna@redhat.com>
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`d95e65f`](https://github.com/Tiboris/mrack/commit/d95e65f70f5c76bb08f25093ed5cafc1af32df6d))
* fix(outputs): remove config section from pytest-multihost ([`13ad3df`](https://github.com/Tiboris/mrack/commit/13ad3df70f3c6adc5d5d348bb91227235b1e2ff7))
* fix(outputs): add host to correct group in layout
If the group was empty, it returns empty dictionary and the condication
fails resulting in creating a new group instead of adding the host to
an existing one. ([`0735e36`](https://github.com/Tiboris/mrack/commit/0735e36c16aec74c7920f755bf7367d8ba59c790))
* fix(OpenStack): await loading limits to not break provisioning
Resolves: https://github.com/neoave/mrack/issues/248
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`0f62237`](https://github.com/Tiboris/mrack/commit/0f622374105abb52adf160fb5dcb9240da7ae013))
* fix: Use get method when host error object is a dictionary
This makes sure to not throw an exception when host.error
is not a dictionary and we can not use .get() method
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`06f18d1`](https://github.com/Tiboris/mrack/commit/06f18d19353d021c9bcf0c1a509cdc0867aae2a7))
* fix(Beaker): rerurn common dictionary when validation fails
when Beaker distro/image is not recognized by beakerhub
mrack failed with exception as newer code expects
dictionary error object.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`fd33d68`](https://github.com/Tiboris/mrack/commit/fd33d68bd7991be61038d2df340720c7ef09b14f))
* fix(OpenStack): Add exception parameter when validation fails
Adding second parameter to ValidationError exception
gets rid of mrack exiting with exception.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`b6c5ef4`](https://github.com/Tiboris/mrack/commit/b6c5ef4edbcac9ed0902eebbb705a78401345532))
* fix(OpenStack): load limits properly by one method
when creatring utilization method for openstack there
was a problem that limits were read incorrectly.
moving code to private method reused in utilization
and can_provision methods to get rid of copy-paste errors.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`fa2c779`](https://github.com/Tiboris/mrack/commit/fa2c779840e773958016dd7df37857140c4afaff))
* fix(MrackConfig): Fix MrackConfig class properties
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`1421b37`](https://github.com/Tiboris/mrack/commit/1421b371d1eef6509f9cdc4ef81f57c8a8a37751))
* fix(OpenStack): fix condition for network to get in interval
In corner case with 2 ip adresses left and requesting
2 ip adresses from mrack there was an issue that mrack
has picked same network for both request which eventually
break the request. Fixing the condition that when counting
weights the mrack will divide two ips like it should.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`ff7331d`](https://github.com/Tiboris/mrack/commit/ff7331d54069c4b1a264dc12f1bf1f5934762abb))
* fix: fqdn in name is ignored and mrack guesses the name instead #237 ([`943316d`](https://github.com/Tiboris/mrack/commit/943316d736516b0b5025b10315de6599e491fdd6))
* fix: Add cache decorator for older python versions.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`c4c1a67`](https://github.com/Tiboris/mrack/commit/c4c1a6701eee9d17df20c66527c062f407d260ae))
* fix(mrack.spec): Missing dependency in c8s for beaker-client
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`aac3ed4`](https://github.com/Tiboris/mrack/commit/aac3ed4fe89f42be9fb0df85fad5d0decc635607))
* fix(AWS): refactor sources to be py3.6 compatible
When considering mrack to be part of
the tmt which is used even in epel8 and epel9
we might be limited to not use latest python
features which one of them is := opearator.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`cd0335a`](https://github.com/Tiboris/mrack/commit/cd0335aa8c3115260c83c4f0e84cd5be10a84c0d))
* fix: Owner requirement boolean parsing from string
When parsing boolean values from string using bool()
builtin funtion string which is not empty returns True
Writing a util function to convert such strings
to proper boolean values. NOTE: distutil implementation:
from distutils.util import strtobool
will be deprecated and removed in future python releases
thus implementing a funtion ourselves might be
future proof solution at this time.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`592f364`](https://github.com/Tiboris/mrack/commit/592f364e86d838e630259c0ce91928d15c10d00d))
* fix: make db file and provisioning file optional
When initializing the global context these files
should be passed to the init as optional param
when path is specified in mrack cli tool.
Otherwise mrack should only load the data from
the mrack.conf file records and rely on paths
set there for db and provisioning-config.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`9449082`](https://github.com/Tiboris/mrack/commit/94490824e8e6d3713328e08b99acb2a8a83623f8))
* fix: Use MrackError in action Up to catch all possible mrack errors at once
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`990224b`](https://github.com/Tiboris/mrack/commit/990224bd326ee2a70021a558a46596005121159b))
* fix: validate ownership and lifetime only for AWS and OpenStack
Limitin only for certain providers is needed as the owner doesn't matter for
static (vm already present somewhere, could be owned by completely different
person), podman, libvirst (vm running on current machine, no need for owners).
But it makes sense for any cloud like OpenStack, AWS, Beaker.
Enabled only for AWS, OpenStack as Beaker doesn't work with ownership
yet.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> ([`111d481`](https://github.com/Tiboris/mrack/commit/111d481e9bac692854a1b2764a760608b7fc2046))
* fix: integration test_actions test fixes
Integration test test_actions.py failing due to
introduction of new option(require-owner) in mrack.conf
as global_context was not set which is now being
set using a fixture in test_actions.py
Signed-off-by: ksiddiqu <ksiddiqu@redhat.com> ([`07682c1`](https://github.com/Tiboris/mrack/commit/07682c148a7fe7d40b8e5761e9845cdd85972013))
* fix: Do not use deprecated asyncio.coroutine wrapper
Python 3.11.0 completely dropped support for the
asyncio.coroutine. As it was already deprecated
we should use the proper way of decorating the
click functions in the mrack run.py.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`c66fef7`](https://github.com/Tiboris/mrack/commit/c66fef729754d3f28f8014e901524184bba5e18d))
* fix(mrack.spec): fix the location for mrack.egg-info
fixing removal of bundled egg-info which is located
in the src directory. removing option '-f' from rm.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`9a998bc`](https://github.com/Tiboris/mrack/commit/9a998bce750c09aa1bd2d2f0007cc67b729ab8f3))
* fix(mrack.spec): cli package files and deps
Fixing the cli package dependency by adding
the Requires: python3-click and removing
unnecessary file run.py from lib package
and move it to cli package where it belongs
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`f76c31a`](https://github.com/Tiboris/mrack/commit/f76c31a7fdd297ae121f2001980742783cf62687))
* fix(Podman): Fix action ssh import failing if podman provider not found
When podman provider is not installed as plugin
we should not import it in ssh.
Ignoring the import error will fix tracebacks.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`87c397e`](https://github.com/Tiboris/mrack/commit/87c397eb0fd1c84384bda7dfe28e446d35158764))
* fix(mrack.spec): remove unecessary statement
the python_provide should be used
for python*- packages only thus removing.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`dbb43f3`](https://github.com/Tiboris/mrack/commit/dbb43f30a0a978ce8570f1d3d23efb28cfd440a5))
* fix: Update paths in specfile and python_provide
Fixing the last minor pieces for the upstream BZ:
https://bugzilla.redhat.com/show_bug.cgi?id=2134387
Summary for mrack-cli, Installation of *.pyc files
and adding the python_provide to python3-* subpackaged
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`5262bca`](https://github.com/Tiboris/mrack/commit/5262bca0782e343927aa0c5ee2be63c10f9c9e0d))
* fix(utils): add encoding to open functions
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`e28e044`](https://github.com/Tiboris/mrack/commit/e28e044e9398c380d64ef0980eab4239881f98d1))
* fix(Podman): add encoding to open function
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`84cd4dc`](https://github.com/Tiboris/mrack/commit/84cd4dcf53d5888c6537fdb5f3bd4ec99c83583c))
* fix(Beaker): Add encoding to open when opening ssh key
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`71ef2f1`](https://github.com/Tiboris/mrack/commit/71ef2f102f8110f84c12914a1bbd2308a5f592b2))
* fix: add CHANGELOG.md to MANIFEST.in
This change is needed to include CHANGELOG.md
file in the tarball of package release in the
github's pages and sources available upstream.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`64fa546`](https://github.com/Tiboris/mrack/commit/64fa546e9fc24e30ea655c2ee211f5b348272929))
* fix: Update spec to match fedora community standard
Update the mrack specfile to match fedora packaging
standards and to move this project to official fedora
packages via: https://bugzilla.redhat.com/show_bug.cgi?id=2134387
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`91726d7`](https://github.com/Tiboris/mrack/commit/91726d786414620b5556165e7a90adc672bfc3d2))
* fix(Beaker): traceback when hub is not accessible at session creation
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`18f6b78`](https://github.com/Tiboris/mrack/commit/18f6b7898130cf8c5c7e4c392b1d4ad72b15f1ba))
* fix(Beaker): connection to hub timing out
mrack was failing with an exception when
Beaker hub was not replying to requests for
some time. With this we accept the fact that
hub may not respond and we use previous
result and continue the wait for resource.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`9c258d8`](https://github.com/Tiboris/mrack/commit/9c258d8bf4eea248e8220d0b697ea0126e24b23b))
* fix: add missing split support for transformer
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`d22d360`](https://github.com/Tiboris/mrack/commit/d22d36071dc922e088ede8df63576988e2c8bd52))
* fix: Use encoding when opening files in setup.py
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`3ef4b92`](https://github.com/Tiboris/mrack/commit/3ef4b92ac2751cbc2144e86bb12ae56da8833bae))
* fix(Beaker): Do not throw an Exception when not authenticated
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`d1b794b`](https://github.com/Tiboris/mrack/commit/d1b794b9622b27a6c776e9699bb21bb7032db173))
* fix: issue when searching for value when dict_name == attr
When searching for value using find_value_in_config_hierarchy the method
might return the entire dictionary with name according to dict_name when
the search attribute name is the same as dict_name and the dict doesn't have
a default value nor value according to provided key.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> ([`98255c7`](https://github.com/Tiboris/mrack/commit/98255c78ec52053c508170238951daff90f4f5c6))
* fix: Beaker log polling to logfile instead of console
Beaker was too chatty in console output so we moved
the messages to the debug level so it is logged in
the mrack.log only. Added debug message to the
function responsible for polling beaker for job status.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`be560d9`](https://github.com/Tiboris/mrack/commit/be560d9b59fae0f8d142e737db99d7077ee8cf92))
* fix(pytest-multihost): crash when group is not defined
It should possible to define host groups either via "group" or "groups"
variable. But pytest-multihost output was crashing when it was done via
"groups".
This fix makes it not to crash if both are missing. It also makes it
possible to use first group from "groups" if groups are defined -
similar as in Ansible inventory output.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> ([`d337a7b`](https://github.com/Tiboris/mrack/commit/d337a7bbec98f9385fa7f86fb944e032b8b60878))
* fix(pytest-multihost): crash when mhcfg is missing in prov. config
`mhcfg` is not required key in provisinong config, but pytest-multihost
plugin crashes if it is missing. This fix makes it not crash.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> ([`d6e3483`](https://github.com/Tiboris/mrack/commit/d6e3483f509fb6fe5b5c0759f0d51e0db9bd28b5))
## Refactor
* refactor: more verbose output when (re)provisioning
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`8062a20`](https://github.com/Tiboris/mrack/commit/8062a20d0e0f801f036f60afc0ccc62d23d3bf47))
* refactor(provider): take max_utilization out to method to ease mocking
Signed-off-by: David Pascual <davherna@redhat.com> ([`121c5db`](https://github.com/Tiboris/mrack/commit/121c5db1e17143737d138327fe620874f9c40b3d))
* refactor: fixes _openstack_gather_responses test warnings and exec time
This refactoring of the method fixes test warning "coroutine was never awaited".
Additionally mocking async sleep in the test to speed up execution time.
Signed-off-by: David Pascual <davherna@redhat.com> ([`5440be1`](https://github.com/Tiboris/mrack/commit/5440be195cdbba5b872674c6662941a0021f030e))
* refactor(AWS): change variable name typo in get_ip_addresses
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`e319b73`](https://github.com/Tiboris/mrack/commit/e319b73377fcacdb67df11fa7f1aa0291702380f))
* refactor: Update supported providers
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`d0c2d8f`](https://github.com/Tiboris/mrack/commit/d0c2d8f4d90ec7e2bc6b0e63dd0b5fdc05724947))
* refactor(black): reformat code
tox failed black tests ([`0ab88e6`](https://github.com/Tiboris/mrack/commit/0ab88e6f79985f26f9b4884e1f2d68274aad0219))
* refactor(OpenStack): make private openstack methods truly private
renaming the openstack private methods to be private
openstack had too many public methods and this seems
to be proper fix, to have public just the needed ones.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`4467cc2`](https://github.com/Tiboris/mrack/commit/4467cc2a297e64a07baaed5eb2f127c5f74c72aa))
* refactor: pylint fixes related to Python 3.10
We need to first fix some pylint isses before
changing checks python version to 3.10.
pylint has still some issues with Python 3.11
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`71abf31`](https://github.com/Tiboris/mrack/commit/71abf31c9bc57410f4809ff7d5247f0d16560775))
* refactor: Use MrackError in run.py
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`40345f0`](https://github.com/Tiboris/mrack/commit/40345f0441e50787b2fd11f8ccf257b0d474f18e))
* refactor: Add MrackError as Parent exception class
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`883dd81`](https://github.com/Tiboris/mrack/commit/883dd81a95bdf889ab290bd5c245ac6ee3c39e60))
* refactor(OpenStack): raise Validation error when validation fails
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`1b87ce5`](https://github.com/Tiboris/mrack/commit/1b87ce524593b0f8cfbc336b16da460e8883fa05))
* refactor(Beaker): transformer test to use dictionary
Refactor beaker transformer test to use dictionary instead of multiple
parameters in function call. This increase readability of test. ([`b58f717`](https://github.com/Tiboris/mrack/commit/b58f717a3df7ee3821413d1218a78c8f890e29ea))
* refactor: create more verbose output when listing reqs
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`887a13e`](https://github.com/Tiboris/mrack/commit/887a13ec61d7910174ec03d790b204ec192b5e50))
* refactor: fix the typos in aws provider
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`957f8c5`](https://github.com/Tiboris/mrack/commit/957f8c57368009a49a7ada8d06913a0a87d91bd9))
* refactor(beaker): move distro_tags and hostRequires to transformer
From provider as transformer is the component which should work with
provisioning config.
Also remove the mrack_beaker from specs as it is no longer needed.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> ([`7a8bd24`](https://github.com/Tiboris/mrack/commit/7a8bd2497e5a952de92b89bb93d268ce852d4d24))
* refactor(Beaker): fix the typo in the comment message
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`aa938e3`](https://github.com/Tiboris/mrack/commit/aa938e37ca92836edd35cf52921e72a57e06cdf1))
## Test
* test: fix pylint issues and use isinstance
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`1a29d86`](https://github.com/Tiboris/mrack/commit/1a29d86e9218eb6bd86a120726aa12a89681521e))
* test(OpenStack): Add reprovision with dynamic result tests
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`19b52f8`](https://github.com/Tiboris/mrack/commit/19b52f8df036f36183fd18b7ba87ed457c2d8682))
* test: Add missing strategy_retry test
This covers the functionality added in https://github.com/neoave/mrack/pull/229
and https://github.com/neoave/mrack/pull/254
Signed-off-by: David Pascual <davherna@redhat.com> ([`f9f0e33`](https://github.com/Tiboris/mrack/commit/f9f0e335e1ce9d7df0a1c0aa999b82730aa99db0))
* test: Add missing tests for fixed code from https://github.com/neoave/mrack/pull/245
Signed-off-by: David Pascual <davherna@redhat.com> ([`dc74ced`](https://github.com/Tiboris/mrack/commit/dc74cedfa0de5061c11bd348d76983cc632953a7))
* test: add extra dnf options when dealing with rhel/epel 8
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`72cc2f3`](https://github.com/Tiboris/mrack/commit/72cc2f310c68ee90ee4ff6f34d8b1f70d1a198fe))
* test(OpenStack): Fixup the network spread tests
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`a0e76dd`](https://github.com/Tiboris/mrack/commit/a0e76ddb72ae4a0b8876d9eb2425865bdd04065b))
* test(OpenStack): rewrite network alloaction tests
To use less copy paste and have visible both inputs and outpus in
declarion.
Signed-off-by: Petr Vobornik <pvoborni@redhat.com>
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`88b9332`](https://github.com/Tiboris/mrack/commit/88b9332f1c65ba8d4f13799acd60fb2517c207e1))
* test(AnsibleInventory): global level output values override
Add test for the feature to support global level
ansible_inventory records which can be eventually
overwritten by domain and host defined values.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`6ce3927`](https://github.com/Tiboris/mrack/commit/6ce39273f258b0f371d21426a675f22a0fc6cea1))
* test(OpenStack): Update calls in openststack tests
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`109b03c`](https://github.com/Tiboris/mrack/commit/109b03c62cc65bf298a4b5d122f131790d8f659f))
* test: Fix test_utils.py to be included in pytest run
When tests were outside of pytest class the tests
were not run by pytest and thus github actions
were always green. Created TestPytestMrackUtils
class containing all the mrack unit tests.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`6e3563b`](https://github.com/Tiboris/mrack/commit/6e3563b2074a146f8aa8dfe1ad2e05ee7494c3ed))
* test: Add test for value_to_bool util function
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`de0986f`](https://github.com/Tiboris/mrack/commit/de0986f4c13b45741cd613345d07f42601c90e46))
* test(OpenStack): update test according to new changes in error handling
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`1c9a75e`](https://github.com/Tiboris/mrack/commit/1c9a75e0d79e2f272bcfee40ad3689691ab875cb))
* test(Beaker): add tests for non-default keys
Add test for non-default requirement keys [retention_tag, tasks, product]
Add more hosts with such values to test metadata topology
Signed-off-by: Erik Belko <ebelko@redhat.com> ([`d00dbe5`](https://github.com/Tiboris/mrack/commit/d00dbe5011cd23e90aec22f4b9d1028088af2de1))
* test(Beaker): add check for additional keys
Add check for additional keys [tasks, redention_tag, product]
to beaker transformer tests.
Resolve: https://github.com/neoave/mrack/issues/186 ([`9c6869f`](https://github.com/Tiboris/mrack/commit/9c6869f29f3f8bd4db3a4513ec74797a4ca02a58))
* test(OpenStack): network picker check
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`e7646b8`](https://github.com/Tiboris/mrack/commit/e7646b84c577129f22c4c36f8f90f418a9ea99a5))
* test(Beaker): check transformation for all supported reqs
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`64cfa3a`](https://github.com/Tiboris/mrack/commit/64cfa3ace7a528c675bfddc10c2aa00cce2cb749))
* test(Beaker): Do not use pubkey in mocked config
When pubkey is defined in provisioning_config.yaml
test fails with error reading the file.
This requeirement has been removed thus this pubkey
s no longer needed in mocked config.
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`0617fdf`](https://github.com/Tiboris/mrack/commit/0617fdfac67ff84df2f3210493929466be053f29))
* test(Beaker): check the ks_meta translation
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`161a145`](https://github.com/Tiboris/mrack/commit/161a1450393197668c8c8deb3e25fa823a01789a))
* test(Beaker): Update beaker test to mock global context provisioning config
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com> ([`7a690a0`](https://github.com/Tiboris/mrack/commit/7a690a04a783b74a0216e29660f679b41dcb4759))