Mrack

Latest version: v1.23.1

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 11

0.12.0

Releasing mrack version 0.12.0 ([`bfe6f46`](https://github.com/neoave/mrack/commit/bfe6f46dd7c78450b1eed89324a366cd016bf9f5))

* chore: Add libvirt-dev distro dep to GH action

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`687c6d9`](https://github.com/neoave/mrack/commit/687c6d9cc85fa724b54eabc26a73c785e1c465cf))

Documentation

* docs: Update method docsting as it does not Validate hosts anymore

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`46e725c`](https://github.com/neoave/mrack/commit/46e725ca64223da5560948a144a5798f0e8499ed))

Feature

* feat: gracefully destroy servers after traceback

This allows us to create dummy Host object based
on the ProvisioningError traceback arguments
where we added also requirement which may have
caused the provisioning to fail so the worflow
can continue and remove already provisioned
servers after reprovision / abort strategy is
done so resources that may not be freed
to openstack will be returned.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`ab22410`](https://github.com/neoave/mrack/commit/ab22410cf07785c2e430464a5e933807a6d785dc))

* feat: Wait for provider resources up to hour

Checking resources more than once should help
to provide better results when we are facing
the providers to be overocupied.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`b9612cf`](https://github.com/neoave/mrack/commit/b9612cfaa194fe99a691529b42c5549010a21e03))

* feat(OpenStack): Check openstack response for resources issue

OpenStack may be oversubscribed so even when we do not reach
our quota limit provisioning may fail due to lack of resources.
In such scenario (OpenStack run out of hosts to provision)
we check the response from server and act based on the fact
that OpenStack itself is being fully loaded and does not have
free resources to provide for our server.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`328e0c9`](https://github.com/neoave/mrack/commit/328e0c9262e9a577a11817975218259ddf1ebd91))

* feat(Virt): use generated run IDs for parallel jobs

It may be common use case to run on one host machine two mrack jobs
with job metadata files which share hostnames. This may result in
conflict in testcloud as it identifies the vms by provided name. So
this patch is generating a pseudo unique run ID which is used as a
prefix for testcloud vm names and thus making it whole unique and
conflict resilient.

Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`60292ea`](https://github.com/neoave/mrack/commit/60292eaca1ff2f83746718c2f6aa2fc25ab0cbdf))

* feat: password authentication in ssh_to_host

ssh_to_host had some code for password authentication but it never
worked so this is basically a new feature.

Password authentication is preferred over sshkey as sshkey is often
defined globally and preffering it would e.g. not work for virt
provider. It is assuming that if a host has a password set then
it should work.

Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`dd151b5`](https://github.com/neoave/mrack/commit/dd151b524eac0eaecf9faf35d81073a0724f9d1e))

* feat: Virt a local virtual machine provider

PoC implementation which uses testcloud library to do most of the
heavy lifting. The idea is to use cloud images for local provisioning.

First implementation doesn&39;t do much about image sources and expects
urls of images to be in provisioning config. Later this should be
improved to allow dynamic loading of latest images from the sources
without a need to change them often manually.

Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`b2f917e`](https://github.com/neoave/mrack/commit/b2f917e3a17802ac238508e2326d0b262f02f6fd))

* feat(OpenStack): move network translation to provider

Moving network translation to provider will help us
to find new network for openstack VM when there
is a problem with network pools (insufficient ips)
that will help to choose another pool within openstack.

Transformer now only informs about network type
provider picks the network at every provision retry.
Touches little bit commit:
b28acca76cd095a5c70e8417ffe9321b8aa671c0
To reword log message and provide more detailed
information about availability of ip addresses.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`5d5146b`](https://github.com/neoave/mrack/commit/5d5146b098c268bed8fe277c1cba30dd0a514317))

* feat: Add capability to disable ssh check

Disable/Enable the ssh check after provisioning with:
post_provisioning_ssh_check: False/True
in provisioning-config.yaml file.
Default: True

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`efc5061`](https://github.com/neoave/mrack/commit/efc5061c93f28510d56ca53d5be53b5f709e3ff8))

* feat(OpenStack): distribute choosing of networks

Currenlty Mrack always chooses a network with the most available IPs.

This is good for a lot of use cases but is problematic when a lot of
jobs are started at the same time. Each of the jobs is doing a
separate network availability check. This can lead to a situation
where almost all jobs pick the same and start provisioning with it.

But this network might not have enough IPs for everything so there
is a increased chance that it will fail. E.g if there is 300 available
IPs and we run 100 jobs which needs 3-4 machines.

Indroducing a new behavior where Mrack is picking a random network from
networks which have at least 50% of IPs as the bests one. Thus spreading
the load and lowering the chance of the issue to happening.

It will not solve the issue completely. This can be improved e.g.
in re-provision logic.

Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`b28acca`](https://github.com/neoave/mrack/commit/b28acca76cd095a5c70e8417ffe9321b8aa671c0))

Fix

* fix: remove redundant host validation

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`baa2a06`](https://github.com/neoave/mrack/commit/baa2a06c27ece44302848a9f36fcd24681034e8f))

* fix: Change priority of hardcoding Administrator to Win hosts

Change the priority of hardcoded Administrator user
later used for Windows Hosts and let provisioning-config.yaml
be the firts one to lookup the username.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`3a5f19f`](https://github.com/neoave/mrack/commit/3a5f19ffc0b995814182bec335e002147fe670c2))

* fix: Do not add the config_drive_req to req

Do not add the config_drive_req to req when
the requirement is not needed to behave as older
mrack releases.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`db1f82a`](https://github.com/neoave/mrack/commit/db1f82ae6a108fc8da38961cb0efe6dafede8726))

Refactor

* refactor: exec_async_subprocess helper method

Move code to execute subprocess asynchronously to a helper method
to be later used e.g. by a virt provider.

Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`57f7c21`](https://github.com/neoave/mrack/commit/57f7c21b907dde6db70ac47adc81e48a3cdb7b2a))

* refactor: Fix typo in log message

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`0380aae`](https://github.com/neoave/mrack/commit/0380aaebe3895d23d5eb7879251650f3f1a59894))

0.11.0

Releasing mrack version 0.11.0 ([`26c0370`](https://github.com/neoave/mrack/commit/26c0370637422ee39b436e89b510849638ecb87a))

* chore: Update GH workflows pre-commit version

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`3c6c158`](https://github.com/neoave/mrack/commit/3c6c158b3c79708cfa985ee4c7005585cd021f1a))

* chore: Accept code which has 10 or less lines similar

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`4c3bd5d`](https://github.com/neoave/mrack/commit/4c3bd5d8712785092b4e37c86fa9328153897f20))

Feature

* feat: log mrack version into mrack.log

As debug. For knowing which version is used when investigation
failures.

Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`8ffa3c6`](https://github.com/neoave/mrack/commit/8ffa3c6610535c7fae8f4fa7d8d7a833bb200cab))

* feat: Add --version option to mrack cli

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`1863b79`](https://github.com/neoave/mrack/commit/1863b79c97ea00bc9277bba0fec1c78d7b42fbf8))

Fix

* fix: decrease and insanely long timeout

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`2d8ed4e`](https://github.com/neoave/mrack/commit/2d8ed4ec115a9c2ac5ea2f904035b5042dbe570b))

Refactor

* refactor: version module with version

To have only a single location (not counting docs) with version. It
has it&39;s own module so that it can be easily imported anywhere else
later.

Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`cb3c1c0`](https://github.com/neoave/mrack/commit/cb3c1c0e61bdebaebb1d221ecdf935248328e508))

0.10.0

Releasing mrack version 0.10.0 ([`b695a9e`](https://github.com/neoave/mrack/commit/b695a9e7c3b190d77320a6cbcec4c7adf58f1828))

* chore: Add podman as requirement to specfile

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`4e68012`](https://github.com/neoave/mrack/commit/4e680128a40e23670478b47e8aa35d55151a6b37))

* chore: Add Bhavik Bhavsar as Release Actor

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`538fc7d`](https://github.com/neoave/mrack/commit/538fc7d3ac1dc3df5e7f7e01694b4756a9902a8f))

Documentation

* docs: Add example provisioning config for podman

Adds an example config section for podman to provisioning-config.yaml
Adds an example seccomp.json file which might be used for containers
as a list of allowed syscalls for seccomp filter.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`f54b2e9`](https://github.com/neoave/mrack/commit/f54b2e96d24e91c57c161f1cf8c1f62cde1b7899))

* docs: Fix typo in docstring

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`255032b`](https://github.com/neoave/mrack/commit/255032b9ed38c083250cffae710f6330a543414e))

Feature

* feat: Create podman networks in preparation

Create podman networks in provisioning preparation
to not block the provisioning or ty to create already
created networks which may cause unexpected errors.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`c6791ce`](https://github.com/neoave/mrack/commit/c6791cedc49148200761f3540778fe6a999110f5))

* feat: Pull podman images in preparation

Pull podman image in provisioning preparation
to not block the provisioning or pull one image
more than once which may cause unexpected errors.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`c19b230`](https://github.com/neoave/mrack/commit/c19b230da6c7fa01ef3200853aecd115ed2badc2))

* feat: check ssh connectivity outside of pares_error_hosts more than once

Move the ssh connectivity check outside of the
pares_error_hosts method to distinguish the functionality
and to be able to gather asynchronous results later.

Retry the ssh connection after if fails to not destroy
slower systems which may not have set up the proper
ssh key into allowed keys.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`ecd5470`](https://github.com/neoave/mrack/commit/ecd5470babfec8868263127d4b1cdf42b7bc52b6))

* feat: Use always root user for provisioned containers

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`311a8a5`](https://github.com/neoave/mrack/commit/311a8a576af821ccd2c49ef615a38521b1a7d67b))

* feat: Use more flexible way of defining podman names

NETWORK: Podman now use network name created by composing
default network from provisioning config and domain name.
PODS: name of the pod derives from the hostname and network
the pod is assigned to.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`a94d922`](https://github.com/neoave/mrack/commit/a94d922fc6aa83e65c538cb09edfd139487caf35))

* feat: Use ssh public key to access container instead of podman id

Use ssh to connect to container provisioned by mrack
instead of ansible connection to prevent some issues
with connection and built in ansible modules so
the container acts like a vm.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`87c1ff0`](https://github.com/neoave/mrack/commit/87c1ff04215d120f90d6e8785d7c2478da92ec13))

* feat: Add capability to use custom podman options

mrack now support advanced podman provisioning
to enable custom way of running pods with podman
we should add podman section to provisioning config
something like:

podman:
images:
systemd enabled container images from: https://github.com/Tiboris/snappeas
fedora-32: tdudlak/snappeas:fedora-32
fedora-33: tdudlak/snappeas:fedora-33
fedora-rawhide: tdudlak/snappeas:fedora-rawhide

pubkey: config/id_rsa.pub

default_network: mrack-network

podman_options:
Mount a temporary filesystems (tmpfs) into a container
&34;--tmpfs&34;:
- &34;/tmp&34;
Use /sys/fs/cgroup in container as read only volume
&34;-v&34;:
- &34;/sys/fs/cgroup:/sys/fs/cgroup:ro&34;
Adding ipv6 support to network
&34;--network&34;: &34;enable_ipv6=true&34;


Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`d05a41f`](https://github.com/neoave/mrack/commit/d05a41f542861ff404113af68de52041779f0d72))

Fix

* fix: The type of duration is not correct

TypeError: unsupported format string passed to datetime.timedelta.__format__
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`dbdc25c`](https://github.com/neoave/mrack/commit/dbdc25ceae5a5e7985d1ece7eb253f0729b560fa))

* fix: ssh action crashes as it misses global_context

utils.ssh_to_host requires to have global_context initialized but
with introduction of it ssh action was not ammended. Without it
mrack crashed on sshing to a host.

This fix is initializing utils.global_context in ssh_action and
thus fixing the issue.

Signed-off-by: Petr Vobornik <pvoborniredhat.com> ([`a210f6e`](https://github.com/neoave/mrack/commit/a210f6eef895441198706b44697f7c3638630e94))

* fix: Log error when ssh fails after provisioning

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`76af86e`](https://github.com/neoave/mrack/commit/76af86ebe85a1ba500c89fed48fb3bf55cc692bd))

* fix: Do not use compression when trying ssh to machine

The `-C` flag causes the ssh to request compressed data
which may slow down the response time as manual says.
Rename execute to command so it is more clear
what is going to be happened on remote system.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`26d89be`](https://github.com/neoave/mrack/commit/26d89be9e643d7a9b8ea0ca929331b77af165bf9))

* fix: mrack ssh action needs host.host_id for podman

fix the traceback for accessing bad value in host
and fix the traceback when shell has been terminated
by using ctrl+D in terminal (signal 2)

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`c4daabd`](https://github.com/neoave/mrack/commit/c4daabda53bcace5a5d69dbe6e24f9fd62991bf2))

* fix: Use pubkey instead of keypair for beaker

Use pubkey name instead of keypair for beaker
to truly match the meaning of the value expected
to be set in provisioning-config.yaml

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`abc2a84`](https://github.com/neoave/mrack/commit/abc2a843c872a04a32908c931e5302def9879ca0))

* fix: Podman provider logger does not use Podman prefix

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`ef7dd59`](https://github.com/neoave/mrack/commit/ef7dd598d4ba9b86b5ba2037acaf06190e88289e))

0.9.0

Releasing mrack version 0.9.0 ([`539cb1c`](https://github.com/neoave/mrack/commit/539cb1c8b107344c2e34ef661fc9b5cea622e0a8))

Feature

* feat: Enable config drive in OpenStack

By default Nova&39;s metadata informatation if retrieved via HTTP, setting
`enable_config_drive` to True in provisioning-config will make metadata
available via a config drive, a special drive that are attached to an
instance when it boots.

This is helpful when connection is not stable during host booting stage,
host would be unreachable because cloud-init is failing to injecting
SSH keys into it.

This reduces the chance of hosts being provisioned but not accessible.

Signed-off-by: Armando Neto <abiagionredhat.com> ([`3cdb54b`](https://github.com/neoave/mrack/commit/3cdb54b0ce64c97fb884c9d83ba46576fa8bbae7))

0.8.0

Releasing mrack version 0.8.0 ([`b029e2e`](https://github.com/neoave/mrack/commit/b029e2e489c49d26d29f631bbea59c6a3d8199a8))

* chore: Update pylint in pre-commit hook

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`8ba8dc3`](https://github.com/neoave/mrack/commit/8ba8dc347181c609d0a9f9be7d2e8b267bc7be4b))

* chore: Trigger COPR to build rpm

Add action step to trigger COPR after a new release is created.

Signed-off-by: Armando Neto <abiagionredhat.com> ([`4e7ef91`](https://github.com/neoave/mrack/commit/4e7ef9186017f0d245317e50cabd4bdc91b967c9))

Documentation

* docs: Add info on how to install on Fedora

Packages available as rpm for Fedora 32+

Signed-off-by: Armando Neto <abiagionredhat.com> ([`90a52bc`](https://github.com/neoave/mrack/commit/90a52bc2661598da698f40c0a1cd5e730ec65bed))

Feature

* feat: use ssh to check VM availability after provisioning

After a host in provisioned we do check ssh connectivity
to the host itself and claim it is ready only after ssh
connection is successful. If ssh connection fails we
mark this host as an error host delete it and try to
go with reprovision strategy.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`7af47ec`](https://github.com/neoave/mrack/commit/7af47ec4a161c6b6e7f521d06ea3a23ca859ed51))

0.7.1

Releasing mrack version 0.7.1 ([`cc4f130`](https://github.com/neoave/mrack/commit/cc4f1307df7dbfe3bfd97e8b347b22d56282ae71))

Documentation

* docs: Add copr build badge and fix some typos

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`f85e236`](https://github.com/neoave/mrack/commit/f85e2366ee3fb5f952a03291bd4768099f298d23))

Fix

* fix: Update project homepage

Fix URL used by Python Package Index.

Signed-off-by: Armando Neto <abiagionredhat.com>
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`1a1a0c2`](https://github.com/neoave/mrack/commit/1a1a0c2082ede76c74a14ccee0a7e364a2cc0a5d))

Page 8 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.