Mrack

Latest version: v1.23.0

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

Scan your dependencies

Page 4 of 10

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))

1.12.0

Releasing mrack version 1.12.0 ([`81db5bf`](https://github.com/neoave/mrack/commit/81db5bf42c6defd8206977fa751e4b88a3002a89))

* 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 <ksiddiquredhat.com> ([`fd4e0db`](https://github.com/neoave/mrack/commit/fd4e0db682d5049718694b2bd077bec5a50ed2a6))

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

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

Feature

* feat(aws): Add owner/lifetime info in VM&39;s metadata

Owner and lifetime info will be added into VM&39;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 <ksiddiquredhat.com> ([`ed9e977`](https://github.com/neoave/mrack/commit/ed9e977f4f56c5cc5cda6f0b4ad0f09cdaab89b9))

* feat(openstack): Add owner/lifetime info in VM&39;s metadata

Owner and lifetime info will be added into VM&39;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 <ksiddiquredhat.com> ([`e33038e`](https://github.com/neoave/mrack/commit/e33038e4de2fcca8d58564508b1d6786fbe8d01b))

Fix

* 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 <ksiddiquredhat.com> ([`07682c1`](https://github.com/neoave/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 <tdudlakredhat.com> ([`c66fef7`](https://github.com/neoave/mrack/commit/c66fef729754d3f28f8014e901524184bba5e18d))

1.11.0

Releasing mrack version 1.11.0 ([`84e055e`](https://github.com/neoave/mrack/commit/84e055e082daee90293517db16980f9c7c1f610c))

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

Feature

* 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 <davhernaredhat.com> ([`742ed9c`](https://github.com/neoave/mrack/commit/742ed9cf2e6ffe32575584ab405aa034f8049128))

Fix

* 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 &39;-f&39; from rm.

Signed-off-by: Tibor Dudlák <tdudlakredhat.com> ([`9a998bc`](https://github.com/neoave/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 <tdudlakredhat.com> ([`f76c31a`](https://github.com/neoave/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 <tdudlakredhat.com> ([`87c397e`](https://github.com/neoave/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 <tdudlakredhat.com> ([`dbb43f3`](https://github.com/neoave/mrack/commit/dbb43f30a0a978ce8570f1d3d23efb28cfd440a5))

Refactor

* 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/neoave/mrack/commit/b58f717a3df7ee3821413d1218a78c8f890e29ea))

Test

* 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 <ebelkoredhat.com> ([`d00dbe5`](https://github.com/neoave/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/neoave/mrack/commit/9c6869f29f3f8bd4db3a4513ec74797a4ca02a58))

1.10.0

Releasing mrack version 1.10.0 ([`7ff67e2`](https://github.com/neoave/mrack/commit/7ff67e2f413b66ecbc8810f95f1d52df881d7c33))

* chore: bump versions of GitHub actions

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

Feature

* 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 &39;normalized&39; 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 <tdudlakredhat.com> ([`317c2ac`](https://github.com/neoave/mrack/commit/317c2ac8c11580b078f306192309a0637522aed5))

Fix

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

* fix(utils): add encoding to open functions

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

* fix(Podman): add encoding to open function

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

* fix(Beaker): Add encoding to open when opening ssh key

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

Refactor

* refactor: create more verbose output when listing reqs

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

Test

* test(OpenStack): network picker check

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

Page 4 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.