Skip to content
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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

tliu2021
Copy link
Collaborator

@tliu2021 tliu2021 commented Oct 4, 2024

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.

@openshift-ci-robot
Copy link
Collaborator

openshift-ci-robot commented Oct 4, 2024

@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:

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.

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
@openshift-ci-robot
Copy link
Collaborator

openshift-ci-robot commented Oct 4, 2024

@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:

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.

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.

Copy link

openshift-ci bot commented Oct 4, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from tliu2021. For more information see the Kubernetes Code Review Process.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Signed-off-by: Tao Liu <tali@redhat.com>
@@ -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"`
Copy link
Contributor

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?

Copy link
Collaborator Author

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.

Copy link
Collaborator Author

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.

@tliu2021
Copy link
Collaborator Author

tliu2021 commented Oct 8, 2024

/hold

1 similar comment
@tliu2021
Copy link
Collaborator Author

tliu2021 commented Oct 8, 2024

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 8, 2024
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 18, 2024
@openshift-merge-robot
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants