[!IMPORTANT]
This builds off of PR #379 and must wait for it to be merged.
The previous method of provisioning state relied on the AllowPXE field of the Hardware spec. This overloads this field and makes it difficult to understand state. This is also problematic when gitops is employed with Hardware objects.
Annotations are purpose built for state and work well with CAPI. FYI, fields in the status object state are not maintained during CAPI move/pivot operations so they are not an option. There is also at least one other known bare metal CAPI provider that uses this pattern very successfully.
Why is this needed
Fixes: #
How Has This Been Tested?
How are existing users impacted? What migration steps/scripts do we need?
Checklist:
I have:
[ ] updated the documentation and/or roadmap (if required)
Description
The previous method of provisioning state relied on the AllowPXE field of the Hardware spec. This overloads this field and makes it difficult to understand state. This is also problematic when gitops is employed with Hardware objects.
Annotations are purpose built for state and work well with CAPI. FYI, fields in the status object state are not maintained during CAPI move/pivot operations so they are not an option. There is also at least one other known bare metal CAPI provider that uses this pattern very successfully.
Why is this needed
Fixes: #
How Has This Been Tested?
How are existing users impacted? What migration steps/scripts do we need?
Checklist:
I have: