nginxinc / nginx-ingress-helm-operator

NGINX Ingress Operator for NGINX and NGINX Plus Ingress Controllers. Based on the Helm chart for NGINX Ingress Controller - https://github.com/nginxinc/helm-charts
Apache License 2.0
37 stars 23 forks source link

How to upgrade the operator on Openshift? #232

Closed llomgui closed 9 months ago

llomgui commented 9 months ago

Hello,

The documentation is not very clear about the path to update the operator on Openshift. According to this markdown , we need to apply CRD as a prerequisite.

What is the next step?

On operator page, we can see the latest version available (2.1.0) but it's impossible to upgrade to it.

Current version: 1.5.0 Update channel: alpha Update approval: Manual (Don't have any button to upgrade to the latest)

Thank you

vepatel commented 9 months ago

Hi @llomgui, can you please explain what you mean by impossible to upgrade to it., are their any logs which you can share as it'll help us understand the issue better. Thanks!

llomgui commented 9 months ago

Hello @vepatel,

There is no "seemless upgrade" step available on the operator, there is no button to update it. Is there any way to do it manually? How to update to ClusterServiceVersion v1.5.2 for example?

Thank you

vepatel commented 9 months ago

Hi @llomgui operator exists to make sure that you don't have to manually apply manifests, and it manages the NIC instances. Uninstalling the Operator does NOT uninstall NGINX Ingress Controller. You should be able to install newer versions without affecting NIC(s) just by clicking Install button in RedHat OpenShift UI

llomgui commented 9 months ago

@vepatel Thank you, it worked. I deleted the operator then re-installed it.

I had one error about IngressClass being a string instead of an object. Quick fixed adding name attribute.

Do I have to deal with CRD as indicated by the documentation?

vepatel commented 9 months ago

Hi @llomgui, our operator is helm based and unfortunately helm does not handle CRDs upgrades automatically so CRDs have to be applied manually as a pre-req. see https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#some-caveats-and-explanations

llomgui commented 9 months ago

Thank you for you help. 👍