-
Notifications
You must be signed in to change notification settings - Fork 433
OTA-855: Enable CVO to evaluate conditional updates on self-managed HyperShift deployed on OpenShift #2807
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
Conversation
|
@Davoska: This pull request references OTA-855 which is a valid jira issue. 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/test-infra repository. |
|
Skipping CI for Draft Pull Request. |
control-plane-operator/controllers/hostedcontrolplane/cvo/reconcile.go
Outdated
Show resolved
Hide resolved
|
/cc |
|
Looking at the logs from the failing CI: #2778 modified the used code in this PR, I need to use the function that replaced the |
031ab45 to
b970908
Compare
|
The currently failing CI is failing as expected because openshift/cluster-version-operator#926 needs to be merged before this pull request can be merged. |
|
/hold |
control-plane-operator/controllers/hostedcontrolplane/cvo/reconcile.go
Outdated
Show resolved
Hide resolved
hypershift-operator/controllers/hostedcluster/hostedcluster_controller.go
Outdated
Show resolved
Hide resolved
|
I am converting the PR back to a draft for the moment so that we can discuss the design again. |
b970908 to
b517d50
Compare
| fmt.Sprintf("--listen=0.0.0.0:%d", port), | ||
| fmt.Sprintf("--serving-cert-file=%s", cpath(cvoVolumeServerCert().Name, corev1.TLSCertKey)), | ||
| fmt.Sprintf("--serving-key-file=%s", cpath(cvoVolumeServerCert().Name, corev1.TLSPrivateKeyKey)), | ||
| "--hypershift=true", |
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 line is fine, just thinking it through out loud in case other folks are thinking in the same direction. CVO support for this option is new in 4.15:
cluster-version-operator $ git --no-pager grep hypershift origin/release-4.15
origin/release-4.15:cmd/start.go: cmd.PersistentFlags().BoolVar(&opts.InjectClusterIdIntoPromQL, "hypershift", opts.InjectClusterIdIntoPromQL, "This options indicates whether the CVO is running inside a hosted control plane.")
cluster-version-operator $ git --no-pager grep hypershift origin/release-4.14
...no hits...But this HostedControlPlane operator is pinned to the release payload, so we should be able to set it like you have it without worrying about version skew vs. the CVO. Older payloads with CVOs that don't support this option will have older HostedControlPlane controllers that don't try to set it.
control-plane-operator/controllers/hostedcontrolplane/hostedcontrolplane_controller.go
Outdated
Show resolved
Hide resolved
6901f2b to
9fc1db1
Compare
|
/hold Modifying per #2807 (comment). |
9fc1db1 to
0097f51
Compare
|
/unhold |
|
/retest |
csrwng
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.
A couple of comments, otherwise lgtm
… deployed on OpenShift This commit will enable the Cluster Version Operator (CVO) to evaluate conditional updates on self-managed HyperShift deployed on an OpenShift management cluster. For the CVO to evaluate conditional updates, it accesses a PromQL query service holding the appropriate information. In the standalone OpenShift, it is the thanos-querier service in the openshift-monitoring namespace. This commit will point the hosted CVO at the mentioned service when specified via a command line flag as well. To use the thanos-querier service, commit utilizes its tenancy port 9092. This port allows the users to query metrics from a specified namespace (in this case, the hosted CVO can query metrics from its hosted control plane namespace). For the authorization, the hosted CVO is given a new Role with the minimal needed permissions to be able to query its HCP metrics. For the Control Plane Operator to be able to give this permission to the CVO, it needs this permission as well. The same case applies to the HyperShift Operator (HSO). When installing HyperShift, the `--enable-cvo-management-cluster-metrics-access` flag can be now passed to modify specific API objects accordingly to allow the hosted CVO to access the HCP metrics. The flag is not supported when `--rhobs-monitoring` is set, as the hosted CVO is unable to access metrics scraped by RHOBS objects at the moment. In the case, that the flag `--enable-cvo-management-cluster-metrics-access` is set on a non-OpenShift management cluster, the CVO will continue to report `Recommended = Unknown` for conditional updates. A new network policy is created to only allow egress communication to the PromQL query service pod's port from the hosted CVO pods.
0097f51 to
d49603e
Compare
|
/lgtm |
|
/retest-required All tests passed on the last run of The previous run succeeded, and the new changes should not be responsible for the timeout. Rerunning the tests. |
|
/test ci/prow/e2e-kubevirt-aws-ovn |
|
@LalatenduMohanty: The specified target(s) for
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/test-infra repository. |
|
/test e2e-kubevirt-aws-ovn |
|
The last e2e-kubevirt-aws-ovn test failed with below error which seems orthogonal to the PR |
|
@Davoska: 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/test-infra repository. I understand the commands that are listed here. |
|
[ART PR BUILD NOTIFIER] This PR has been included in build ose-hypershift-container-v4.15.0-202312071813.p0.g099a1f8.assembly.stream for distgit hypershift. |
What this PR does / why we need it:
This pull request will enable the hosted Cluster Version Operator (CVO) to evaluate conditional updates on self-managed HyperShift deployed on an OpenShift management cluster.
Which issue(s) this PR fixes:
Implements #OTA-855
Checklist