-
Notifications
You must be signed in to change notification settings - Fork 330
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
Introduce node selector support for HostedClusters #1592
Conversation
/hold |
✅ Deploy Preview for hypershift-docs ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: enxebre The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
dec42a0
to
9af7e83
Compare
/test verify |
/retest |
In addition: | ||
- Pods for a Hosted Cluster prefer to be scheduled into the same Node. | ||
- If the `ControllerAvailabilityPolicy` is `HighlyAvailable` Pods for each Deployment within a Hosted Cluster will require to be scheduled across different failure domains by setting `topology.kubernetes.io/zone` as the topology key. | ||
- A HostedCluster can require their Pods to be scheduled into particlar Nodes by setting `HostedCluster.spec.nodeSelector`. |
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.
Do you think it makes sense to give examples here for infra nodes?
26d3c0f
to
fb4e842
Compare
/hold cancel |
b296d06
to
779669e
Compare
/retest |
1 similar comment
/retest |
support/config/deployment.go
Outdated
c.setNodeSelector(hcp) | ||
c.setControlPlaneIsolation(hcp) | ||
c.setColocation(hcp) | ||
c.setMultizoneSpread(multiZoneSpreadLabels) |
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.
This should only be called if the deployment has replicas > 1, otherwise it prevents single replica deployment rollouts.
82fab47
to
43b16e3
Compare
/test e2e-aws |
/test e2e-aws-nested |
2 similar comments
/test e2e-aws-nested |
/test e2e-aws-nested |
/test unit |
@enxebre: The following test failed, say
Full PR test history. Your PR dashboard. 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/test-infra repository. I understand the commands that are listed here. |
/test e2e-aws-nested |
This enables the use case where we want all product workloads to be allocated into infra nodes. The PR includes refactor of support/config/deployment: - Make setControlPlaneIsolation, setColocation and setMultizoneSpread private. - Introduces atomic public setLocation. - Introduces setReplicas. - Introduces public setDefaults. - Clarify comments and structured based on PodAfinnity vs NodeAfinnity. - Add unit test for setLocation. - Update docs.
/test unit |
1 similar comment
/test unit |
/lgtm |
Following up to openshift#1592, this keeps refactoring dropping hypershif-operator/util in favour of support/ and consolidates legacy HO reconciliation for mapprover and autoscaler with PCO reconciliation.
Following up to openshift#1592, this keeps refactoring dropping hypershif-operator/util in favour of support/ and consolidates legacy HO reconciliation for mapprover and autoscaler with PCO reconciliation.
Following up to openshift#1592, this keeps refactoring dropping hypershif-operator/util in favour of support/ and consolidates legacy HO reconciliation for mapprover and autoscaler with PCO reconciliation.
Following up to openshift#1592, this keeps refactoring dropping hypershif-operator/util in favour of support/ and consolidates legacy HO reconciliation for mapprover and autoscaler with PCO reconciliation.
Following up to openshift#1592, this keeps refactoring dropping hypershif-operator/util in favour of support/ and consolidates legacy HO reconciliation for mapprover and autoscaler with PCO reconciliation.
Following up to openshift#1592, this keeps refactoring dropping hypershif-operator/util in favour of support/ and consolidates legacy HO reconciliation for mapprover and autoscaler with PCO reconciliation.
Following up to openshift#1592, this keeps refactoring dropping hypershif-operator/util in favour of support/ and consolidates legacy HO reconciliation for mapprover and autoscaler with PCO reconciliation.
What this PR does / why we need it:
This enables the use case where we want all product workloads to be allocated into infra nodes.
The PR includes refactor of support/config/deployment:
Follow up refactor:
Some considerations:
Instead of proposed plain map[string]string nodeSelector, do we prefer a nodePlacement field so we preserve our ability to extend it in the future?
Which issue(s) this PR fixes *(optional, use
fixes #<issue_number>(, fixes #<issue_number>, ...)
format, where https://issues.redhat.com/browse/HOSTEDCP-506Checklist