Releasing mrack version 1.3.0 ([`75ce9e6`](https://github.com/neoave/mrack/commit/75ce9e6d18adbc56a6ed6314650afe068ec55638))
* chore: Add asyncio-mode=strict to pytest.ini
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`851dfb8`](https://github.com/neoave/mrack/commit/851dfb8f128907365775f8f7ba94d37dbe77ec75))
* chore: Add dav-pascual release actor
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`7494eea`](https://github.com/neoave/mrack/commit/7494eea7d74217fecdc5cfb3670b95b6ba0ce78d))
* chore: Update Black pre-commit hook version to 22.3.0 to fix issue
Recent release of Click makes current version of Black to break in the pre-commit stage. This issue is solved in newest version of Black 22.3.0
See more about the issue in https://github.com/psf/black/issues/2964
Signed-off-by: David Pascual <davhernaredhat.com> ([`b5c6d41`](https://github.com/neoave/mrack/commit/b5c6d41666da31057e875cd568ab915928b90006))
Documentation
* docs(aws): add missing examples to provisioning config
And config examples for features implemented recently for the aws
provider.
Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`e00e149`](https://github.com/neoave/mrack/commit/e00e1499364fef1b60a81417d485250817108991))
Feature
* feat(Beaker): Support distro variant configuration
Before this patch the distro variant could not be configured
and was hardcoded in the source code of the mrack project.
With this patch we support the old way and also a new way
of specifying the distro variants in the provisioning-config.
Updated the example provisioning-config.yaml file with latest
beaker feature examples.
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`e568507`](https://github.com/neoave/mrack/commit/e568507ec233fe232109717c68abb4a86b14948d))
* feat(Openstack): printout compose_id when using -latest image pointer
In order to know what image is the latest tag pointing to in Openstack,
meta_compose_id and meta_compose_url fields from image meta information are
printed out in the log and added to ansible inventory output.
Implemented in a way that allows extension for other providers with extra custom fields,
or images that don&39;t have those fields at all.q
Signed-off-by: David Pascual <davhernaredhat.com> ([`bb91893`](https://github.com/neoave/mrack/commit/bb918931d76b2cb031094398eb5e6970f2ef42ad))
* feat(aws): delete volumes on termination
The behavior is default it can be disabled by setting:
delete_volume_on_termination: false
In a config hierarchy of AWS provider.
Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`d90375e`](https://github.com/neoave/mrack/commit/d90375ebf571efb4f3b3d6cbf34dc741910fa95a))
* feat: possibility to disable host DNS resolution in outputs
Ansible inventory&39;s `ansible_host` or pytest-multihost&39;s
`external_hostname` currently by default tries to resolve host&39;s IP
address and use the DNS name if resolution is successfull.
This change allows to disable this behavior by setting:
resolve_host: False
Somewhere in the configuration hierarchy (metatadat host, provider
config, or global provisioning config).
Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`3fbd133`](https://github.com/neoave/mrack/commit/3fbd133e14f7397ccf261edaf05470664681fc0a))
* feat(aws): request spot instances
Spot instances are a great way how to save money for CI purposes.
https://aws.amazon.com/ec2/spot
This is inital implementation where the only possible option is to
ask for spot instance, but not define SpotOptions - this can be
extended later if wanted.
How to use:
- set `spot: True` in `aws` provider to enable it globally
- set `spot: True` in host section in job metadata file to request
a spot instance for this particular host.
Additional changes:
- removes stopping instance on destroy as it doesn&39;t work with
default behaviour of spot instances + correctly handle exception when
stopping fails (previous behaviour crashed mrack)
- prepares a parameters dict to be able to control what is passed to
ec2.create_instances, + partly fixes a possible regression with
SubNetId
Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`25576cb`](https://github.com/neoave/mrack/commit/25576cbb9be0e8e258e8e5fc7209acd17a7e641d))
* feat(aws): defining AMIs by tags
Add a new way to define an AWS EC2 image in a provisiong config in
addition to ami ID.
The following is valid:
images:
fedora-34: ami-0d3c5199abb29a7ae
fedora-35: { tag: { name: compose, value: mrack-fedora-35-latest } }
This allows for a seperate tool to upload new image with the same
purpose and mrack automatically picks the latest one with the given
tag.
Currently only one tag is supported and it search in all images.
Possible improvements:
- more tags
- limiting to private images
Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`a04497c`](https://github.com/neoave/mrack/commit/a04497c6003445241d96b19218a775a106db7da5))
Fix
* fix: use host[&39;os&39;] as default value when distro is not found
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`253a380`](https://github.com/neoave/mrack/commit/253a3809887b1024b0ee09c1bc47a40869f35e8c))
* fix(Virt): remove password when provisioning windows
testcloud is capable to inject password to linux
instances but not to windows one when provisioning
thus remove the password from the result when
the instance is identified as windows host.
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`e3a976a`](https://github.com/neoave/mrack/commit/e3a976a75a6e13659277936c690a5abec1ae6faa))
Refactor
* refactor: use hierarchy search for images and distros
It may change some behavior a little but is mostly a refactoring.
Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`c3a91ad`](https://github.com/neoave/mrack/commit/c3a91ad9c36113ad14d4ebbab8985616a0a1359c))
Test
* test: Add test for legacy beaker variant transformer
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`c486941`](https://github.com/neoave/mrack/commit/c486941325e56fdb0dbd68eba332ce0d01132515))
* test: Add BeakerTransformer unit test for distro and variant
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`ce5ed46`](https://github.com/neoave/mrack/commit/ce5ed4615f2417a27f46efae6f1616b47d1cafa2))
* test: Update the mock_data for Beaker unit tests
Update the mock provisioning config data
and create new MockedBeakerTransformer
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`07acc21`](https://github.com/neoave/mrack/commit/07acc21f0b47ce4316207c04be1083401ac2d200))