ORM controller detects invalid path in owner and owned resources. However, it is hard to tell whether a path is invalid or omitted (use default value) in an resource. The proposed solution is to divide the scenario into 2 cases
During ORM composing/debug time, developer wants to detect all the paths to make sure they're correct.
During production time, devops wants to tolerate the omitted path, assuming the path is correct.
The solution is:
[x] 1. We introduce annotations to control the validation.
[x] a. “devops.turbonomic.io/validate-owner-path”: “enabled” # ”enabled/disabled” default is enabled
[x] b. “devops.turbonomic.io/validate-owned-path”: “enabled” # “enabled/disabled” default in enabled
[x] 2. If validation is enabled, we only process ORM mappings with all resources are present and all paths are located.
[x] 3. If validation is disabled,
[x] a. we do not show those mappings with missing/omitted paths in status,
[x] b. we do use those mappings with missing/omitted paths in action execution.
[x] In addition to that, ORM record event for actions to OwnerCRs, and call out when omitted path are completed by ORM.
ORM controller detects invalid path in owner and owned resources. However, it is hard to tell whether a path is invalid or omitted (use default value) in an resource. The proposed solution is to divide the scenario into 2 cases
The solution is:
[x] 1. We introduce annotations to control the validation.
[x] 2. If validation is enabled, we only process ORM mappings with all resources are present and all paths are located.
[x] 3. If validation is disabled,
[x] In addition to that, ORM record event for actions to OwnerCRs, and call out when omitted path are completed by ORM.