Bug 1954869 - Add necessary priority class to marketplace components
Summary: Add necessary priority class to marketplace components
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: OLM
Version: 4.8
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 4.9.0
Assignee: Vu Dinh
QA Contact: Tom Buskey
URL:
Whiteboard:
Depends On:
Blocks: 1990650
TreeView+ depends on / blocked
 
Reported: 2021-04-28 23:40 UTC by ravig
Modified: 2021-10-18 17:30 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Feature: Allow priority classes to be projected into registry pods using labels in catalogsource resources. Reason: The default catalogsources are important components in openshift-managed namespaces which mandate priority classes. Result: All default catalogsources in openshift-marketplace namespace have system-cluster-critical priority class.
Clone Of:
Environment:
Last Closed: 2021-10-18 17:30:14 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift operator-framework-olm pull 151 0 None None None 2021-08-03 20:07:06 UTC
Github operator-framework operator-marketplace pull 417 0 None None None 2021-08-04 17:40:21 UTC
Red Hat Product Errata RHSA-2021:3759 0 None None None 2021-10-18 17:30:30 UTC

Description ravig 2021-04-28 23:40:44 UTC
Description of problem:


While mandating priority classes for all the components in `openshift-*` namespaces, we noticed that the following component(s) is/are missing priority class.

openshift-marketplace/certified-operators
openshift-marketplace/community-operators
openshift-marketplace/redhat-marketplace
openshift-marketplace/redhat-operators

Following is the guidance on the which priority class to choose:

If it is fine for your operator/operand to be preempted by user workload specify and OOMKilled  use openshift-user-critical priority class
If you want your operator/operand not to be preempted by user-workload but still be OOMKilled use system-cluster-critical priority class
If you want operator/operand not be preempted by user-workload and OOMKilled last use system-node-critical priority class

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Nick Hale 2021-04-29 14:59:14 UTC
Based on the given priority class descriptions, we probably want the catalog pods to be "system-cluster-critical".

Now that we have a downstream repo, we could implement this downstream-only.

Although, if we want to keep divergence low, we should probably piggy-back a fix on some more generic enhancement; e.g. "project CatalogSource annotations/labels onto catalog pods".

Comment 6 Tom Buskey 2021-08-05 18:58:58 UTC
oc get pods -n openshift-operator-lifecycle-manager

NAME                                     READY   STATUS      RESTARTS   AGE
catalog-operator-5b746cd5b7-gdjft        1/1     Running     0          5h16m
olm-operator-6798487d77-tkn6k            1/1     Running     0          5h16m
package-server-manager-c859cc585-rqkdq   1/1     Running     4          5h15m
packageserver-5d57f99d5-4ncn8            1/1     Running     0          5h14m

oc get pod -n  openshift-operator-lifecycle-manager catalog-operator-5b746cd5b7-gdjft -o yaml | egrep -i 'priority|system-cluster' 
  preemptionPolicy: PreemptLowerPriority
  priority: 2000000000
  priorityClassName: system-cluster-critical

oc get pod -n openshift-marketplace
NAME                                    READY   STATUS    RESTARTS   AGE
certified-operators-8jf4d               1/1     Running   0          28m
community-operators-cnn5v               1/1     Running   0          3h26m
marketplace-operator-7fcfd4df55-l77p7   1/1     Running   0          5h22m
redhat-marketplace-pqzmr                1/1     Running   0          20m
redhat-operators-c6ccn                  1/1     Running   0          120m

oc get pod redhat-operators-c6ccn  -o yaml | egrep -i 'priority|system-cluster' 
  preemptionPolicy: PreemptLowerPriority
  priority: 0

 oc version
Client Version: 4.9.0-202107292001.p0.git.1557476.assembly.stream-1557476
Server Version: 4.9.0-0.nightly-2021-08-04-131508
Kubernetes Version: v1.21.1+8268f88

Trying a newer build.

Comment 7 Tom Buskey 2021-08-05 19:43:02 UTC
oc get pod -n openshift-marketplace marketplace-operator-7fcfd4df55-9nqjt -o yaml  | egrep -i 'priority|system-cluster'
  preemptionPolicy: PreemptLowerPriority
  priority: 2000000000
  priorityClassName: system-cluster-critical

oc version
Client Version: 4.9.0-202107292001.p0.git.1557476.assembly.stream-1557476
Server Version: 4.9.0-0.nightly-2021-08-04-131508
Kubernetes Version: v1.21.1+8268f88

Comment 10 errata-xmlrpc 2021-10-18 17:30:14 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 (Moderate: OpenShift Container Platform 4.9.0 bug fix and security update), 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/RHSA-2021:3759


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