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