Mrack

Latest version: v1.23.3

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

Scan your dependencies

Page 4 of 11

1.13.2

Releasing mrack version 1.13.2 ([`13e2635`](https://github.com/neoave/mrack/commit/13e263597f51900a3a8e235c6d6f87e5f8c4057f))

* chore: change back mrack dist release to 1

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

Fix

* 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 <tdudlakredhat.com> ([`06f18d1`](https://github.com/neoave/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 <tdudlakredhat.com> ([`fd33d68`](https://github.com/neoave/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 <tdudlakredhat.com> ([`b6c5ef4`](https://github.com/neoave/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 <tdudlakredhat.com> ([`fa2c779`](https://github.com/neoave/mrack/commit/fa2c779840e773958016dd7df37857140c4afaff))

1.13.1

Releasing mrack version 1.13.1 ([`469298d`](https://github.com/neoave/mrack/commit/469298da7d00a6162dea5cffd09b3048536f8e95))

Fix

* fix(MrackConfig): Fix MrackConfig class properties

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

1.13.0

Releasing mrack version 1.13.0 ([`38313f8`](https://github.com/neoave/mrack/commit/38313f84d6eda16ff0d118171dab04011058ebe5))

* chore: set packit to sync changelog as well

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

* chore: sync fedora spec to upstream to maintain changelog history for fedora

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

* 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 <tdudlakredhat.com> ([`be7b50a`](https://github.com/neoave/mrack/commit/be7b50a03498b7e09b11bf4d976793e8e7cb825f))

* chore: Bump python-semantic-release to latest

Python-semantic-release had problems fetching
the commit&39;s sha from work directory. This
issue should be fixed in latest release of action.

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

* 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 <pvoborniredhat.com> ([`72b9b9c`](https://github.com/neoave/mrack/commit/72b9b9cd241b8ce4d0c9a5b72214b3236af034fc))

* chore: disable pylint pre-commit hook

As it is failing and it needs more time to fix.

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

* chore(Packit): Add synchronization of tmt plans and tests

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

* chore(Packit): Configure users on whose actions packit is allowed to be run

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

* 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 <tdudlakredhat.com> ([`cf14ed9`](https://github.com/neoave/mrack/commit/cf14ed9c17e4070059cb47bf5ecd2c226ffea813))

Feature

* 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 <tdudlakredhat.com> ([`777862f`](https://github.com/neoave/mrack/commit/777862fc917bc1dc436f008f4693c991e101dd0d))

* feat(AWS): Add utilization check method

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

* feat(OpenStack): Add utilization check method

minor fix: typo _opentack -> _openstack

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`bb80060`](https://github.com/neoave/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 <tdudlakredhat.com> ([`55f9c2c`](https://github.com/neoave/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 <tdudlakredhat.com> ([`a7a896a`](https://github.com/neoave/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 <tdudlakredhat.com> ([`91c562c`](https://github.com/neoave/mrack/commit/91c562c1af45eb747ee46de1c08ca352b3370bcb))

Fix

* 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 <tdudlakredhat.com> ([`ff7331d`](https://github.com/neoave/mrack/commit/ff7331d54069c4b1a264dc12f1bf1f5934762abb))

* fix: fqdn in name is ignored and mrack guesses the name instead 237 ([`943316d`](https://github.com/neoave/mrack/commit/943316d736516b0b5025b10315de6599e491fdd6))

Refactor

* 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 <tdudlakredhat.com> ([`4467cc2`](https://github.com/neoave/mrack/commit/4467cc2a297e64a07baaed5eb2f127c5f74c72aa))

Test

* test: add extra dnf options when dealing with rhel/epel 8

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

* test(OpenStack): Fixup the network spread tests

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`a0e76dd`](https://github.com/neoave/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 <pvoborniredhat.com>
Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`88b9332`](https://github.com/neoave/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 <tdudlakredhat.com> ([`6ce3927`](https://github.com/neoave/mrack/commit/6ce39273f258b0f371d21426a675f22a0fc6cea1))

* test(OpenStack): Update calls in openststack tests

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

1.12.3

Releasing mrack version 1.12.3 ([`6bd9e17`](https://github.com/neoave/mrack/commit/6bd9e17e71c891b99a0f569b383f67da4ad55a13))

* 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 <tdudlakredhat.com> ([`52bb87e`](https://github.com/neoave/mrack/commit/52bb87efd6ecee482497c3d3d78a4c1ed8433a75))

* chore(Packit): Enable TF tests job to run on pull request.

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

* chore(Packit): Add fedora gating.yaml to synced files.

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

* 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 <tdudlakredhat.com> ([`a07785c`](https://github.com/neoave/mrack/commit/a07785c4f845aef008599521537a9e9f478e1d5a))

* chore(Packit): enable epel-8 and epel-9 updates and tests

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

Fix

* fix: Add cache decorator for older python versions.

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

* fix(mrack.spec): Missing dependency in c8s for beaker-client

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`aac3ed4`](https://github.com/neoave/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 <tdudlakredhat.com> ([`cd0335a`](https://github.com/neoave/mrack/commit/cd0335aa8c3115260c83c4f0e84cd5be10a84c0d))

1.12.2

Releasing mrack version 1.12.2 ([`497e95b`](https://github.com/neoave/mrack/commit/497e95b3b81fb0e0ad56d7724c0cc08accdc1a4f))

* 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 <tdudlakredhat.com> ([`3397948`](https://github.com/neoave/mrack/commit/33979481bfa67c5b16c553c1df229dd39e7195be))

* 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 <tdudlakredhat.com> ([`9303259`](https://github.com/neoave/mrack/commit/9303259dcc1ca19cb4ba93846d0fbb82396f3d46))

* 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: https://github.com/neoave/mrack/issues/220

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

Fix

* 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 <tdudlakredhat.com> ([`592f364`](https://github.com/neoave/mrack/commit/592f364e86d838e630259c0ce91928d15c10d00d))

Refactor

* 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 <tdudlakredhat.com> ([`71abf31`](https://github.com/neoave/mrack/commit/71abf31c9bc57410f4809ff7d5247f0d16560775))

Test

* 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 <tdudlakredhat.com> ([`6e3563b`](https://github.com/neoave/mrack/commit/6e3563b2074a146f8aa8dfe1ad2e05ee7494c3ed))

* test: Add test for value_to_bool util function

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

1.12.1

Releasing mrack version 1.12.1 ([`cd95a01`](https://github.com/neoave/mrack/commit/cd95a0149730dd7f595508be6daf5dfc08e3ece0))

* 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: https://github.com/packit/notifications/issues/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&39;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 <tdudlakredhat.com> ([`378ec61`](https://github.com/neoave/mrack/commit/378ec61c0914d0446a02e4f6b8ae071168b46671))

* chore: bump commit message checker version

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

* 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 <tdudlakredhat.com> ([`e281c32`](https://github.com/neoave/mrack/commit/e281c32d8e691cc83e0e2fcc86d1a5596fd6c3c0))

* 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 <tdudlakredhat.com> ([`bd3a08a`](https://github.com/neoave/mrack/commit/bd3a08a03d6a0c0bf74e2c14173766c3929e988a))

Fix

* 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 <tdudlakredhat.com> ([`9449082`](https://github.com/neoave/mrack/commit/94490824e8e6d3713328e08b99acb2a8a83623f8))

* fix: Use MrackError in action Up to catch all possible mrack errors at once

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

* fix: validate ownership and lifetime only for AWS and OpenStack

Limitin only for certain providers is needed as the owner doesn&39;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&39;t work with ownership
yet.

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

Refactor

* refactor: Use MrackError in run.py

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

* refactor: Add MrackError as Parent exception class

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

* refactor(OpenStack): raise Validation error when validation fails

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

Test

* test(OpenStack): update test according to new changes in error handling

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

Page 4 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.