Bug 1954869

Summary: Add necessary priority class to marketplace components
Product: OpenShift Container Platform Reporter: ravig <rgudimet>
Component: OLMAssignee: Vu Dinh <vdinh>
OLM sub component: OperatorHub QA Contact: Tom Buskey <tbuskey>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: davegord, jiazha, nhale, tflannag
Version: 4.8   
Target Milestone: ---   
Target Release: 4.9.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
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.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-18 17:30:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1990650    

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