Provide granular checkpoints for move_and_rebuild_hosts.py
This issue covers providing transparent look into the percentage of an environment's buildout/validation as well as to accomodate provisioning checks into situations where we add net-new systems to already-existing, running assignments.
This might manifest itself in two major ways
- make
move_and_rebuild_hosts.pygranular, capturing what's passed/failed across all the various actions as to not perform them again if they have already succeeded, or in case of power actions been executed - store these values in a dict or other data structure, potentially utilizing the hosts collection in mongo as needed.
- ~~provide a "ready" status percentage on the automated system assignments page based on what is left to be processed by
quads-cli --move-hosts --dry-runand illustrate this in the wiki assignments page regeneration.~~ addressed in https://github.com/redhat-performance/quads/commit/3485b8872da167c19cbfb32fa85c97041c2bc1c3
This is particularly useful to cover validation gaps we have currently in systems that are added to already-running and validated/released environments
UPDATE: We are going to address this with: https://github.com/redhat-performance/quads/issues/256 instead here.
The following patchset provides the visible provisioning and move status indicators as a percentage on the assignments page:
https://review.gerrithub.io/c/redhat-performance/quads/+/463515
We still need to discuss, architect and implement the following:
- simple, pragmatic way to provide coverage for checking host build status for systems moving into an already-existing cloud
- ensure changes are complimentary to the inclusion of
asynciowhich we're aiming to adopt ASAP as soon as 1.1.0 is stable as outlined here:
https://github.com/redhat-performance/quads/issues/256 https://github.com/redhat-performance/quads/issues/266
Most likely this will involve just refactoring validate_env.py to move the build status checking into move_and_rebuild_hosts.py.
Closing this, the scope has changed to only provide visual progress status on assignments page, we will accomplish the granularity break-out here with a proper asyncio implementation as noted here:
https://github.com/redhat-performance/quads/issues/256
After some further discussion we're re-opening this as some elements can be implemented that compliment asyncio here:
https://review.gerrithub.io/c/redhat-performance/quads/+/463871
There are elements of this RFE that can/should be implemented post-asyncio, pushing this to 1.2 milestone.
This is related in part to serving the foundation for this 2.0 RFE: https://github.com/redhat-performance/quads/issues/471