You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -75,8 +83,11 @@ Set the `olm.catalogImageTemplate` annotation to your index image name and use o
75
83
* `configmap`: OLM parses config map data and runs a pod that can serve the gRPC API over it.
76
84
--
77
85
<8> Specify the value of `legacy` or `restricted`. If the field is not set, the default value is `legacy`. In a future {product-title} release, it is planned that the default value will be `restricted`. If your catalog cannot run with `restricted` permissions, it is recommended that you manually set this field to `legacy`.
78
-
<9> Automatically check for new versions at a given interval to stay up-to-date.
79
-
<10> Last observed state of the catalog connection. For example:
86
+
<9> Optional: For `grpc` type catalog sources, overrides the default node selector for the pod serving the content in `spec.image`, if defined.
87
+
<10> Optional: For `grpc` type catalog sources, overrides the default priority class name for the pod serving the content in `spec.image`, if defined. Kubernetes provides `system-cluster-critical` and `system-node-critical` priority classes by default. Setting the field to empty (`""`) assigns the pod the default priority. Other priority classes can be defined manually.
88
+
<11> Optional: For `grpc` type catalog sources, overrides the default tolerations for the pod serving the content in `spec.image`, if defined.
89
+
<12> Automatically check for new versions at a given interval to stay up-to-date.
90
+
<13> Last observed state of the catalog connection. For example:
80
91
+
81
92
--
82
93
* `READY`: A connection is successfully established.
@@ -85,8 +96,8 @@ Set the `olm.catalogImageTemplate` annotation to your index image name and use o
85
96
--
86
97
+
87
98
See link:https://grpc.github.io/grpc/core/md_doc_connectivity-semantics-and-api.html[States of Connectivity] in the gRPC documentation for more details.
88
-
<11> Latest time the container registry storing the catalog image was polled to ensure the image is up-to-date.
89
-
<12> Status information for the catalog's Operator Registry service.
99
+
<14> Latest time the container registry storing the catalog image was polled to ensure the image is up-to-date.
100
+
<15> Status information for the catalog's Operator Registry service.
90
101
====
91
102
92
103
Referencing the `name` of a `CatalogSource` object in a subscription instructs OLM where to search to find a requested Operator:
= Overriding the priority class name for catalog source pods
15
+
16
+
.Prequisites
17
+
18
+
* `CatalogSource` object of source type `grpc` with `spec.image` defined
19
+
20
+
.Procedure
21
+
22
+
* Edit the `CatalogSource` object and add or modify the `spec.grpcPodConfig` section to include the following:
23
+
+
24
+
[source,yaml]
25
+
----
26
+
grpcPodConfig:
27
+
priorityClassName: <priority_class>
28
+
----
29
+
+
30
+
where `<priority_class>` is one of the following:
31
+
+
32
+
--
33
+
* One of the default priority classes provided by Kubernetes: `system-cluster-critical` or `system-node-critical`
34
+
* An empty set (`""`) to assign the default priority
35
+
* A pre-existing and custom defined priority class
36
+
--
37
+
38
+
[NOTE]
39
+
====
40
+
Previously, the only pod scheduling parameter that could be overriden was `priorityClassName`. This was done by adding the `operatorframework.io/priorityclass` annotation to the `CatalogSource` object. For example:
If a `CatalogSource` object defines both the annotation and `spec.grpcPodConfig.priorityClassName`, the annotation takes precedence over the configuration parameter.
When an Operator Lifecycle Manager (OLM) catalog source of source type `grpc` defines a `spec.image`, the Catalog Operator creates a pod that serves the defined image content. By default, this pod defines the following in its spec:
10
+
11
+
* Only the `kubernetes.io/os=linux` node selector
12
+
* No priority class name
13
+
* No tolerations
14
+
15
+
As an administrator, you can override these values by modifying fields in the `CatalogSource` object's optional `spec.grpcPodConfig` section.
16
+
17
+
[role="_additional-resources"]
18
+
.Additional resources
19
+
20
+
* xref:../../operators/understanding/olm/olm-understanding-olm.adoc#olm-catalogsource_olm-understanding-olm[OLM concepts and resources -> Catalog source]
* xref:../../nodes/scheduling/nodes-scheduler-taints-tolerations.adoc#nodes-scheduler-taints-tolerations-about_nodes-scheduler-taints-tolerations[Understanding taints and tolerations]
* xref:../../../operators/admin/olm-status.adoc#olm-cs-status-cli_olm-status[Viewing Operator catalog source status by using the CLI]
24
24
* xref:../../../authentication/understanding-and-managing-pod-security-admission.adoc#understanding-and-managing-pod-security-admission[Understanding and managing pod security admission]
25
+
* xref:../../../operators/admin/olm-cs-podsched.adoc#olm-cs-podsched[Catalog source pod scheduling]
0 commit comments