Instance operator refactoring
giorio94 opened this issue · 1 comments
giorio94 commented
Overview
This issue summarizes the main tasks towards the instance operator refactoring, for increased robustness and modularity.
Task list
- Rationalize the usage of the
CreateOrUpdate
function; - Replace the deprecated
setInstanceStatus
with a single update at the end of the reconcile; - Replace the custom VM readiness check with a proper readiness probe;
- Move the
DataVolume
definition to the VM spec, instead of a separated object; - Move all resource definitions to the
forge
package, split in smaller units for easier reuse; - Migrate to structured logging;
- Increment the test coverage;
- Standardise file/dirs/package names;
Additional information
CreateOrUpdate
guidelines
As for the CreateOrUpdate
usage, it is necessary to balance between resource enforcement and user disruption. For this reason, it is suggested the following:
- Do not modify those specs (e.g., deployment/VM templates) which would cause the restart of the user environment;
- Do enforce the various metadata information (labels, annotations, references), while ensuring user values are conserved;
- Vary the approach in the other cases depending on the specific situation, trying to reduce disruption in case the logic changed after a new release. Document whatever approach is selected for future information.
giorio94 commented
Closing, as fully addressed