<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Operator Lifecycle Manager – Troubleshooting</title><link>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/</link><description>Recent content in Troubleshooting on Operator Lifecycle Manager</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 25 Mar 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: CatalogSource</title><link>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/catalogsource/</link><pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate><guid>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/catalogsource/</guid><description>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://github.com/mikefarah/yq">yq&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="how-to-debug-a-failing-catalogsource">How to debug a failing CatalogSource&lt;/h2>
&lt;p>The &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/concepts/olm-architecture#catalog-operator">Catalog operator&lt;/a> will constantly update the &lt;code>Status&lt;/code> of &lt;code>CatalogSources&lt;/code> to reflect its current state. You can check the &lt;code>Status&lt;/code> of your &lt;code>CatalogSource&lt;/code> with the following command:&lt;/p>
&lt;p>&lt;code>$ kubectl get catsrc my-catalog -n &amp;lt;namespace&amp;gt; -o yaml | yq e '.status' -&lt;/code>&lt;/p>
&lt;blockquote>
&lt;p>Note: It is possible that the &lt;code>Status&lt;/code> is missing, which suggests that the Catalog operator is encountering an issue when processing the &lt;code>CatalogSource&lt;/code> in a very early stage.&lt;/p>
&lt;/blockquote>
&lt;p>If the &lt;code>Status&lt;/code> block does not provide enough information, check the &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/olm-and-catalog-operators/#how-to-view-the-catalog-operator-logs">Catalog operator&amp;rsquo;s logs&lt;/a>.&lt;/p>
&lt;p>If you are still unable to identify the cause of the failure, check if a pod was created for the &lt;code>CatalogSource&lt;/code>. If a pod exists, review the pod&amp;rsquo;s yaml and logs:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ kubectl -n my-namespace get pods
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>NAME READY STATUS RESTARTS AGE
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>my-catalog-ltdlp 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 8m31s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ kubectl -n my-namespace get pod my-catalog-ltdlp -o yaml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>...
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ kubectl -n my-namespace logs my-catalog-ltdlp
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="im-not-sure-if-a-specific-version-of-an-operator-is-available-in-a-catalogsource">I&amp;rsquo;m not sure if a specific version of an operator is available in a CatalogSource&lt;/h3>
&lt;p>First verify that the &lt;code>CatalogSource&lt;/code> contains the operator that you want to install:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ kubectl -n my-namespace get packagemanifests
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>NAME CATALOG AGE
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>...
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>portworx My Catalog Source 14m
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>postgres-operator My Catalog Source 14m
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>postgresql My Catalog Source 14m
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>postgresql-operator-dev4devs-com My Catalog Source 14m
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>prometheus My Catalog Source 14m
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If the operator is present, check if the version you want is available:&lt;/p>
&lt;p>&lt;code>$ kubectl -n my-namespace get packagemanifests my-operator -o yaml&lt;/code>&lt;/p>
&lt;h3 id="my-catalogsource-cannot-pull-images-from-a-private-registry">My CatalogSource cannot pull images from a private registry&lt;/h3>
&lt;p>If you are attempting to pull images from a private registry, make sure to specify a secret key in the &lt;code>CatalogSource.Spec.Secrets&lt;/code> field.&lt;/p></description></item><item><title>Docs: Subscription</title><link>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/subscription/</link><pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate><guid>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/subscription/</guid><description>
&lt;div class="pageinfo pageinfo-primary">
&lt;p>This section assumes that you have a working &lt;code>CatalogSource&lt;/code>. Please see how to &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/catalogsource/">troubleshoot a CatalogSource&lt;/a> if you&amp;rsquo;re having trouble configuring a CatalogSource.&lt;/p>
&lt;/div>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://github.com/mikefarah/yq">yq&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="how-to-debug-a-failing-subscription">How to debug a failing Subscription&lt;/h3>
&lt;p>The Catalog operator will constantly update the &lt;code>Status&lt;/code> of &lt;code>Subscription&lt;/code> to reflect its current state. You can check the &lt;code>Status&lt;/code> of your &lt;code>Subscription&lt;/code> with the following command:&lt;/p>
&lt;p>&lt;code>$ kubectl get subscription &amp;lt;subscription-name&amp;gt; -n &amp;lt;namespace&amp;gt; -o yaml | yq e '.status' -&lt;/code>&lt;/p>
&lt;blockquote>
&lt;p>Note: It is possible that the &lt;code>Status&lt;/code> is missing, which suggests that the Catalog operator is encountering an issue when processing the &lt;code>Subscription&lt;/code> in a very early stage.&lt;/p>
&lt;/blockquote>
&lt;p>If the &lt;code>Status&lt;/code> block does not provide enough information, check the &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/olm-and-catalog-operators/#how-to-view-the-catalog-operator-logs">Catalog operator&amp;rsquo;s logs&lt;/a>.&lt;/p>
&lt;h3 id="a-subscription-in-namespace-x-cant-install-operators-from-a-catalogsource-in-namespace-y">A subscription in namespace X can&amp;rsquo;t install operators from a CatalogSource in namespace Y&lt;/h3>
&lt;p>&lt;code>Subscriptions&lt;/code> cannot install operators provided by &lt;code>CatalogSources&lt;/code> that are not in the same namespace unless the &lt;code>CatalogSource&lt;/code> is created in the &lt;code>olm&lt;/code> namespace.&lt;/p>
&lt;h3 id="a-subscription-fails-because-i-deleted-a-similar-subscription-and-left-the-csv-it-installed">A subscription fails because I deleted a similar subscription and left the CSV it installed&lt;/h3>
&lt;p>By creating a &lt;code>Subscription&lt;/code>, the user is &amp;ldquo;subscribing&amp;rdquo; to updates from a particular package and channel within a &lt;code>CatalogSource&lt;/code>. When a &lt;code>ClusterServiceVersion (CSV)&lt;/code> is created to fulfill the &lt;code>Subscription&lt;/code>, the &lt;code>Subscription&lt;/code> is updated so it is &amp;ldquo;associated&amp;rdquo; with that &lt;code>CSV&lt;/code>. &amp;ldquo;Associated&amp;rdquo; &lt;code>CSVs&lt;/code> do not need to appear in the solution set allowing the &lt;code>Subscription&lt;/code>&amp;rsquo;s&amp;rsquo; requirements to be met by &lt;code>CSVs&lt;/code> in the channel that are valid upgrades from the existing &lt;code>CSV&lt;/code>.&lt;/p>
&lt;p>When you delete a &lt;code>Subscription&lt;/code>, the &lt;code>CSV&lt;/code> is no longer &amp;ldquo;associated&amp;rdquo; with any &lt;code>Subscriptions&lt;/code>. &lt;code>CSVs&lt;/code> that are not &amp;ldquo;associated&amp;rdquo; with a &lt;code>Subscription&lt;/code> must appear in the solution set returned by the resolver. Historically, this allowed users to &amp;ldquo;pin&amp;rdquo; a specific version of the operator and cancel any upgrades.&lt;/p>
&lt;p>Once a &lt;code>CSV&lt;/code> is no longer &amp;ldquo;associated&amp;rdquo; with a &lt;code>Subscription&lt;/code>, creating a new &lt;code>Subscription&lt;/code> that subscribes to the same package and channel within a &lt;code>CatalogSource&lt;/code> will not &amp;ldquo;associate&amp;rdquo; the existing &lt;code>CSV&lt;/code> with the &lt;code>Subscription&lt;/code> because there is no guarantee that the package, channel, and &lt;code>CatalogSource&lt;/code> defined in the &lt;code>Subscription&lt;/code> are globally unique.&lt;/p>
&lt;p>Creating a new &lt;code>Subscription&lt;/code> for the existing &lt;code>CSV&lt;/code> causes the resolver to fail because of the following requirements:&lt;/p>
&lt;ul>
&lt;li>The &lt;code>Subscription&lt;/code> requires an &lt;code>CSV&lt;/code> that fulfills it.&lt;/li>
&lt;li>The existing &lt;code>CSV&lt;/code> must appear in the solution set (remember, it cannot fulfill the requirements of &lt;code>Subscriptions&lt;/code> it is not associated with).&lt;/li>
&lt;/ul>
&lt;p>This ultimately surfaces a resolution failure in the &lt;code>Subscription's status.Conditions&lt;/code> array:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>message: &lt;span style="color:#4e9a06">&amp;#39;constraints not satisfiable: @existing/namespace-foo/operator-foo.v1.0.0
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">and catalogSource-foo/namespace-foo/4.Y/operator-foo.v1.1.0
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">originate from package foo-operator, subscription subscription-foo
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">requires catalogSource-foo/namespace-foo/4.Y/operator-foo.v1.1.0,
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">subscription subscription-foo exists, clusterserviceversion
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">operator-foo.v1.0.0 exists and is not referenced by a subscription&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>reason: ConstraintsNotSatisfiable
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>status: &lt;span style="color:#4e9a06">&amp;#34;True&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>type: ResolutionFailed
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>There are two potential workarounds:&lt;/p>
&lt;ul>
&lt;li>If you want to upgrade the operator, you will need to delete the existing &lt;code>CSV&lt;/code>.&lt;/li>
&lt;li>If you do not want to upgrade the operator, you will need to delete the &lt;code>Subscription&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h3 id="why-does-a-single-failing-subscription-cause-all-subscriptions-in-a-namespace-to-fail">Why does a single failing subscription cause all subscriptions in a namespace to fail?&lt;/h3>
&lt;p>Each Subscription in a namespace acts as a part of a set of operators for the namespace - think of a Subscription as an entry in a python &lt;code>requirements.txt&lt;/code>. If OLM is unable to resolve part of the set, it knows that resolving the entire set will fail, so it will bail out of the installation of operators for that particular namespace. Subscriptions are separate objects but within a namespace they are all synced and resolved together.&lt;/p>
&lt;h3 id="subscription-fails-due-to-missing-apis">Subscription fails due to missing APIs&lt;/h3>
&lt;p>Newer versions of Kubernetes may deprecate and remove certain APIs that OLM supports. For example, the &lt;code>apiextensions.k8s.io/v1beta1&lt;/code> GroupVersion is no longer available on Kubernetes 1.22+ clusters. Operators that rely on v1beta1 CRDs will fail to install on 1.22+ clusters, since the v1beta API has been removed. See
&lt;a href="https://kubernetes.io/docs/reference/using-api/deprecation-guide/">the official Kubernetes deprecation guide&lt;/a> for the full list of resources that have been deprecated and removed by individual Kubernetes versions. These APIs will continue to be available on older versions of Kubernetes and OLM will continue to support them moving forward.&lt;/p>
&lt;p>In the case where a subscription is created to an operator that relies on missing APIs, for example a v1beta1 CRD, an error condition will be present on the subscription status with the following message:&lt;/p>
&lt;pre tabindex="0">&lt;code>api-server resource not found installing CustomResourceDefinition my-crd-name: GroupVersionKind apiextensions.k8s.io/v1beta1, Kind=CustomResourceDefinition not found on the cluster. This API may have been deprecated and removed, see https://kubernetes.io/docs/reference/using-api/deprecation-guide/ for more information.
&lt;/code>&lt;/pre>&lt;p>This error indicates that the API apiextensions.k8s.io/v1beta1, Kind=CustomResourceDefinition is not available on-cluster. It indicates this particular GVK is not present on the api-server, which will happen on Kubernetes 1.22+ with deprecated built-in types like v1beta1 CRDs or v1beta1 RBAC.&lt;/p>
&lt;p>This error can also arise when installing operator bundles with CustomResources that OLM supports, such as &lt;code>VerticalPodAutoscalers&lt;/code> and &lt;code>PrometheusRules&lt;/code>, but the relevant CustomResourceDefinition has not yet been installed. In this case, this error should eventually resolve itself provided the required CustomResourceDefinition gets installed on the cluster and is accepted by the api-server.&lt;/p>
&lt;h3 id="subscriptions-failing-due-to-unpacking-errors">Subscriptions failing due to unpacking errors&lt;/h3>
&lt;p>If a subscription that references an operator bundle fails to unpack successfully, the subscription fails with the following message:&lt;/p>
&lt;pre tabindex="0">&lt;code>bundle unpacking failed. Reason: DeadlineExceeded, and Message: Job was active longer than the specified deadline
&lt;/code>&lt;/pre>&lt;p>There are many potential causes for bundle unpacking errors. Some of the most common causes include:&lt;/p>
&lt;ul>
&lt;li>Unreachable Operator bundle image
&lt;ul>
&lt;li>Misconfigured network, such as an incorrectly configured proxy/firewall&lt;/li>
&lt;li>Missing operator bundle images from the reachable image registries&lt;/li>
&lt;li>Invalid or missing image registry credentials/secrets&lt;/li>
&lt;li>Image registry rate limits&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Resource limitations on the cluster
&lt;ul>
&lt;li>CPU or network limitations preventing operator bundle images from being pulled within the timeout (10 minutes)&lt;/li>
&lt;li>Inability to schedule pods for unpacking operator bundle images&lt;/li>
&lt;li>etcd performance issues&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>To resolve the error, address the underlying causes for the unpack failure. Next, delete any failing unpack jobs and their owner configMaps to force the subscription to retry unpacking the operator bundles.&lt;/p>
&lt;p>To enable automated cleanup and retry of failed unpack jobs in a namespace, set the &lt;code>operatorframework.io/bundle-unpack-min-retry-interval&lt;/code> annotation on the operatorGroup in the desired namespace. This annotation indicates the time after the last unpack failure when the unpack may be attempted again. Do not set this annotation to an interval shorter than &lt;code>5m&lt;/code> to avoid unnecessary load on the cluster.&lt;/p>
&lt;pre tabindex="0">&lt;code>kubectl annotate operatorgroup &amp;lt;OPERATOR_GROUP&amp;gt; operatorframework.io/bundle-unpack-min-retry-interval=10m
&lt;/code>&lt;/pre>&lt;p>This annotation does not enforce limits on the number of times an operator bundle may be unpacked on failure, preserving only 5 failing unpack attempts for inspection. Unless the underlying cause for the failure is addressed, this may cause OLM to attempt to unsuccessfully unpack the operator bundle indefinitely. Removing the annotation from the operatorGroup disables automated retries for failed unpacking jobs on that namespace.&lt;/p>
&lt;p>With older versions of OLM, an installPlan might be generated for the failing subscription. To refresh a failed subscription with an InstallPlan, you must perform the following steps:&lt;/p>
&lt;ol>
&lt;li>Back up the subscription.&lt;/li>
&lt;li>Delete the failing installPlan, CSV, and subscription.&lt;/li>
&lt;li>Delete the failing unpack job and its owner configMap.&lt;/li>
&lt;li>Reapply the subscription.&lt;/li>
&lt;/ol></description></item><item><title>Docs: ClusterServiceVersion</title><link>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/clusterserviceversion/</link><pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate><guid>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/clusterserviceversion/</guid><description>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://github.com/mikefarah/yq">yq&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="how-to-debug-a-failing-csv">How to debug a failing CSV&lt;/h3>
&lt;p>If the OLM operator encounters an unrecoverable error when attempting to install the operator, the &lt;code>CSV&lt;/code> will be placed in the &lt;code>failed&lt;/code> phase. The OLM operator will constantly update the &lt;code>Status&lt;/code> with useful information regarding the state of the &lt;code>CSV&lt;/code>. You can check the &lt;code>Status&lt;/code> of your &lt;code>CSV&lt;/code> with the following command:&lt;/p>
&lt;p>&lt;code>$ kubectl get csv prometheusoperator.0.32.0 -n &amp;lt;namespace&amp;gt; -o yaml | yq e '.status' -&lt;/code>&lt;/p>
&lt;blockquote>
&lt;p>Note: It is possible that the Status is missing, which suggests that the OLM operator is encountering an issue when processing the &lt;code>CSV&lt;/code> in a very early stage. You should respond by reviewing the logs of the OLM operator.&lt;/p>
&lt;/blockquote>
&lt;p>You should typically pay special attention to the information within the &lt;code>status.reason&lt;/code> and &lt;code>status.message&lt;/code> fields. Please look in the &lt;a href="#failed-csv-reasons">failed CSV reasons&lt;/a>&lt;/p>
&lt;p>If the &lt;code>Status&lt;/code> block does not provide enough information, check the &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/olm-and-catalog-operators/#how-to-view-the-olm-operator-logs">OLM operator&amp;rsquo;s logs&lt;/a>.&lt;/p>
&lt;h3 id="failed-csv-reasons">Failed CSV Reasons&lt;/h3>
&lt;h4 id="reason-nooperatorgroup">Reason: NoOperatorGroup&lt;/h4>
&lt;p>The &lt;code>CSV&lt;/code> failed to install because it has been deployed in a namespace that does not include an &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/concepts/crds/operatorgroup/">OperatorGroup&lt;/a>.&lt;/p>
&lt;h4 id="reason-unsupportedoperatorgroup">Reason: UnsupportedOperatorGroup&lt;/h4>
&lt;p>The &lt;code>CSV&lt;/code> is failing to install because it does not support the &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/concepts/crds/operatorgroup/">OperatorGroup&lt;/a> defined in the namespace.&lt;/p>
&lt;h3 id="failed-csv-messages">Failed CSV Messages&lt;/h3>
&lt;h4 id="messages-ending-with-field-is-immutable">Messages Ending with &amp;ldquo;field is immutable&amp;rdquo;&lt;/h4>
&lt;p>The &lt;code>CSV&lt;/code> is failing because its install strategy changes some immutable field of an existing &lt;code>Deployment&lt;/code>. This usually happens on upgrade, after an operator author publishes a new version of the operator containing such a change. In this case, the issue can be resolved by publishing a new version of the operator that uses a different &lt;code>Deployment&lt;/code> name, which will cause OLM to generate a completely new &lt;code>Deployment&lt;/code> instead of attempting to patch any existing one.&lt;/p></description></item><item><title>Docs: Debugging OLM and Catalog Operator</title><link>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/olm-and-catalog-operators/</link><pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate><guid>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/troubleshooting/olm-and-catalog-operators/</guid><description>
&lt;h3 id="how-to-enable-verbose-logging-on-the-olm-and-catalog-operators">How to enable verbose logging on the OLM and Catalog operators&lt;/h3>
&lt;p>Both the &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/concepts/olm-architecture">OLM and Catalog operators&lt;/a> have &lt;code>-debug&lt;/code> flags available that display much more useful information when diagnosing a problem. If necessary, add this flag to their deployments and perform the action that is showing undersired behavior.&lt;/p>
&lt;h3 id="how-to-view-the-catalog-operator-logs">How to view the Catalog operator logs&lt;/h3>
&lt;p>To view the Catalog Operator logs, use the following commands:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ kubectl -n olm get pods
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>NAME READY STATUS RESTARTS AGE
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>catalog-operator-5bdc79c56b-zbqbl 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 5m30s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>olm-operator-6999db5767-5r5zs 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 5m31s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>operatorhubio-catalog-ltdlp 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 5m28s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>packageserver-5c76df75bb-mq4qd 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 5m26s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ kubectl -n olm logs catalog-operator-5bdc79c56b-zbqbl
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="how-to-view-the-olm-operator-logs">How to view the OLM operator logs&lt;/h3>
&lt;p>To view the OLM Operator logs, use the following commands:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ kubectl -n olm get pods
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>NAME READY STATUS RESTARTS AGE
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>catalog-operator-5bdc79c56b-zbqbl 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 5m30s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>olm-operator-6999db5767-5r5zs 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 5m31s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>operatorhubio-catalog-ltdlp 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 5m28s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>packageserver-5c76df75bb-mq4qd 1/1 Running &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span> 5m26s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ kubectl -n olm logs olm-operator-6999db5767-5r5zs
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>