Do not review until #185 has been merged in. Resolves #184.
This changeset introduces an argument-holding object, Placer::args, which holds arguments staged to operate on the next placement algorithm that is invoked.
Tested by using the ddos supervisor example (because it's got a lot of devices in it), by:
Setting an argument, running a non-annealing algorithm, and verifying that the Orchestrator complains.
After the above error, running a non-annealing algorithm, and verifying the annealing output (as the argument structure is cleared).
Running a non-annealing algorithm (bucket-filling), setting the in-place argument, running annealing, and verifying that the placement output (via a dump) has been annealed.
As above, but also setting the iteration value to zero, and verifying that the output state is untouched.
As above, but also setting the iteration value to ten, and verifying that the output state has fewer than ten alterations (but more than one).
All of the above have been run under valgrind (no errors), and in "all" mode.
Do not review until #185 has been merged in. Resolves #184.
This changeset introduces an argument-holding object,
Placer::args
, which holds arguments staged to operate on the next placement algorithm that is invoked.See the documentation PR at https://github.com/POETSII/orchestrator-documentation/pull/12 for an explanation.
Tested by using the ddos supervisor example (because it's got a lot of devices in it), by:
All of the above have been run under valgrind (no errors), and in "all" mode.