operator-framework / operator-lifecycle-manager

A management framework for extending Kubernetes with Operators
https://olm.operatorframework.io
Apache License 2.0
1.72k stars 545 forks source link

OLM does not invalidate cache when catalog source data changes #1753

Open joelanford opened 4 years ago

joelanford commented 4 years ago

Bug Report

What did you do?

We're seeing an issue where we:

The above all works fine.

Next, we:

What did you expect to see? Successful installation of the operator with tweaked install mode without changing anything else in the CSV from the initial installation.

What did you see instead? Under which circumstances? It seems OLM is caching package data and not invalidating it when the catalog source data changes.

Rather than seeing a successful installation, I pretty quickly see that the CSV immediately fails with an error that the operator group that exists does not support the CSV's supported install mode, but I know that they CSV supported install modes and the new operator group align and should work.

Environment

0.16.1

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:12:48Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:48:36Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

Possible Solution

Additional context Add any other context about the problem here.

dinhxuanvu commented 4 years ago

@benluddy FYI

joelanford commented 4 years ago

Also FYI @estroz and @jmrodri

We encountered this using the package manifests format, but we haven't tried to repeat the scenario with bundles. Based on my initial conversation with Vu, I'm not sure if this is will be an issue there or not.

joelanford commented 4 years ago

Workarounds:

  1. Use different name for catalog source
  2. Wait until catalog source status says the connection is READY.
  3. Delete all catalog-operator pods and let the deployment re-create them.
stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.