operator-framework/oria-operator

Controllers should use server side apply to update RBAC

awgreene opened this issue · 0 comments

Goal: Utilize server side apply to avoid resourceVersion conflicts.

Background:
Many controllers commonly log the following issues

level=error msg="UpdateStatus - error while setting CatalogSource status" error="Operation cannot be fulfilled on catalogsources.operators.coreos.com \"foobar-catalog\": the object has been modified; please apply your changes to the latest version and try again" id=PHhWw source=foobar-catalog

This error is logged whenever:

  1. An operator "GET"s an object from the cache
  2. An outside force modifies the object on cluster
  3. The operator changes the object and makes an update call

Because the object has been changed between the time that operator retrieved and updated the object, the update call fails. A solution to this issue has been server side apply patch calls.

Acceptance Criteria:

  • Existing update calls are replaced with patches.