-
Notifications
You must be signed in to change notification settings - Fork 247
MGMT-19080, MGMT-18590: Enable installation of 3-5 control plane cluster in day1 #6917
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
MGMT-19080, MGMT-18590: Enable installation of 3-5 control plane cluster in day1 #6917
Conversation
|
@danmanor: This pull request references MGMT-19080 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 task to target the "4.18.0" version, but no target version was set. DetailsIn 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. |
|
Skipping CI for Draft Pull Request. |
2a91b66 to
7147aaf
Compare
7147aaf to
7ba4240
Compare
|
/test |
|
@danmanor: The
The following commands are available to trigger optional jobs:
Use
DetailsIn 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 kubernetes-sigs/prow repository. |
|
/test edge-e2e-metal-assisted-5-control-planes-4-18 /test edge-e2e-metal-assisted-4-control-planes-4-18 |
|
/test |
|
@danmanor: The
The following commands are available to trigger optional jobs:
Use
DetailsIn 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 kubernetes-sigs/prow repository. |
|
/test |
|
@danmanor: The
The following commands are available to trigger optional jobs:
Use
DetailsIn 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 kubernetes-sigs/prow repository. |
|
/test edge-e2e-ai-operator-ztp-4masters /test edge-e2e-ai-operator-ztp-5masters |
|
/test edge-e2e-ai-operator-ztp |
|
@danmanor: This pull request references MGMT-19080 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 task to target the "4.18.0" version, but no target version was set. DetailsIn 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. |
|
@danmanor: This pull request references MGMT-19080 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 task to target the "4.18.0" version, but no target version was set. DetailsIn 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
|
@danmanor: This pull request references MGMT-19080 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 task to target the "4.18.0" version, but no target version was set. DetailsIn 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. |
|
@danmanor: This pull request references MGMT-19080 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 task to target the "4.18.0" version, but no target version was set. DetailsIn 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. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6917 +/- ##
==========================================
+ Coverage 68.22% 68.30% +0.08%
==========================================
Files 272 272
Lines 38701 38884 +183
==========================================
+ Hits 26402 26561 +159
- Misses 9904 9925 +21
- Partials 2395 2398 +3
|
569e498 to
dd6b4e3
Compare
|
/test edge-e2e-ai-operator-ztp-4masters e2e-agent-5control-ipv4 edge-e2e-metal-assisted-4-control-planes-4-18 e2e-agent-5control-ipv4 edge-e2e-metal-assisted-day2 edge-e2e-ai-operator-ztp-sno-day2-workers edge-e2e-ai-operator-ztp-compact-day2-masters |
|
/retry |
|
/test edge-e2e-ai-operator-disconnected-capi |
assisted-installer and assisted-installer-agent. e2e-agent-4control-ipv4 is an optional job that can be triggered to test a cluster installation where the control plane has 4 replicas. Requires: openshift/assisted-service#6917
dd6b4e3 to
d303a6b
Compare
d303a6b to
33f4184
Compare
|
/test edge-e2e-ai-operator-ztp-4masters e2e-agent-5control-ipv4 edge-e2e-metal-assisted-4-control-planes-4-18 e2e-agent-5control-ipv4 edge-e2e-metal-assisted-day2 edge-e2e-ai-operator-ztp-sno-day2-workers edge-e2e-ai-operator-ztp-compact-day2-masters |
|
/retest |
|
/test edge-e2e-ai-operator-ztp-4masters e2e-agent-5control-ipv4 edge-e2e-metal-assisted-4-control-planes-4-18 e2e-agent-5control-ipv4 edge-e2e-metal-assisted-day2 edge-e2e-ai-operator-ztp-sno-day2-workers edge-e2e-ai-operator-ztp-compact-day2-masters |
|
/retest |
|
/test e2e-agent-5control-ipv4 |
| masterCountPrt, workerCountPtr, err := getHostSuggestedRoleCount(r.ClusterApi, *c.ID) | ||
| if err != nil { |
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.
| masterCountPrt, workerCountPtr, err := getHostSuggestedRoleCount(r.ClusterApi, *c.ID) | |
| if err != nil { | |
| masterCountPtr, workerCountPtr, err := getHostSuggestedRoleCount(r.ClusterApi, *c.ID) | |
| if err != nil { |
| int(swag.Int64Value(mastersCountPtr)), | ||
| int(swag.Int64Value(workersCountPtr)), |
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.
Will these cause any issues if masterCountPtr or workersCountPtr is nil?
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.
If these are nil then they will be 0, will probably show something like - "The cluster currently requires exactly 3 master agents and 2 worker agents, but currently registered 0 master agents and 0 worker agents". I son't see any other option if we want to update status in this case, as we don't want to show custom message in this case right ?
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.
Cool just confirming it doesn't cause issues. That sounds good, thanks!
CrystalChun
left a comment
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.
/lgtm
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: CrystalChun, danmanor The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@danmanor: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. I understand the commands that are listed here. |
|
[ART PR BUILD NOTIFIER] Distgit: ose-agent-installer-api-server |
…58621) The jobs are named e2e-agent-4control-ipv4 and e2e-agent-5control-ipv4. Requires: openshift/assisted-service#6917
assisted-installer and assisted-installer-agent. e2e-agent-4control-ipv4 is an optional job that can be triggered to test a cluster installation where the control plane has 4 replicas. Requires: openshift/assisted-service#6917
…penshift#58621) The jobs are named e2e-agent-4control-ipv4 and e2e-agent-5control-ipv4. Requires: openshift/assisted-service#6917
Introduction
currently assisted-service enables only SNO or 3CP clusters in day1. With the new feature in OCP 4.18 enabling installation of 4/5 control planes as well, this PR enables it in assisted-service.
More info - https://issues.redhat.com/browse/OCPSTRAT-1199
Main Changes
Cluster Validations
currently assisted-service validates that the amount of potential control planes is exactly 3 in HA clusters, we change it to 3-5 and the validations message as well.
Requirements To Move To Finalizing state
Currently assisted service moves to
finalizingstage if one of the masters failed to install but you still have at least 3. We change it to validate that all expected masters installed.Masters Schedulability
Currently assisted-service decides whether masters will be schedulable or not by checking if their are at least 5 hosts in the cluster (which means at least 2 workers). We change it to at least 2 workers, and refresh again after all hosts are assigned before installation.
Infrastructure Topology
Currently assisted patches Infrastructure CR to
HighlyAvailablein clusters with 4 hosts (1 worker). We change it to 1 worker.Operator Validations
AgentClusterInstall ProvisionRequirements
Currently, ACI controller uses
ProvisionRequirementsfor two purposes -ControlPlaneAgents== 1 andWorkerAgents== 0)ControlPlaneAgents+WorkerAgents, relying on the fact that there is exactly 3 masters. This will no longer be valid as the user can specify for example 4 masters and 1 worker. We change the controller to reconcile to the desired state by host roles.Cross Flow Role assignment
Currently, each flow has its own way of setting manual host roles:
The default role assignment in each of the flows above will change to rely on host monitoring, which will reconcile and designate host roles for each cluster. This process will be based on a new field in the database cluster structure called
ControlPlaneCount, which represents the desired number of masters in the cluster. This solution will enable kubeAPI andABIto create or update clusters with provisioning requirements, while the RestAPI will support more seamless, optional automatic assignment.List all the issues related to this PR
What environments does this code impact?
How was this code tested?
Checklist
docs, README, etc)Reviewers Checklist