Bug 1801437 - Add limits for unknown revisions in revision pruner operator controller
Summary: Add limits for unknown revisions in revision pruner operator controller
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: kube-scheduler
Version: 4.4
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.6.0
Assignee: Mike Dame
QA Contact: RamaKasturi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-10 21:16 UTC by Mike Dame
Modified: 2020-10-27 15:55 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-10-27 15:55:05 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift cluster-kube-apiserver-operator pull 871 0 None closed Bug 1801437: bump(*): Mark Abandoned static pod revisions 2020-06-29 09:43:52 UTC
Github openshift cluster-kube-controller-manager-operator pull 417 0 None closed Bug 1801437: bump(*): Mark Abandoned static pod revisions 2020-06-29 09:43:52 UTC
Github openshift cluster-kube-scheduler-operator pull 251 0 None closed Bug 1801437: bump(*): Mark Abandoned static pod revisions 2020-06-29 09:43:52 UTC
Red Hat Product Errata RHBA-2020:4196 0 None None None 2020-10-27 15:55:31 UTC

Description Mike Dame 2020-02-10 21:16:56 UTC
Currently, revisions in an "Unknown" state don't have a pruning limit, so they can pile up forever. The revision pruner controller should be able to set a limit for these, similar to how it does for Succeeded and Failed revisions.

Comment 3 Michal Fojtik 2020-05-12 10:32:25 UTC
This bug hasn't had any activity in the last 30 days. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

As such, we're marking this bug as "LifecycleStale" and decreasing severity from "medium" to "low".

If you have further information on the current state of the bug, please update it, otherwise this bug will be automatically closed in 7 days. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

Comment 4 Mike Dame 2020-05-12 15:57:36 UTC
I've opened 2 PRs to add this feature request:

1. https://github.com/openshift/api/pull/643 - API change to add the field
2. https://github.com/openshift/library-go/pull/794 - to implement the limit in the pruning controller

This will also require bumps to our static pod operators to actually take effect, once the above 2 PRs merge (in order)

Comment 5 Mike Dame 2020-05-20 15:05:52 UTC
This bug has moved to Jira (https://issues.redhat.com/browse/WRKLDS-172) as we consider this an RFE.

Comment 6 Mike Dame 2020-05-26 18:42:00 UTC
Re-opening this as upon further discussion we found that this is a symptom of a bigger issue in the revision controllers. Linked PR has been updated

Comment 7 Maciej Szulik 2020-05-27 19:00:41 UTC
It looks this won't make 4.5 this week, I'm pushing this to 4.6, we'll consider backport when this lands.

Comment 8 Mike Dame 2020-05-27 19:22:27 UTC
The above PRs have closed and the main bug has moved to this PR: https://github.com/openshift/library-go/pull/806

Comment 11 RamaKasturi 2020-06-08 11:47:52 UTC
Followed the process below to verify the bug here.

1) clone the repo https://github.com/openshift/library-go
2) export KUBECONFIG file
3) cd to the pr file directory which is /home/ramakasturinarra/automation/OpenShift/library-go/pkg/operator/revisioncontroller
4) Now run the command go test -v -run TestRevisionController

[ramakasturinarra@dhcp35-60 revisioncontroller]$ go test -v -run TestRevisionController
go: downloading k8s.io/apimachinery v0.18.3
go: downloading k8s.io/client-go v0.18.3
go: downloading k8s.io/api v0.18.3
go: downloading github.com/openshift/api v0.0.0-20200521101457-60c476765272
go: downloading k8s.io/kube-aggregator v0.18.3
go: downloading golang.org/x/net v0.0.0-20200421231249-e086a090c8fd
go: downloading k8s.io/apiextensions-apiserver v0.18.3
go: downloading k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6
go: downloading k8s.io/component-base v0.18.3
go: downloading github.com/robfig/cron/v3 v3.0.1
go: downloading github.com/prometheus/client_golang v1.1.0
go: downloading github.com/prometheus/client_model v0.2.0
go: downloading golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd
go: downloading github.com/prometheus/procfs v0.0.3
go: downloading github.com/json-iterator/go v1.1.9
go: downloading github.com/blang/semver v3.5.0+incompatible
go: downloading github.com/prometheus/common v0.6.0
go: downloading github.com/beorn7/perks v1.0.1
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
=== RUN   TestRevisionController
=== RUN   TestRevisionController/update_InProgress_to_Abandoned_revisions_when_interrupted
=== RUN   TestRevisionController/set-latest-revision-by-configmap
=== RUN   TestRevisionController/operator-unmanaged
=== RUN   TestRevisionController/missing-source-resources
=== RUN   TestRevisionController/copy-resources
=== RUN   TestRevisionController/copy-resources-opt
=== RUN   TestRevisionController/copy-resources-opt-missing
=== RUN   TestRevisionController/latest-revision-current
=== RUN   TestRevisionController/latest-revision-current-optionals-missing
--- PASS: TestRevisionController (0.00s)
    --- PASS: TestRevisionController/update_InProgress_to_Abandoned_revisions_when_interrupted (0.00s)
    --- PASS: TestRevisionController/set-latest-revision-by-configmap (0.00s)
    --- PASS: TestRevisionController/operator-unmanaged (0.00s)
    --- PASS: TestRevisionController/missing-source-resources (0.00s)
    --- PASS: TestRevisionController/copy-resources (0.00s)
    --- PASS: TestRevisionController/copy-resources-opt (0.00s)
    --- PASS: TestRevisionController/copy-resources-opt-missing (0.00s)
    --- PASS: TestRevisionController/latest-revision-current (0.00s)
    --- PASS: TestRevisionController/latest-revision-current-optionals-missing (0.00s)
PASS
ok  	github.com/openshift/library-go/pkg/operator/revisioncontroller	0.024s

Comment 12 RamaKasturi 2020-06-08 16:14:50 UTC
Based on comment 11 moving the bug to verified state. Below is the payload i have verified the bug.

[ramakasturinarra@dhcp35-60 revisioncontroller]$ oc get clusterversion
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.5.0-0.nightly-2020-06-08-010711   True        False         10h     Cluster version is 4.5.0-0.nightly-2020-06-08-010711

Comment 14 errata-xmlrpc 2020-10-27 15:55:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Container Platform 4.6 GA Images), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4196


Note You need to log in before you can comment on or make changes to this bug.