-
Notifications
You must be signed in to change notification settings - Fork 78
[release-4.10] OCPBUGS-7904: Cleanup conversion webhooks when an operator is uninstalled #457
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
…t (#2606) The condition that checks for an error with the webhook service deletion is based on the wrong variable, and the return statement is never reached, which leads to a continuous error when OLM tries to replace the webhook service on certain conditions Signed-off-by: orenc1 <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: e9aef37a1f293bbbf833206f2037a2f36ffe2673
Problem: The collect-profiles job should only take a few seconds to run. There are instances, such as when the pod cannot be scheduled, where the job will not complete in a reasonable amount of time. If enough jobs are scheduled but unable to run, the number of scheduled jobs can exceed pod quota limits. Solution: Given that the collect-profiles job should only take a few seconds to run and that the job is scheduled to run every 15 minutes, set the collect-profiles cronJob's spec.concurrencyPolicy to "Replace" so that only one active collect-profiles pod exists at any time.
Bug 2070131: Fix a bug in deletion of webhook service for replacement
…ry-pick-255-to-release-4.10 [release-4.10] Bug 2071941: Replace collect-profile jobs that haven't completed
Problem: The CheckRegistryServer function used by grpc catalogSources does not confirm that the serviceAccount associated with the catalogSource exists. Solution: Update the GRPC CheckRegistryServer function to check if the serviceAccount exists. Signed-off-by: Alexander Greene <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: 7e8e9f77d08d1bf451ce61b7bb2610473e793ded
Signed-off-by: Alexander Greene <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: 943a726ab1a516bc231e2fe96d13fc2e47bf4448
[release-4.10] Bug 2080609: Fix GRPC CheckRegistryServer function (#2756)
Signed-off-by: perdasilva <[email protected]>
* go.mod,vendor: Bump to Go 1.17 Signed-off-by: timflannagan <[email protected]> * .github/workflow: Bump the actions/setup-go go-version variable Signed-off-by: timflannagan <[email protected]> * pkg/package-server: Re-generate code Signed-off-by: timflannagan <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: ab8bb974ab31bebe66bb62ad8735d31036534633
This commit updates the operator-registry's go version to v1.17. Signed-off-by: Alexander Greene <[email protected]> Upstream-repository: operator-registry Upstream-commit: c970d617ce2d77c096102e2d881a15ef680bacf9
Signed-off-by: perdasilva <[email protected]>
…-bump Bug 2095329: [release-4.10] Bump go to v1.17 (openshift#922)
Signed-off-by: perdasilva <[email protected]> Upstream-repository: operator-registry Upstream-commit: 79e8f2518d57040e604ef4a68c9edef199d7d653
Signed-off-by: perdasilva <[email protected]> Upstream-repository: operator-registry Upstream-commit: d42dcfa2db71e1d64f3fce74faff713662c94eff
Signed-off-by: perdasilva <[email protected]> Upstream-repository: operator-registry Upstream-commit: b080d080c494e20caecc035ebd14177a2e8e7a58
Bug 2101802: opm bug fix
The thread-safety logic is flawed and can prevent Operator resources from being reconciled when component resources are updated. It also ensures idempotence when enqueuing a resource for reconciliation; In other words, enqueuing no-ops if the given resource is already in the queue. The underlying queue will ensure a reconciler never races itself when processing a given resource event. Signed-off-by: Nick Hale <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: 3807cc1a01619ddf857009c72ca1712746e8fc01
[release-4.10] Bug 2106838: remove broken thread-safety (#2697)
Currently, liveness and readiness probes may fail due to grpc is not ready. Adding a startupProbe will ensure grpc is ready before liveness and readiness probes are triggered. Upstream-repository: operator-lifecycle-manager Upstream-commit: 8987522f97ea3726b42ce6fe23ce5aa75efa83ba Signed-off-by: Vu Dinh <[email protected]>
….13 (openshift#970) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.4.11 to 1.5.13. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](containerd/containerd@v1.4.11...v1.5.13) Upstream-repository: operator-registry Upstream-commit: 0ceeecf14f9a507c4374efa061f2bc92fc30f180 Signed-off-by: perdasilva <[email protected]>
[release-4.10] Bug 2118261: Update containerd version
Bug 2115874: fix(grpc): Add startupProbe to check for grpc health readiness (#2791)
Signed-off-by: Ben Luddy <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: f428918
**Problem:** The package-server-manifest (PSM) is a downstream specific component responsible for reconciling the package-server csv, which is defined in code as a yaml file. When the PSM reconciles the package-server csv, it: - Attempts to generate the base of the expected CSV from the yaml mentioned above. - Passes the reconcileCSV function as the mutateFn parameter and the expectedCSV as the `obj` parameter into into controller-runtime's createOrUpdate function. Controller runtime's createOrUpdate function will apply the mutateFn function against: - The `obj` you passed in if it does not already exist. OR - The existing on cluster object. In the case where the mutateFn is applied to the applied to the existing object, changes made to the package-server csv yaml are ignored because the mutateFn (ie the reconcileCSV function) doesn't consider changes to the manifest. **Solution:** Update the reconcileCSV function to: - Ensure that expected annotations and labels are present on the csv. - Ensure that the expected spec is present on the csv.
Get the current OpenShift release version from the RELEASE_VERSION environment variable since the behavior of the original source -- the ClusterVersion desired release status field -- has changed. Signed-off-by: Tyler Slaton <[email protected]> Co-authored-by: Nick Hale <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: ec9903dba891dc5fd4e42bd06b240a7a82f9283c
…oper draining of nodes (#2669) Signed-off-by: Daniel Sover <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: dbd5b6f0d1dbc6981363c1345fa217629de97709
[release-4.10] OCPBUGS-1087: Stop corrupting resolver cache.
…GS-1323 [release-4.10] OCPBUGS-1323: Add autoscaling eviction annotation to catalog pods to enable proper draining of nodes
…PVersion-bug OCPBUGS-2898: [release-4.10] fix(openshift): use env var instead of clusterversion status (#2817)
* Update catalog source pod creation to not mutate parameters Signed-off-by: perdasilva <[email protected]> * Update pkg/controller/registry/reconciler/reconciler_test.go Co-authored-by: Alexander Greene <[email protected]> Signed-off-by: perdasilva <[email protected]> Co-authored-by: Alexander Greene <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: 83e3ebf96856643286e2e3e9438352c975923858
Signed-off-by: Per Goncalves da Silva <[email protected]> Co-authored-by: Per Goncalves da Silva <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: 1bdf969e6dff317e975de21078d60dd1406235e0
…ry-pick-355-to-release-4.10 [release-4.10] OCPBUGS-4128: concurrent write bug fix
OCPBUGS-4799: Fix label key truncation for subscription annotations (#2731)
Signed-off-by: perdasilva <[email protected]>
…aming (#2715)
* Add importas linting configuration to enforce common package import naming
Signed-off-by: timflannagan <[email protected]>
* cmd,pkg,test: Fix linting violations
Signed-off-by: timflannagan <[email protected]>
Upstream-repository: operator-lifecycle-manager
Upstream-commit: 2194336a87354972a9bc7ea93395571f83147cf6
Signed-off-by: perdasilva <[email protected]>
Signed-off-by: Per Goncalves da Silva <[email protected]> Signed-off-by: perdasilva <[email protected]> Co-authored-by: Per Goncalves da Silva <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: d87319abbd63a0553bd6d37f9125faba7bd40fd5
Signed-off-by: perdasilva <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: 9ced412f3e263b8827680dc0ad3477327cd9a508
…t-cert-rotation-fix OCPBUGS-5294: backport cert rotation fix
[release-4.10] OCPBUGS-1525: Package Server Manager should enforce expected csv values
Problem: The operator CR's status includes a list of componenets owned by the operator. The list of components are ordered by GVK, but the order of objects with the same GVK may change. If an operator owns many components, there is a high likelyhood that OLM will continuously update the status of the operator CR because the order of its components have changed, Solution: Order an operators component references so OLM does not attempt to update the status of the operator CR. Signed-off-by: Alexander Greene <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: 793a7cc20d18f4907fc17ce2a0cebbca9a0f00be
…ry-pick-413-to-release-4.10 [release-4.10] OCPBUGS-6498: Order an operator CR's status.Component.Refs array (#2880)
Problem: When uninstalling a CSV, OLM has always avoided deleting the associated CRD as all CRs on cluster are subsequently deleted, possibly resulting in user dataloss. OLM supports defining conversion webhooks within the CSV. On cluster, conversion webhooks are defined with a CRD and point to a service that handles conversion. If the service is unable to fulfill the request, all requests against the CRs associated with the CRD will fail. When uninstalling a CSV, OLM does not remove the conversion webhook from the CRD, meaning that all requests against the CRs associated with the CRD will fail, resulting in at least two concerns: 1. OLM is unable to subsequently reinstall the operator. When installing a CSV, if the CRD already exists and instances of CRs exist as well, OLM performs a series of checks which ensure that none of the CRs are invalidated against the new schema. The existing CRD's conversion webhooks points to a non-existant service, causing the check to fail and preventing installs. 2. Broken conversion webhooks causes kubernete's garbage collection to fail. Solution: When a CSV is deleted, if no CSV exists that is replacing it, set the CRD's conversion strategy to None. Signed-off-by: Alexander Greene <[email protected]> Upstream-commit: 94374983d448c56d031f0493b84b6dce37b84741 Upstream-repository: operator-lifecycle-manager
|
@awgreene: This pull request references Jira Issue OCPBUGS-7904, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. 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. |
|
PR needs rebase. 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. |
|
@awgreene: The following tests failed, say
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. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: awgreene 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 |
Signed-off-by: grokspawn <[email protected]> Upstream-repository: api Upstream-commit: 9b9df1ed4c8a67a8c8e49ea18fa40ace76175b45
Signed-off-by: grokspawn <[email protected]> Upstream-repository: api Upstream-commit: 9b9df1ed4c8a67a8c8e49ea18fa40ace76175b45
Signed-off-by: grokspawn <[email protected]> Upstream-repository: api Upstream-commit: 9b9df1ed4c8a67a8c8e49ea18fa40ace76175b45
Signed-off-by: grokspawn <[email protected]> Upstream-repository: api Upstream-commit: 9b9df1ed4c8a67a8c8e49ea18fa40ace76175b45
Signed-off-by: grokspawn <[email protected]> Upstream-repository: api Upstream-commit: 9b9df1ed4c8a67a8c8e49ea18fa40ace76175b45
No description provided.