-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CNF-14779: Initial update to support hardware template change #240
base: main
Are you sure you want to change the base?
Conversation
@tliu2021: This pull request references CNF-14779 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
1 similar comment
@tliu2021: This pull request references CNF-14779 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Signed-off-by: Tao Liu <tali@redhat.com>
4d13698
to
497cb3b
Compare
@@ -62,7 +62,8 @@ type Properties struct { | |||
|
|||
// GenerationStatus represents the observed generation for an operator. | |||
type GenerationStatus struct { | |||
ObservedGeneration int64 `json:"observedGeneration,omitempty"` | |||
ObservedGeneration int64 `json:"observedGeneration,omitempty"` | |||
SpecHash string `json:"specHash,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need both a generation and a hash? Doesn't the generation change every time an update is applied?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The SpecHash and ObservedGeneration each serve a different purpose. The SpecHash field captures the hash of the spec changes triggered by the hardware template and enables the operator to quickly detect when updates to the NodePool are required. It also differentiates the changes made by the plugin. The ObservedGeneration field allows each operator to confirm that it has processed the most recent version of the spec. This is essential when multiple operators are involved, as each can independently confirm it has reconciled the latest changes. The ObservedGeneration is updated after a successful spec update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on my discussion with Don, the plugin will not update the NodePool spec, and I will modify this PR accordingly.
/hold |
1 similar comment
/hold |
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
CNF-14779: Initial update to support hardware template changes
This update introduces initial support for hardware template changes, specifically enabling the selection of a new hardware profile for a node group. As part of these changes, the node pool spec is now updated accordingly based on the new hardware template.
A spec hash has been added to track and differentiate changes initiated by either the Cloud Manager or the H/W Manager plugin. The H/W Manager plugin is expected to update certain node pool spec fields, while the Cloud Manager will only modify the node pool spec if changes are triggered by updates to the hardware template.