From 0a89385e4e8f65d88666ba626bf78ef14cefe0ad Mon Sep 17 00:00:00 2001 From: Michael Ryan Peter Date: Fri, 17 Jun 2022 17:24:33 -0400 Subject: [PATCH] OSDOCS-3746 OSDK 1.22 project migration --- _topic_maps/_topic_map.yml | 10 +- modules/osdk-common-prereqs.adoc | 6 +- modules/osdk-updating-projects.adoc | 353 ++++++++++++++++++ .../osdk-ansible-updating-projects.adoc | 31 ++ .../golang/osdk-golang-updating-projects.adoc | 31 ++ .../helm/osdk-helm-updating-projects.adoc | 31 ++ .../osdk-hybrid-helm-updating-projects.adoc | 31 ++ .../operator_sdk/osdk-upgrading-projects.adoc | 30 -- 8 files changed, 488 insertions(+), 35 deletions(-) create mode 100644 modules/osdk-updating-projects.adoc create mode 100644 operators/operator_sdk/ansible/osdk-ansible-updating-projects.adoc create mode 100644 operators/operator_sdk/golang/osdk-golang-updating-projects.adoc create mode 100644 operators/operator_sdk/helm/osdk-helm-updating-projects.adoc create mode 100644 operators/operator_sdk/helm/osdk-hybrid-helm-updating-projects.adoc delete mode 100644 operators/operator_sdk/osdk-upgrading-projects.adoc diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 481e9c1f7f..528f2ea292 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -1468,8 +1468,6 @@ Topics: File: osdk-about - Name: Installing the Operator SDK CLI File: osdk-installing-cli - - Name: Upgrading projects for newer Operator SDK versions - File: osdk-upgrading-projects - Name: Go-based Operators Dir: golang Topics: @@ -1479,6 +1477,8 @@ Topics: File: osdk-golang-tutorial - Name: Project layout File: osdk-golang-project-layout + - Name: Updating Go-based projects + File: osdk-golang-updating-projects - Name: Ansible-based Operators Dir: ansible Topics: @@ -1488,6 +1488,8 @@ Topics: File: osdk-ansible-tutorial - Name: Project layout File: osdk-ansible-project-layout + - Name: Updating Ansible-based projects + File: osdk-ansible-updating-projects - Name: Ansible support File: osdk-ansible-support - Name: Kubernetes Collection for Ansible @@ -1505,10 +1507,14 @@ Topics: File: osdk-helm-tutorial - Name: Project layout File: osdk-helm-project-layout + - Name: Updating Helm-based projects + File: osdk-helm-updating-projects - Name: Helm support File: osdk-helm-support - Name: Hybrid Helm Operator File: osdk-hybrid-helm + - Name: Updating Hybrid Helm-based projects + File: osdk-hybrid-helm-updating-projects - Name: Java-based Operators Dir: java Topics: diff --git a/modules/osdk-common-prereqs.adoc b/modules/osdk-common-prereqs.adoc index dc748fbd6a..f3e8e3a90e 100644 --- a/modules/osdk-common-prereqs.adoc +++ b/modules/osdk-common-prereqs.adoc @@ -36,14 +36,14 @@ endif::[] - xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[Operator SDK CLI installed] - xref:../../../cli_reference/openshift_cli/getting-started-cli.adoc#getting-started-cli[OpenShift CLI (`oc`) v{product-version}+ installed] ifdef::golang[] -- link:https://golang.org/dl/[Go] v1.16+ -- link:https://www.mercurial-scm.org/downloads[Mercurial] v3.9+ +- link:https://golang.org/dl/[Go] v1.18+ endif::[] ifdef::ansible[] - link:https://docs.ansible.com/ansible/2.9/index.html[Ansible] v2.9.0 - link:https://ansible-runner.readthedocs.io/en/latest/install.html[Ansible Runner] v2.0.2+ - link:https://github.com/ansible/ansible-runner-http[Ansible Runner HTTP Event Emitter plug-in] v1.0.0+ -- link:https://pypi.org/project/openshift/[OpenShift Python client] v0.11.2+ +- link:https://www.python.org/downloads/[Python] 3.8.6+ +- link:https://pypi.org/project/openshift/[OpenShift Python client] v0.12.0+ endif::[] ifdef::java[] - link:https://java.com/en/download/help/download_options.html[Java] v11+ diff --git a/modules/osdk-updating-projects.adoc b/modules/osdk-updating-projects.adoc new file mode 100644 index 0000000000..9c1c5eb9b7 --- /dev/null +++ b/modules/osdk-updating-projects.adoc @@ -0,0 +1,353 @@ +// Module included in the following assemblies: +// +// * operators/operator_sdk/golang/osdk-golang-updating-projects.adoc +// * operators/operator_sdk/ansible/osdk-ansible-updating-projects.adoc +// * operators/operator_sdk/helm/osdk-helm-updating-projects.adoc +// * operators/operator_sdk/helm/osdk-hybrid-helm-updating-projects.adoc + +ifeval::["{context}" == "osdk-golang-updating-projects"] +:golang: +:type: Go +endif::[] +ifeval::["{context}" == "osdk-ansible-updating-projects"] +:ansible: +:type: Ansible +endif::[] +ifeval::["{context}" == "osdk-helm-updating-projects"] +:helm: +:type: Helm +endif::[] +ifeval::["{context}" == "osdk-hybrid-helm-updating-projects"] +:hybrid: +:type: Hybrid Helm +endif::[] + +:osdk_ver: 1.22.0 +:osdk_ver_n1: 1.16.0 + +:_content-type: PROCEDURE +[id="osdk-upgrading-projects_{context}"] += Updating {type}-based Operator projects for Operator SDK {osdk_ver} + +The following procedure updates an existing {type}-based Operator project for compatibility with {osdk_ver}. + +.Prerequisites + +* Operator SDK {osdk_ver} installed. +* An Operator project created or maintained with Operator SDK {osdk_ver_n1}. + +.Procedure + +. Make the following changes to the `config/default/manager_auth_proxy_patch.yaml` file: ++ +[source,yaml] +---- +... +spec: + template: + spec: + containers: + - name: kube-rbac-proxy + image: registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.11 <1> + args: + - "--secure-listen-address=0.0.0.0:8443" + - "--upstream=http://127.0.0.1:8080/" + - "--logtostderr=true" + - "--v=0" <2> +... +resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 5m + memory: 64Mi <3> +---- +<1> Update the tag version from `v4.10` to `v4.11`. +<2> Reduce the debugging log level from `--v=10` to `--v=0`. +<3> Add resource requests and limits. + +. Make the following changes to your `Makefile`: + +.. Enable support for image digests by adding the following environment variables to your `Makefile`: ++ +.Old `Makefile` +[source,terminal] +---- +BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION) +... +---- ++ +.New `Makefile` +[source,terminal] +---- +BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION) + +# BUNDLE_GEN_FLAGS are the flags passed to the operator-sdk generate bundle command +BUNDLE_GEN_FLAGS ?= -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS) + +# USE_IMAGE_DIGESTS defines if images are resolved via tags or digests +# You can enable this value if you would like to use SHA Based Digests +# To enable set flag to true +USE_IMAGE_DIGESTS ?= false +ifeq ($(USE_IMAGE_DIGESTS), true) + BUNDLE_GEN_FLAGS += --use-image-digests +endif +---- + +.. Edit your `Makefile` to replace the bundle target with the `BUNDLE_GEN_FLAGS` environment variable: ++ +.Old `Makefile` +[source,terminal] +---- +$(KUSTOMIZE) build config/manifests | operator-sdk generate bundle -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS) +---- ++ +.New `Makefile` +[source,terminal] +---- +$(KUSTOMIZE) build config/manifests | operator-sdk generate bundle $(BUNDLE_GEN_FLAGS) +---- + +.. Edit your `Makefile` to update `opm` to version 1.23.0: ++ +[source,terminal] +---- +.PHONY: opm +OPM = ./bin/opm +opm: ## Download opm locally if necessary. +ifeq (,$(wildcard $(OPM))) +ifeq (,$(shell which opm 2>/dev/null)) + @{ \ + set -e ;\ + mkdir -p $(dir $(OPM)) ;\ + OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ + curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.23.0/$${OS}-$${ARCH}-opm ;\ <1> + chmod +x $(OPM) ;\ + } +else +OPM = $(shell which opm) +endif +endif +---- +<1> Replace `v1.19.1` with `v1.23.0`. + +ifdef::golang[] +.. Edit your `Makefile` to replace the `go get` targets with `go install` targets: ++ +.Old `Makefile` +[source,terminal] +---- +CONTROLLER_GEN = $(shell pwd)/bin/controller-gen +.PHONY: controller-gen +controller-gen: ## Download controller-gen locally if necessary. + $(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0) + +KUSTOMIZE = $(shell pwd)/bin/kustomize +.PHONY: kustomize +kustomize: ## Download kustomize locally if necessary. + $(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v3@v3.8.7) + +ENVTEST = $(shell pwd)/bin/setup-envtest +.PHONY: envtest +envtest: ## Download envtest-setup locally if necessary. + $(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@latest) + +# go-get-tool will 'go get' any package $2 and install it to $1. +PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST)))) +define go-get-tool +@[ -f $(1) ] || { \ +set -e ;\ +TMP_DIR=$$(mktemp -d) ;\ +cd $$TMP_DIR ;\ +go mod init tmp ;\ +echo "Downloading $(2)" ;\ +GOBIN=$(PROJECT_DIR)/bin go get $(2) ;\ +rm -rf $$TMP_DIR ;\ +} +endef +---- ++ +.New `Makefile` +[source,terminal] +---- +##@ Build Dependencies + +## Location to install dependencies to +LOCALBIN ?= $(shell pwd)/bin +$(LOCALBIN): + mkdir -p $(LOCALBIN) + +## Tool Binaries +KUSTOMIZE ?= $(LOCALBIN)/kustomize +CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen +ENVTEST ?= $(LOCALBIN)/setup-envtest + +## Tool Versions +KUSTOMIZE_VERSION ?= v3.8.7 +CONTROLLER_TOOLS_VERSION ?= v0.8.0 + +KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" +.PHONY: kustomize +kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. +$(KUSTOMIZE): $(LOCALBIN) + curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN) + +.PHONY: controller-gen +controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. +$(CONTROLLER_GEN): $(LOCALBIN) + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + +.PHONY: envtest +envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. +$(ENVTEST): $(LOCALBIN) + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest +---- +endif::[] + +ifdef::golang,hybrid[] +.. Update `ENVTEST_K8S_VERSION` and `controller-gen` fields in your `Makefile` to support Kubernetes 1.24: ++ +[source,terminal] +---- +... +ENVTEST_K8S_VERSION = 1.24 <1> +... +sigs.k8s.io/controller-tools/cmd/controller-gen@v0.9.0 <2> +---- +<1> Update version `1.22` to `1.24`. +<2> Update version `0.7.0` to `0.9.0`. +endif::[] + +.. Apply the changes to your `Makefile` and rebuild your Operator by entering the following command: ++ +[source,terminal] +---- +$ make +---- + +ifdef::golang,hybrid[] +. Make the following changes to the `go.mod` file to update Go and its dependencies: ++ +[source,golang] +---- +go 1.18 <1> + +require ( + github.com/onsi/ginkgo v1.16.5 <2> + github.com/onsi/gomega v1.18.1 <3> + k8s.io/api v0.24.0 <4> + k8s.io/apimachinery v0.24.0 <4> + k8s.io/client-go v0.24.0 <4> + sigs.k8s.io/controller-runtime v0.12.1 <5> +) +---- +<1> Update version `1.16` to `1.18`. +<2> Update version `v1.16.4` to `v1.16.5`. +<3> Update version `v1.15.0` to `v1.18.1`. +<4> Update version `v0.22.1` to `v0.24.0`. +<5> Update version `v0.10.0` to `v0.12.1`. +endif::golang,hybrid[] + +ifdef::hybrid[] +. Edit your `go.mod` file to update the Helm Operator plug-ins: ++ +[source,golang] +---- +github.com/operator-framework/helm-operator-plugins v0.0.11 <1> +---- +<1> Update version `v0.0.8` to `v0.0.11`. +endif::[] + +ifdef::golang,hybrid[] +. Download and clean up the dependencies by entering the following command: ++ +[source,terminal] +---- +$ go mod tidy +---- +endif::[] + +ifdef::golang[] +. If you use the `api/webhook_suitetest.go` and `controllers/suite_test.go` suite test files, make the following changes: ++ +.Old suite test file +[source,golang] +---- +cfg, err := testEnv.Start() +---- ++ +.New suite test file +[source,golang] +---- +var err error +// cfg is defined in this file globally. +cfg, err = testEnv.Start() +---- + +. If you use the Kubernetes declarative plug-in, update your Dockerfile with the following changes: + +.. Add the following changes below the line that begins `COPY controllers/ controllers/`: ++ +[source,terminal] +---- +# https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/blob/master/docs/addon/walkthrough/README.md#adding-a-manifest +# Stage channels and make readable +COPY channels/ /channels/ +RUN chmod -R a+rx /channels/ +---- + +.. Add the following changes below the line that begins `COPY --from=builder /workspace/manager .`: ++ +[source,terminal] +---- +# copy channels +COPY --from=builder /channels /channels +---- +endif::[] + +ifdef::ansible[] +. Update your `requirements.yml` file as shown in the following example: ++ +[source,yaml] +---- +collections: + - name: community.kubernetes + version: "2.0.1" <1> + - name: operator_sdk.util + version: "0.4.0" <2> + - name: kubernetes.core + version: "2.3.1" <3> + - name: cloud.common <4> + version: "2.1.1" +---- +<1> Update version `1.2.1` to `2.0.1`. +<2> Update version `0.3.1` to `0.4.0`. +<3> Update version `2.2.0` to `2.3.1`. +<4> Add support for the Operator Ansible SDK by adding the `cloud.common` collection. ++ +[IMPORTANT] +==== +As of version 2.0.0, the `community.kubernetes` collection was renamed to `kubernetes.core`. The `community.kubernetes` collection has been replaced by deprecated redirects to `kubernetes.core`. If you use fully qualified collection names (FQCNs) that begin with `community.kubernetes`, you must update the FQCNs to use `kubernetes.core`. +==== +endif::[] + +:!osdk_ver: +:!osdk_ver_n1: + +ifeval::["{context}" == "osdk-golang-updating-projects"] +:!golang: +:!type: +endif::[] +ifeval::["{context}" == "osdk-ansible-updating-projects"] +:!ansible: +:!type: +endif::[] +ifeval::["{context}" == "osdk-helm-updating-projects"] +:!type: +:!helm: +endif::[] +ifeval::["{context}" == "osdk-hybrid-helm-updating-projects"] +:!hybrid: +:!type: +endif::[] diff --git a/operators/operator_sdk/ansible/osdk-ansible-updating-projects.adoc b/operators/operator_sdk/ansible/osdk-ansible-updating-projects.adoc new file mode 100644 index 0000000000..5257939b0b --- /dev/null +++ b/operators/operator_sdk/ansible/osdk-ansible-updating-projects.adoc @@ -0,0 +1,31 @@ +:_content-type: ASSEMBLY +[id="osdk-ansible-updating-projects"] += Updating projects for newer Operator SDK versions +include::_attributes/common-attributes.adoc[] +:context: osdk-ansible-updating-projects + +:osdk_ver: 1.22.0 +:osdk_ver_n1: 1.16.0 +:product-version-n1: 4.10 + +toc::[] + +{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version]. + +However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}. + +include::modules/osdk-updating-projects.adoc[leveloffset=+1] + +[id="additional-resources_osdk-ansible-upgrading-projects"] +[role="_additional-resources"] +== Additional resources + +* xref:../../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html-single/operators/index#osdk-upgrading-v1101-to-v1160_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.16.0] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.9/html/operators/developing-operators#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html/operators/developing-operators#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0] + + +:!osdk_ver: +:!osdk_ver_n1: +:!product-version-n1: diff --git a/operators/operator_sdk/golang/osdk-golang-updating-projects.adoc b/operators/operator_sdk/golang/osdk-golang-updating-projects.adoc new file mode 100644 index 0000000000..16f2d1f806 --- /dev/null +++ b/operators/operator_sdk/golang/osdk-golang-updating-projects.adoc @@ -0,0 +1,31 @@ +:_content-type: ASSEMBLY +[id="osdk-golang-updating-projects"] += Updating Go-based Operator projects for newer Operator SDK versions +include::_attributes/common-attributes.adoc[] +:context: osdk-golang-updating-projects + +:osdk_ver: 1.22.0 +:osdk_ver_n1: 1.16.0 +:product-version-n1: 4.10 + +toc::[] + +{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version]. + +However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}. + +include::modules/osdk-updating-projects.adoc[leveloffset=+1] + +[id="additional-resources_osdk-upgrading-projects-golang"] +[role="_additional-resources"] +== Additional resources + +* xref:../../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html-single/operators/index#osdk-upgrading-v1101-to-v1160_osdk-upgrading-projects[Upgrading projects for Operator SDK 1.16.0] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.9/html/operators/developing-operators#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html/operators/developing-operators#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0] + + +:!osdk_ver: +:!osdk_ver_n1: +:!product-version-n1: diff --git a/operators/operator_sdk/helm/osdk-helm-updating-projects.adoc b/operators/operator_sdk/helm/osdk-helm-updating-projects.adoc new file mode 100644 index 0000000000..a2e0b6fde9 --- /dev/null +++ b/operators/operator_sdk/helm/osdk-helm-updating-projects.adoc @@ -0,0 +1,31 @@ +:_content-type: ASSEMBLY +[id="osdk-helm-updating-projects"] += Updating Helm-based projects for newer Operator SDK versions +include::_attributes/common-attributes.adoc[] +:context: osdk-helm-updating-projects + +:osdk_ver: 1.22.0 +:osdk_ver_n1: 1.16.0 +:product-version-n1: 4.10 + +toc::[] + +{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version]. + +However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}. + +include::modules/osdk-updating-projects.adoc[leveloffset=+1] + +[id="additional-resources_osdk-helm-upgrading-projects"] +[role="_additional-resources"] +== Additional resources + +* xref:../../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html-single/operators/index#osdk-upgrading-v1101-to-v1160_osdk-upgrading-projects[Upgrading projects for Operator SDK 1.16.0] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.9/html/operators/developing-operators#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html/operators/developing-operators#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0] + + +:!osdk_ver: +:!osdk_ver_n1: +:!product-version-n1: diff --git a/operators/operator_sdk/helm/osdk-hybrid-helm-updating-projects.adoc b/operators/operator_sdk/helm/osdk-hybrid-helm-updating-projects.adoc new file mode 100644 index 0000000000..ce31cfc9f2 --- /dev/null +++ b/operators/operator_sdk/helm/osdk-hybrid-helm-updating-projects.adoc @@ -0,0 +1,31 @@ +:_content-type: ASSEMBLY +[id="osdk-hybrid-helm-updating-projects"] += Updating Hybrid Helm-based projects for newer Operator SDK versions +include::_attributes/common-attributes.adoc[] +:context: osdk-hybrid-helm-updating-projects + +:osdk_ver: 1.22.0 +:osdk_ver_n1: 1.16.0 +:product-version-n1: 4.10 + +toc::[] + +{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version]. + +However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}. + +include::modules/osdk-updating-projects.adoc[leveloffset=+1] + +[id="additional-resources_osdk-hybrid-helm-upgrading-projects"] +[role="_additional-resources"] +== Additional resources + +* xref:../../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html-single/operators/index#osdk-upgrading-v1101-to-v1160_osdk-upgrading-projects[Upgrading projects for Operator SDK 1.16.0] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.9/html/operators/developing-operators#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1] +* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html/operators/developing-operators#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0] + + +:!osdk_ver: +:!osdk_ver_n1: +:!product-version-n1: diff --git a/operators/operator_sdk/osdk-upgrading-projects.adoc b/operators/operator_sdk/osdk-upgrading-projects.adoc deleted file mode 100644 index 2d1f480286..0000000000 --- a/operators/operator_sdk/osdk-upgrading-projects.adoc +++ /dev/null @@ -1,30 +0,0 @@ -:_content-type: ASSEMBLY -[id="osdk-upgrading-projects"] -= Updating projects for newer Operator SDK versions -include::_attributes/common-attributes.adoc[] -:context: osdk-upgrading-projects - -:osdk_ver: v1.16.0 -:osdk_ver_n1: v1.10.1 -:product-version-n1: 4.9 - -toc::[] - -{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version]. - -However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}. - -include::modules/osdk-updating-v1101-to-v1160.adoc[leveloffset=+1] - -[id="additional-resources_osdk-upgrading-projects"] -[role="_additional-resources"] -== Additional resources - -* xref:../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format] -* link:https://docs.openshift.com/container-platform/4.9/operators/operator_sdk/osdk-upgrading-projects.html#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1] -* link:https://docs.openshift.com/container-platform/4.8/operators/operator_sdk/osdk-upgrading-projects.html#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0] -//Consider updating this during the 4.10 to 4.11 version scrub. - -:!osdk_ver: -:!osdk_ver_n1: -:!product-version-n1: