Updating projects for newer Operator SDK versions

OKD 4.13 supports Operator SDK 1.28.0. If you already have the 1.25.4 CLI installed on your workstation, you can update the CLI to 1.28.0 by installing the latest version.

However, to ensure your existing Operator projects maintain compatibility with Operator SDK 1.28.0, update steps are required for the associated breaking changes introduced since 1.25.4. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with 1.25.4.

Updating Ansible-based Operator projects for Operator SDK 1.28.0

The following procedure updates an existing Ansible-based Operator project for compatibility with 1.28.0.

Prerequisites

  • Operator SDK 1.28.0 installed

  • An Operator project created or maintained with Operator SDK 1.25.4

Procedure

  1. Find the ose-kube-rbac-proxy pull spec in the following files, and update the image tag to v4.13:

    • config/default/manager_auth_proxy_patch.yaml

    • bundle/manifests/memcached-operator.clusterserviceversion.yaml

    1. containers:
    2. - name: kube-rbac-proxy
    3. image: registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.13 (1)
    1Update the tag version from v4.12 to v4.13.
  2. Update your Makefile’s run target to the following:

    1. .PHONY: run
    2. ANSIBLE_ROLES_PATH?="$(shell pwd)/roles"
    3. run: ansible-operator ## Run against the configured Kubernetes cluster in ~/.kube/config
    4. $(ANSIBLE_OPERATOR) run
  3. To upgrade the kubernetes.core collection to v2.4.0, replace the following in your project’s requirements.yaml file:

    1. - name: kubernetes.core
    2. version: "2.3.1"

    with:

    1. - name: kubernetes.core
    2. version: "2.4.0"

Additional resources