diff --git a/Makefile b/Makefile index f0842162..21e6d175 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,11 @@ endif # PROJECT_VERSION defines the project version. # Update this value when you upgrade the version of your project. -PROJECT_VERSION ?= v1.2.0 +PROJECT_VERSION ?= v0.0.1 + +# AINIC_VERSIONS lists the supported AINIC firmware versions for this release (comma-separated). +# Used by update-docs-version to populate the compatibility matrix in docs/index.md. +AINIC_VERSIONS ?= 1.117.5-a-77,1.117.5-a-147 #################################### # Network Operator Image Build variables @@ -48,7 +52,7 @@ KMM_OPERATOR_IMG_NAME ?= $(DOCKER_REGISTRY)/kernel-module-management-operator # by default, helm charts version is same as project version # unless in the hourly build where we may put hourly build tag in the helm charts version HELM_CHARTS_VERSION ?= $(PROJECT_VERSION) -YAML_FILES=config/samples/amd.com_networkconfigs.yaml config/manifests/bases/amd-network-operator.clusterserviceversion.yaml example/networkconfig.yaml config/default/kustomization.yaml +YAML_FILES=bundle/manifests/amd-network-operator-node-metrics_rbac.authorization.k8s.io_v1_rolebinding.yaml bundle/manifests/amd-network-operator.clusterserviceversion.yaml bundle/manifests/amd-network-operator-node-labeller_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml bundle/manifests/amd-network-operator-node-metrics_monitoring.coreos.com_v1_servicemonitor.yaml config/samples/amd.com_networkconfigs.yaml config/manifests/bases/amd-network-operator.clusterserviceversion.yaml example/networkconfig.yaml config/default/kustomization.yaml CRD_YAML_FILES = networkconfig-crd.yaml K8S_KMM_CRD_YAML_FILES=module-crd.yaml nodemodulesconfig-crd.yaml OPENSHIFT_KMM_CRD_YAML_FILES=module-crd.yaml nodemodulesconfig-crd.yaml @@ -128,7 +132,7 @@ SHELL = /usr/bin/env bash -o pipefail DOCKER_GID := $(shell stat -c '%g' /var/run/docker.sock) USER_UID := $(shell id -u) USER_GID := $(shell id -g) -DOCKER_BUILDER_TAG := v1.4 +DOCKER_BUILDER_TAG := v1.5 DOCKER_BUILDER_IMAGE := $(DOCKER_REGISTRY)/network-operator-build:$(DOCKER_BUILDER_TAG) CONTAINER_WORKDIR := /network-operator BUILD_BASE_IMG ?= ubuntu:22.04 @@ -160,6 +164,12 @@ all: vendor generate manager manifests helm-k8s docker-build .PHONY: skip-vendor skip-vendor: generate manager manifests helm-k8s docker-build +.PHONY: release-prep +release-prep: update-version-in-ci update-docs-version helm-k8s bundle-build catalog ## Prepare release: bump versions in code, CI, docs, helm charts, and OLM bundle/catalog + @printf -- "---\n# Required by Auto Cherry Picker automation\n# Defines the list of branches into which the changes would need cherry-picking\ncherry_pick_branches:\n - main\n" > branch_policy.yml + @echo "" + @echo "Release prep complete for ${PROJECT_VERSION}." + ##@ General # The help target prints out all targets with their descriptions organized @@ -182,6 +192,7 @@ help: ## Display this help. .PHONY: update-registry update-registry: ## Update all image URLs based on the image variables # updating registry information in yaml files + sed -i -e 's|image:.*$$|image: ${IMG}|' bundle/manifests/amd-network-operator.clusterserviceversion.yaml sed -i -e 's|repository:.*$$|repository: ${IMAGE_TAG_BASE}|' \ hack/k8s-patch/metadata-patch/values.yaml \ hack/openshift-patch/metadata-patch/values.yaml @@ -189,7 +200,7 @@ update-registry: ## Update all image URLs based on the image variables -e 's|newName:.*$$|newName: ${IMAGE_TAG_BASE}|' \ config/manager-base/kustomization.yaml config/manager/kustomization.yaml \ hack/k8s-patch/metadata-patch/values.yaml helm-charts-k8s/values.yaml \ - hack/openshift-patch/metadata-patch/values.yaml \ + hack/openshift-patch/metadata-patch/values.yaml helm-charts-openshift/values.yaml \ example/networkconfig.yaml sed -i -e 's|tag:.*$$|tag: ${KMM_IMAGE_TAG}|' \ -e 's|repository:.*operator.*$$|repository: ${KMM_OPERATOR_IMG_NAME}|' \ @@ -212,6 +223,60 @@ update-version: ## Update the Project version in helm charts based on ${PROJECT_ sed -i 's|network-operator-utils:v[^ "]*|network-operator-utils:${PROJECT_VERSION}|' internal/controllers/upgrademgr.go internal/utils.go sed -i 's|k8s-network-device-plugin:v[^ "]*|k8s-network-device-plugin:${PROJECT_VERSION}|' internal/deviceplugin/deviceplugin.go sed -i 's|device-metrics-exporter:nic-v[^ "]*|device-metrics-exporter:nic-${PROJECT_VERSION}|' internal/metricsexporter/exporter.go + # updating image tags in OLM CSV base (flows into bundle via make bundle) + sed -i 's|k8s-network-device-plugin:v[^ "]*|k8s-network-device-plugin:${PROJECT_VERSION}|' config/manifests/bases/amd-network-operator.clusterserviceversion.yaml + sed -i 's|k8s-network-node-labeller:v[^ "]*|k8s-network-node-labeller:${PROJECT_VERSION}|' config/manifests/bases/amd-network-operator.clusterserviceversion.yaml + sed -i 's|device-metrics-exporter:nic-v[^ "]*|device-metrics-exporter:nic-${PROJECT_VERSION}|' config/manifests/bases/amd-network-operator.clusterserviceversion.yaml + # updating image tags in sample and example CRs + sed -i 's|k8s-network-device-plugin:v[^ "]*|k8s-network-device-plugin:${PROJECT_VERSION}|' config/samples/amd.com_networkconfigs.yaml + sed -i 's|k8s-network-node-labeller:v[^ "]*|k8s-network-node-labeller:${PROJECT_VERSION}|' config/samples/amd.com_networkconfigs.yaml + +DOCS_IMAGE_VERSION_FILES = \ + docs/installation/networkconfig.md \ + docs/installation/networkconfig-full.md \ + docs/device_plugin/deviceplugin.md \ + docs/metrics/exporter.md \ + docs/upgrades/componentupgrades.md \ + docs/_static/cluster-validation-job.yaml \ + example/networkconfig.yaml + +DOCS_HELM_VERSION_FILES = \ + docs/installation/kubernetes-helm.md \ + docs/upgrades/upgrade.md + +.PHONY: update-docs-version +update-docs-version: ## Update image tags, helm versions, and compat matrix in docs and examples + # updating image tags in docs and examples + sed -i 's|k8s-network-device-plugin:v[^ "`()]*|k8s-network-device-plugin:${PROJECT_VERSION}|' $(DOCS_IMAGE_VERSION_FILES) + sed -i 's|k8s-network-node-labeller:v[^ "`()]*|k8s-network-node-labeller:${PROJECT_VERSION}|' $(DOCS_IMAGE_VERSION_FILES) + sed -i 's|device-metrics-exporter:nic-v[^ "`()]*|device-metrics-exporter:nic-${PROJECT_VERSION}|' $(DOCS_IMAGE_VERSION_FILES) + sed -i 's|k8s-cni-plugins:v[^ "`()]*|k8s-cni-plugins:${PROJECT_VERSION}|' $(DOCS_IMAGE_VERSION_FILES) + sed -i 's|network-operator-utils:v[^ "`()]*|network-operator-utils:${PROJECT_VERSION}|' $(DOCS_IMAGE_VERSION_FILES) + # updating helm version references in docs + sed -i 's|--version=v[0-9][^ ]*|--version=${PROJECT_VERSION}|' $(DOCS_HELM_VERSION_FILES) + sed -i 's|image\.tag=v[0-9][^ ]*|image.tag=${PROJECT_VERSION}|' $(DOCS_HELM_VERSION_FILES) + sed -i '/controllerManager\.manager\.image\.tag/s|`"v[0-9][^"]*"`|`"${PROJECT_VERSION}"`|' $(DOCS_HELM_VERSION_FILES) + # updating network operator helm version in co-install guide (skip GPU operator commands) + sed -i '/network-operator-charts/,+5 s|--version=v[0-9][^ ]*|--version=${PROJECT_VERSION}|' docs/installation/kubernetes-helm-operators.md + # updating compatibility matrix in docs/index.md + @AINIC_FW=$$(echo '${AINIC_VERSIONS}' | sed 's/,/
/g'); \ + ROW=$$(printf "| %-16s | %-30s | %-14s |" "${PROJECT_VERSION}" "$${AINIC_FW}" "Pollara 400"); \ + sed -i '/^| ${PROJECT_VERSION} /d' docs/index.md; \ + LAST_LINE=$$(grep -n 'Pollara 400' docs/index.md | tail -1 | cut -d: -f1); \ + if [ -n "$$LAST_LINE" ]; then \ + sed -i "$${LAST_LINE} a $$ROW" docs/index.md; \ + else \ + echo "WARNING: Could not find compat matrix. Add manually: $$ROW"; \ + fi + +.PHONY: update-version-in-ci +update-version-in-ci: ## Update project version and helm chart references in CI job config (.job.yml) and asset-push script + sed -i -e 's|PROJECT_VERSION=v[^ ]*|PROJECT_VERSION=${PROJECT_VERSION}|' .job.yml + sed -i '0,/HELM_CHARTS_VERSION=/s|HELM_CHARTS_VERSION=[^ ]*|HELM_CHARTS_VERSION=$${RELEASE:-${PROJECT_VERSION}-dev}|' .job.yml + sed -i '0,/BUNDLE_VERSION=/s|BUNDLE_VERSION=[^ ]*|BUNDLE_VERSION=$${RELEASE:-${PROJECT_VERSION}-dev}|' .job.yml + sed -i 's|network-operator-helm-k8s-[^$$].*\.tgz|network-operator-helm-k8s-${HELM_CHARTS_VERSION}.tgz|' .job.yml + sed -i 's|network-operator-helm-openshift-.*\.tgz|network-operator-helm-openshift-${HELM_CHARTS_VERSION}.tgz|' .job.yml + sed -i 's|PROJECT_VERSION:-.*$$|PROJECT_VERSION:-${PROJECT_VERSION}\}|' asset-build/networkoperator-asset-push.sh .PHONY: manifests manifests: controller-gen update-registry update-version ## Generate ClusterRole and CustomResourceDefinition objects. @@ -296,6 +361,11 @@ lint: golangci-lint ## Run golangci-lint against code. fi $(GOLANGCI_LINT) run -v --timeout 5m0s +.PHONY: docs-lint +docs-lint: ## Run docs Markdown lint + spelling. + markdownlint-cli2 "**/*.md" --config docs/.markdownlint-cli2.yaml + pyspelling -c .spellcheck.yaml + ##@ Build manager: $(shell find -name "*.go") go.mod go.sum ## Build manager binary. @@ -448,6 +518,7 @@ bundle-build: operator-sdk manifests kustomize PKG=amd-network-operator \ SOURCE_DIR=$(dir $(realpath $(lastword $(MAKEFILE_LIST)))) \ KUBECTL_CMD=${KUBECTL_CMD} ./hack/generate-bundle + cp hack/device-plugin-configmap.yaml bundle/manifests/ ${OPERATOR_SDK} bundle validate ./bundle $(CONTAINER_ENGINE) build -f bundle.Dockerfile -t $(BUNDLE_IMG) . diff --git a/config/manifests/bases/amd-network-operator.clusterserviceversion.yaml b/config/manifests/bases/amd-network-operator.clusterserviceversion.yaml index 45e00374..58f65b0e 100644 --- a/config/manifests/bases/amd-network-operator.clusterserviceversion.yaml +++ b/config/manifests/bases/amd-network-operator.clusterserviceversion.yaml @@ -9,7 +9,7 @@ metadata: description: |- Operator responsible for deploying AMD Network kernel drivers, device plugin, node labeller and device metrics exporter For more information, visit [documentation](https://instinct.docs.amd.com/projects/network-operator/en/latest/) - devicePluginImage: docker.io/rocm/k8s-network-device-plugin:v0.0.1 + devicePluginImage: docker.io/rocm/k8s-network-device-plugin:v1.2.1 features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "false" features.operators.openshift.io/proxy-aware: "true" @@ -17,8 +17,8 @@ metadata: features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" - metricsExporterImage: docker.io/rocm/device-metrics-exporter:nic-v0.0.1 - nodelabellerImage: docker.io/rocm/k8s-network-node-labeller:v0.0.1 + metricsExporterImage: docker.io/rocm/device-metrics-exporter:nic-v1.2.1 + nodelabellerImage: docker.io/rocm/k8s-network-node-labeller:v1.2.1 operatorframework.io/cluster-monitoring: "true" operatorframework.io/suggested-namespace: openshift-amd-network operators.openshift.io/valid-subscription: '[]' diff --git a/config/samples/amd.com_networkconfigs.yaml b/config/samples/amd.com_networkconfigs.yaml index cc41cfe4..73439ba9 100644 --- a/config/samples/amd.com_networkconfigs.yaml +++ b/config/samples/amd.com_networkconfigs.yaml @@ -44,12 +44,12 @@ spec: devicePlugin: # Specify the device plugin image - # default value is rocm/k8s-network-device-plugin:v0.0.1 - devicePluginImage: rocm/k8s-network-device-plugin:v0.0.1 + # default value is rocm/k8s-network-device-plugin:v1.2.1 + devicePluginImage: rocm/k8s-network-device-plugin:v1.2.1 # Specify the node labeller image - # default value is rocm/k8s-network-node-labeller:v0.0.1 - nodeLabellerImage: rocm/k8s-network-node-labeller:v0.0.1 + # default value is rocm/k8s-network-node-labeller:v1.2.1 + nodeLabellerImage: rocm/k8s-network-node-labeller:v1.2.1 # Specifythe node to be managed by this NetworkConfig Custom Resource selector: diff --git a/docs/_static/cluster-validation-job.yaml b/docs/_static/cluster-validation-job.yaml index 0a79d7b1..6f978a98 100644 --- a/docs/_static/cluster-validation-job.yaml +++ b/docs/_static/cluster-validation-job.yaml @@ -32,7 +32,7 @@ data: emptyDir: {} initContainers: - name: wait-for-worker-pods - image: docker.io/rocm/network-operator-utils:v1.2.0 + image: docker.io/rocm/network-operator-utils:v1.2.1 imagePullPolicy: Always envFrom: - configMapRef: @@ -365,7 +365,7 @@ spec: args: ['-c', '/fluent-bit/etc/fluent-bit.conf'] containers: - name: submit-mpijob - image: docker.io/rocm/network-operator-utils:v1.2.0 + image: docker.io/rocm/network-operator-utils:v1.2.1 imagePullPolicy: Always command: ["/bin/bash", "-c"] envFrom: diff --git a/docs/device_plugin/deviceplugin.md b/docs/device_plugin/deviceplugin.md index 4a7c6d2a..1d971d09 100644 --- a/docs/device_plugin/deviceplugin.md +++ b/docs/device_plugin/deviceplugin.md @@ -16,14 +16,14 @@ spec: # Enable the Node Labeller component (default: true) enableNodeLabeller: true - # Specify the Node Labeller image (default: docker.io/rocm/k8s-network-node-labeller:v1.2.0) - nodeLabellerImage: "docker.io/rocm/k8s-network-node-labeller:v1.2.0" + # Specify the Node Labeller image (default: docker.io/rocm/k8s-network-node-labeller:v1.2.1) + nodeLabellerImage: "docker.io/rocm/k8s-network-node-labeller:v1.2.1" # Node labeller image pull policy nodeLabellerImagePullPolicy: Always - # Specify the Device Plugin image (default: docker.io/rocm/k8s-network-device-plugin:v1.2.0) - devicePluginImage: "docker.io/rocm/k8s-network-device-plugin:v1.2.0" + # Specify the Device Plugin image (default: docker.io/rocm/k8s-network-device-plugin:v1.2.1) + devicePluginImage: "docker.io/rocm/k8s-network-device-plugin:v1.2.1" # Device plugin image pull policy devicePluginImagePullPolicy: Always diff --git a/docs/index.md b/docs/index.md index 1f8c4e0c..ef1ee228 100644 --- a/docs/index.md +++ b/docs/index.md @@ -24,10 +24,11 @@ AMD Network Operator simplifies the use of AMD AINICs in Kubernetes environments Below is a list of operating systems and Kubernetes versions validated with the AMD Network Operator and Metrics Exporter. Additional versions will be added in future releases. -| Operating System | Kubernetes Versions | -| ---------------- | ------------------- | -| Ubuntu 22.04 LTS | 1.29 – 1.34 | -| Ubuntu 24.04 LTS | 1.29 – 1.34 | +| Operating System | Kubernetes | Red Hat OpenShift | +| ---------------- | ---------- | ----------------- | +| Ubuntu 22.04 LTS | 1.29–1.36 | | +| Ubuntu 24.04 LTS | 1.29–1.36 | | +| Red Hat CoreOS (RHCOS) | | 4.21 | ### Software Version Compatibility Matrix @@ -37,6 +38,7 @@ Additional versions will be added in future releases. | v1.0.1 | 1.117.1-a-63 | Pollara 400 | | v1.1.0 | 1.117.5-a-56 | Pollara 400 | | v1.2.0 | 1.117.5-a-56
1.117.5-a-77 | Pollara 400 | +| v1.2.1 | 1.117.5-a-77
1.117.5-a-147 | Pollara 400 | ## Prerequisites diff --git a/docs/installation/kubernetes-helm-operators.md b/docs/installation/kubernetes-helm-operators.md index bfb815f6..4b2761b6 100644 --- a/docs/installation/kubernetes-helm-operators.md +++ b/docs/installation/kubernetes-helm-operators.md @@ -180,7 +180,7 @@ helm install amd-network-operator rocm-network/network-operator-charts \ --create-namespace \ --set kmm.enabled=false \ --set node-feature-discovery.enabled=false \ - --version=v1.2.0 + --version=v1.2.1 ``` Then during this step only the network operator and multus CNI pods would be brought up in the new namespace `kube-amd-network`: diff --git a/docs/installation/kubernetes-helm.md b/docs/installation/kubernetes-helm.md index 8991ad47..22229570 100644 --- a/docs/installation/kubernetes-helm.md +++ b/docs/installation/kubernetes-helm.md @@ -111,7 +111,7 @@ Basic installation: helm install amd-network-operator rocm-network/network-operator-charts \ --namespace kube-amd-network \ --create-namespace \ - --version=v1.2.0 + --version=v1.2.1 ``` ```{note} @@ -143,7 +143,7 @@ helm show values rocm/network-operator-charts | Key | Type | Default | Description | | ----- | ------ | --------- | ------------- | | controllerManager.manager.image.repository | string | `"docker.io/rocm/network-operator"` | AMD Network operator controller manager image repository | -| controllerManager.manager.image.tag | string | `"v1.2.0"` | AMD Network operator controller manager image tag | +| controllerManager.manager.image.tag | string | `"v1.2.1"` | AMD Network operator controller manager image tag | | controllerManager.manager.imagePullPolicy | string | `"Always"` | Image pull policy for AMD Network operator controller manager pod | | controllerManager.manager.imagePullSecrets | string | `""` | Image pull secret name for pulling AMD Network operator controller manager image if registry needs credential to pull image | | controllerManager.manager.resources.limits.cpu | string | `"1000m"` | CPU limits for the controller manager. Consider increasing for large clusters | @@ -235,7 +235,7 @@ You can apply resource changes by updating your values.yaml file and upgrading t helm upgrade amd-network-operator rocm/network-operator-charts \ --debug \ --namespace kube-amd-network \ - --version=v1.2.0 + --version=v1.2.1 -f values.yaml ``` diff --git a/docs/installation/networkconfig-full.md b/docs/installation/networkconfig-full.md index 05667bf0..a39262f2 100644 --- a/docs/installation/networkconfig-full.md +++ b/docs/installation/networkconfig-full.md @@ -63,7 +63,7 @@ spec: gracePeriodSeconds: -2 # Device plugin and Node labeller config devicePlugin: - devicePluginImage: docker.io/rocm/k8s-network-device-plugin:v1.2.0 + devicePluginImage: docker.io/rocm/k8s-network-device-plugin:v1.2.1 devicePluginImagePullPolicy: "Always" devicePluginTolerations: - key: "example-key" @@ -75,7 +75,7 @@ spec: value: "example-value2" effect: "NoExecute" enableNodeLabeller: True - nodeLabellerImage: docker.io/rocm/k8s-network-node-labeller:v1.2.0 + nodeLabellerImage: docker.io/rocm/k8s-network-node-labeller:v1.2.1 nodeLabellerImagePullPolicy: "Always" nodeLabellerTolerations: - key: "example-key" @@ -95,7 +95,7 @@ spec: port: 5001 serviceType: "NodePort" nodePort: 32501 - image: docker.io/rocm/device-metrics-exporter:nic-v1.2.0 + image: docker.io/rocm/device-metrics-exporter:nic-v1.2.1 imagePullPolicy: "Always" imageRegistrySecret: name: my-secret @@ -129,7 +129,7 @@ spec: secondaryNetwork: cniPlugins: enable: True - image: docker.io/rocm/k8s-cni-plugins:v1.2.0 + image: docker.io/rocm/k8s-cni-plugins:v1.2.1 imagePullPolicy: "Always" imageRegistrySecret: name: my-secret @@ -147,7 +147,7 @@ spec: initContainerImage: busybox:1.36 utilsContainer: # -- network operator utility container image used for driver upgrade - image: docker.io/rocm/network-operator-utils:v1.2.0 + image: docker.io/rocm/network-operator-utils:v1.2.1 # -- utility container image pull policy imagePullPolicy: IfNotPresent # -- utility container image pull secret, e.g. {"name": "mySecretName"} diff --git a/docs/installation/networkconfig.md b/docs/installation/networkconfig.md index bf324e03..d423ab10 100644 --- a/docs/installation/networkconfig.md +++ b/docs/installation/networkconfig.md @@ -27,8 +27,8 @@ spec: # Device plugin and Node labeller config devicePlugin: enableNodeLabeller: True - nodeLabellerImage: docker.io/rocm/k8s-network-node-labeller:v1.2.0 - devicePluginImage: docker.io/rocm/k8s-network-device-plugin:v1.2.0 + nodeLabellerImage: docker.io/rocm/k8s-network-node-labeller:v1.2.1 + devicePluginImage: docker.io/rocm/k8s-network-device-plugin:v1.2.1 # Metrics exporter config metricsExporter: @@ -37,13 +37,13 @@ spec: serviceType: "NodePort" nodePort: 32501 hostNetwork: true - image: docker.io/rocm/device-metrics-exporter:nic-v1.2.0 + image: docker.io/rocm/device-metrics-exporter:nic-v1.2.1 # Secondary network config secondaryNetwork: cniPlugins: enable: True - image: docker.io/rocm/k8s-cni-plugins:v1.2.0 + image: docker.io/rocm/k8s-cni-plugins:v1.2.1 # Specify the node to be managed by this NetworkConfig Custom Resource selector: @@ -80,8 +80,8 @@ To check the full spec of `NetworkConfig` definition, run `kubectl get crds netw | Parameter | Description | Default | | --------- | ----------- | ------- | -| `devicePluginImage` | AMD Network device plugin image | `docker.io/rocm/k8s-network-device-plugin:v1.2.0` | -| `nodeLabellerImage` | Node labeller image | `docker.io/rocm/k8s-network-node-labeller:v1.2.0` | +| `devicePluginImage` | AMD Network device plugin image | `docker.io/rocm/k8s-network-device-plugin:v1.2.1` | +| `nodeLabellerImage` | Node labeller image | `docker.io/rocm/k8s-network-node-labeller:v1.2.1` | | `imageRegistrySecret.name` | Name of registry credentials secret
to pull device plugin / node labeller image | | | `enableNodeLabeller` | enable / disable node labeller | `true` | @@ -101,7 +101,7 @@ To check the full spec of `NetworkConfig` definition, run `kubectl get crds netw | Parameter | Description | Default | | --------- | ----------- | ------- | | `cniPlugins.enable` | Enable/disable CNI plugins | `false` | -| `cniPlugins.image` | CNI plugins image | `docker.io/rocm/cni-plugins:v1.2.0` | +| `cniPlugins.image` | CNI plugins image | `docker.io/rocm/k8s-cni-plugins:v1.2.1` | | `cniPlugins.imageRegistrySecret.name` | Name of registry credentials secret
to pull metrics exporter image | | #### `spec.selector` Parameters diff --git a/docs/metrics/exporter.md b/docs/metrics/exporter.md index 08a873a0..a665ee41 100644 --- a/docs/metrics/exporter.md +++ b/docs/metrics/exporter.md @@ -16,7 +16,7 @@ spec: enable: true # Specify the Metrics Exporter image - image: "docker.io/rocm/device-metrics-exporter:nic-v1.2.0" + image: "docker.io/rocm/device-metrics-exporter:nic-v1.2.1" # Image pull policy (default: IfNotPresent, or Always if tag is :latest) imagePullPolicy: "IfNotPresent" diff --git a/docs/upgrades/componentupgrades.md b/docs/upgrades/componentupgrades.md index 5981cca6..34353f4a 100644 --- a/docs/upgrades/componentupgrades.md +++ b/docs/upgrades/componentupgrades.md @@ -56,7 +56,7 @@ The current image the Device Plugin Daemonset is using can be checked by using ` ```yaml device-plugin: Container ID: containerd://b1aaa67ebdd87d4ef0f2a32b76b428068d24c28ced3e86c3c5caba39bb5689a4 - Image: rocm/k8s-network-device-plugin:v1.2.0 + Image: rocm/k8s-network-device-plugin:v1.2.1 ``` ### 3. Upgrade the Image of Device Plugin Daemonset @@ -71,7 +71,7 @@ Old CR: ```yaml devicePlugin: - devicePluginImage: rocm/k8s-network-device-plugin:v1.2.0 + devicePluginImage: rocm/k8s-network-device-plugin:v1.2.1 ``` Updated CR: @@ -109,7 +109,7 @@ Old CR: enable: True serviceType: "ClusterIP" port: 5001 - image: rocm/device-metrics-exporter:nic-v1.2.0 + image: rocm/device-metrics-exporter:nic-v1.2.1 ``` Updated CR: @@ -119,7 +119,7 @@ Updated CR: enable: True serviceType: "ClusterIP" port: 5001 - image: rocm/device-metrics-exporter:nic-v1.2.0 + image: rocm/device-metrics-exporter:nic-v1.2.1 upgradePolicy: upgradeStrategy: OnDelete ``` diff --git a/docs/upgrades/upgrade.md b/docs/upgrades/upgrade.md index c1c57c21..69c46db4 100644 --- a/docs/upgrades/upgrade.md +++ b/docs/upgrades/upgrade.md @@ -42,7 +42,7 @@ Upgrade the operator using the following command: ```bash helm upgrade amd-network-operator rocm/network-operator-charts \ -n kube-amd-network \ - --version=v1.2.0 \ + --version=v1.2.1 \ --recreate-pods \ --debug ``` @@ -54,10 +54,10 @@ helm upgrade amd-network-operator rocm/network-operator-charts \ # Perform helm upgrade helm upgrade amd-network-operator rocm/network-operator-charts \ -n kube-amd-network \ - --version=v1.2.0 \ + --version=v1.2.1 \ --debug \ --set controllerManager.manager.image.repository=docker.io/rocm/network-operator \ - --set controllerManager.manager.image.tag=v1.2.0 + --set controllerManager.manager.image.tag=v1.2.1 ``` ```{note} diff --git a/example/networkconfig.yaml b/example/networkconfig.yaml index abea4a42..5160ad6f 100644 --- a/example/networkconfig.yaml +++ b/example/networkconfig.yaml @@ -42,12 +42,12 @@ spec: enableNodeLabeller: True # node labeller image - # default value is rocm/k8s-network-node-labeller:v1.2.0 - nodeLabellerImage: docker.io/rocm/k8s-network-node-labeller:v1.2.0 + # default value is rocm/k8s-network-node-labeller:v1.2.1 + nodeLabellerImage: docker.io/rocm/k8s-network-node-labeller:v1.2.1 # Specify the device plugin image - # default value is rocm/k8s-network-device-plugin:v1.2.0 - devicePluginImage: docker.io/rocm/k8s-network-device-plugin:v1.2.0 + # default value is rocm/k8s-network-device-plugin:v1.2.1 + devicePluginImage: docker.io/rocm/k8s-network-device-plugin:v1.2.1 # Specify Device Plugin image pull policy # default value is IfNotPresent for valid tags, Always for no tag or "latest" tag @@ -77,8 +77,8 @@ spec: nodePort: 32501 # exporter image - # default value is docker.io/rocm/device-metrics-exporter:nic-v1.2.0 - image: docker.io/rocm/device-metrics-exporter:nic-v1.2.0 + # default value is docker.io/rocm/device-metrics-exporter:nic-v1.2.1 + image: docker.io/rocm/device-metrics-exporter:nic-v1.2.1 # image pull policy for metrics exporter # default value is IfNotPresent for valid tags, Always for no tag or "latest" tag @@ -101,7 +101,7 @@ spec: # CNI plugin configuration cniPlugins: enable: True - image: docker.io/rocm/k8s-cni-plugins:v1.2.0 + image: docker.io/rocm/k8s-cni-plugins:v1.2.1 imagePullPolicy: "Always" # image registry secret used to pull/push images imageRegistrySecret: @@ -112,7 +112,7 @@ spec: initContainerImage: busybox:1.36 utilsContainer: # -- network operator utility container image used for driver upgrade - image: docker.io/rocm/network-operator-utils:v1.2.0 + image: docker.io/rocm/network-operator-utils:v1.2.1 # -- utility container image pull policy imagePullPolicy: IfNotPresent # -- utility container image pull secret, e.g. {"name": "mySecretName"} diff --git a/internal/controllers/upgrademgr.go b/internal/controllers/upgrademgr.go index e2618e54..538fee0f 100644 --- a/internal/controllers/upgrademgr.go +++ b/internal/controllers/upgrademgr.go @@ -64,7 +64,7 @@ import ( ) const ( - defaultUtilsImage = "docker.io/rocm/network-operator-utils:v1.2.0" + defaultUtilsImage = "docker.io/rocm/network-operator-utils:v1.2.1" defaultOcUtilsImage = "docker.io/rocm/network-operator-utils:rhubi-latest" defaultSAName = "amd-network-operator-utils-container" driverUpgradeStateLabelKey = "operator.amd.com/network-driver-upgrade-state" diff --git a/internal/deviceplugin/deviceplugin.go b/internal/deviceplugin/deviceplugin.go index 78778d82..eeb9258e 100644 --- a/internal/deviceplugin/deviceplugin.go +++ b/internal/deviceplugin/deviceplugin.go @@ -30,7 +30,7 @@ import ( const ( defaultInitContainerImage = "busybox:1.36" - defaultDevicePluginImage = "docker.io/rocm/k8s-network-device-plugin:v1.2.0" + defaultDevicePluginImage = "docker.io/rocm/k8s-network-device-plugin:v1.2.1" defaultDevicePluginConfigMap = "amd-network-operator-device-plugin-config" devicePluginSAName = "amd-network-operator-device-plugin" DevicePluginName = "device-plugin" diff --git a/internal/metricsexporter/exporter.go b/internal/metricsexporter/exporter.go index 9bef57e6..675aa00f 100644 --- a/internal/metricsexporter/exporter.go +++ b/internal/metricsexporter/exporter.go @@ -34,7 +34,7 @@ const ( exporterSAName = "amd-network-operator-metrics-exporter" kubeRBACSAName = "amd-network-operator-metrics-exporter-rbac-proxy" StaticAuthSecretName = ExporterName + "-static-auth-config" - defaultMetricsExporterImage = "docker.io/rocm/device-metrics-exporter:nic-v1.2.0" + defaultMetricsExporterImage = "docker.io/rocm/device-metrics-exporter:nic-v1.2.1" defaultInitContainerImage = "busybox:1.36" svcLabel = "app.kubernetes.io/service" ) diff --git a/internal/nodelabeller/nodelabeller.go b/internal/nodelabeller/nodelabeller.go index efbd958a..b748eedd 100644 --- a/internal/nodelabeller/nodelabeller.go +++ b/internal/nodelabeller/nodelabeller.go @@ -28,7 +28,7 @@ import ( ) const ( - defaultNodeLabellerUbiImage = "docker.io/rocm/k8s-network-node-labeller:v1.2.0" + defaultNodeLabellerUbiImage = "docker.io/rocm/k8s-network-node-labeller:v1.2.1" defaultInitContainerImage = "busybox:1.36" defaultBlacklistFileName = "blacklist-ionic-netop.conf" nodeLabellerSAName = "amd-network-operator-node-labeller" diff --git a/internal/secondarynetwork/cniplugins.go b/internal/secondarynetwork/cniplugins.go index 3b9f7370..87917313 100644 --- a/internal/secondarynetwork/cniplugins.go +++ b/internal/secondarynetwork/cniplugins.go @@ -28,7 +28,7 @@ import ( ) const ( - defaultCNIPluginsImage = "docker.io/rocm/k8s-cni-plugins:v1.2.0" + defaultCNIPluginsImage = "docker.io/rocm/k8s-cni-plugins:v1.2.1" CNIPluginsName = "cni-plugins" cniPluginsSAName = "amd-network-operator-cni-plugins" ) diff --git a/internal/utils.go b/internal/utils.go index 870c244d..aa139da9 100644 --- a/internal/utils.go +++ b/internal/utils.go @@ -40,7 +40,7 @@ const ( ResourceNamingStrategyFlag = "resource_naming_strategy" SingleStrategy = "single" MixedStrategy = "mixed" - DefaultUtilsImage = "docker.io/rocm/network-operator-utils:v1.2.0" + DefaultUtilsImage = "docker.io/rocm/network-operator-utils:v1.2.1" // worker pod related constants KindNetworkConfig = "NetworkConfig"