From 3b2f798870ae24e6e31df721316f04bdb843da5d Mon Sep 17 00:00:00 2001 From: Rodrigo Valin Date: Mon, 15 Nov 2021 16:39:53 +0000 Subject: [PATCH 1/3] Release MongoDB Kubernetes Operator v0.7.2 --- config/manager/manager.yaml | 2 +- deploy/openshift/operator_openshift.yaml | 2 +- docs/RELEASE_NOTES.md | 17 +++------ docs/how-to-release.md | 2 + helm-charts | 2 +- release.json | 2 +- scripts/ci/update_release.py | 47 ++++++++++++++++++++---- 7 files changed, 51 insertions(+), 23 deletions(-) diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 6a43ad3be..d55db68d7 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -54,7 +54,7 @@ spec: value: mongo - name: MONGODB_REPO_URL value: docker.io - image: quay.io/mongodb/mongodb-kubernetes-operator:0.7.1 + image: quay.io/mongodb/mongodb-kubernetes-operator:0.7.2 imagePullPolicy: Always name: mongodb-kubernetes-operator resources: diff --git a/deploy/openshift/operator_openshift.yaml b/deploy/openshift/operator_openshift.yaml index 3805ad64f..a82fd68d9 100644 --- a/deploy/openshift/operator_openshift.yaml +++ b/deploy/openshift/operator_openshift.yaml @@ -56,7 +56,7 @@ spec: value: mongo - name: MONGODB_REPO_URL value: docker.io - image: quay.io/mongodb/mongodb-kubernetes-operator:0.7.1 + image: quay.io/mongodb/mongodb-kubernetes-operator:0.7.2 imagePullPolicy: Always name: mongodb-kubernetes-operator resources: diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index b78216d03..640123540 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -1,23 +1,18 @@ -# MongoDB Kubernetes Operator 0.7.1 +# MongoDB Kubernetes Operator 0.7.2 ## Kubernetes Operator -- Changes - - MongoDB database of the statefulSet is managed using distinct Role, ServiceAccount and RoleBinding. - - TLS Secret can also contain a single "tls.pem" entry, containing the concatenation of the certificate and key - - If a TLS secret contains all of "tls.key", "tls.crt" and "tls.pem" entries, the operator will raise an error if the "tls.pem" one is not equal to the concatenation of "tls.crt" with "tls.key" - - Readinessprobe reports MongoDB running as Arbitrer as _Running_ & _Healthy_. - - The `CLUSTER_DOMAIN` environment variable can be set on the Operator Pod, to configure the Kubernetes cluster's Domain, - in case this one differs from the default `cluster.local`. +- Bug fixes + - Adds missing roles for Database Pods. + - Fixes OpenShift install. ## MongoDBCommunity Resource -* Changes -* Specifying `spec.additionalMongodConfig.storage.dbPath` will now be respected correctly. +* No changes ## Updated Image Tags -- mongodb-kubernetes-operator:0.7.1 +- mongodb-kubernetes-operator:0.7.2 _All the images can be found in:_ diff --git a/docs/how-to-release.md b/docs/how-to-release.md index 137d4e8b3..9f42c5f5a 100644 --- a/docs/how-to-release.md +++ b/docs/how-to-release.md @@ -5,6 +5,8 @@ * Update any changing versions in [release.json](../release.json). * Ensure that [the release notes](./RELEASE_NOTES.md) are up to date for this release. * Run `python scripts/ci/update_release.py` to update the relevant yaml manifests. + * Copy `CRD`s to Helm Chart + - `cp config/crd/bases/mongodbcommunity.mongodb.com_mongodbcommunity.yaml helm-charts/charts/community-operator-crds/templates/mongodbcommunity.mongodb.com_mongodbcommunity.yaml` * Commit all changes. * Create a PR with the title `Release MongoDB Kubernetes Operator v` (the title must match this pattern) diff --git a/helm-charts b/helm-charts index 7c7641eb3..d633bb456 160000 --- a/helm-charts +++ b/helm-charts @@ -1 +1 @@ -Subproject commit 7c7641eb3b5ca6c716e44afae9bf99351f7b644d +Subproject commit d633bb4567124dcd101fe407d9a8d0685466aeda diff --git a/release.json b/release.json index f608c9437..d7074e5eb 100644 --- a/release.json +++ b/release.json @@ -1,5 +1,5 @@ { - "mongodb-kubernetes-operator": "0.7.1", + "mongodb-kubernetes-operator": "0.7.2", "version-upgrade-hook": "1.0.3", "readiness-probe": "1.0.6", "mongodb-agent": { diff --git a/scripts/ci/update_release.py b/scripts/ci/update_release.py index 511f9d220..19fd0cc19 100755 --- a/scripts/ci/update_release.py +++ b/scripts/ci/update_release.py @@ -2,16 +2,23 @@ import json import sys -import yaml -from typing import Dict +from typing import Dict, Callable + +import ruamel.yaml + +yaml = ruamel.yaml.YAML() + RELATIVE_PATH_TO_MANAGER_YAML = "config/manager/manager.yaml" RELATIVE_PATH_TO_OPENSHIFT_MANAGER_YAML = "deploy/openshift/operator_openshift.yaml" +RELATIVE_PATH_TO_CHART_VALUES = "helm-charts/charts/community-operator/values.yaml" +RELATIVE_PATH_TO_CHART = "helm-charts/charts/community-operator/Chart.yaml" + def _load_yaml_file(path: str) -> Dict: with open(path, "r") as f: - return yaml.safe_load(f.read()) + return yaml.load(f.read()) def _dump_yaml(operator: Dict, path: str) -> None: @@ -19,10 +26,10 @@ def _dump_yaml(operator: Dict, path: str) -> None: yaml.dump(operator, f) -def update_and_write_file(path: str) -> None: +def update_and_write_file(path: str, update_function: Callable) -> None: release = _load_release() yaml_file = _load_yaml_file(path) - _update_operator_deployment(yaml_file, release) + update_function(yaml_file, release) _dump_yaml(yaml_file, path) @@ -36,7 +43,7 @@ def _replace_tag(image: str, new_tag: str) -> str: return split_image[0] + ":" + new_tag -def _update_operator_deployment(operator_deployment: Dict, release: Dict) -> None: +def update_operator_deployment(operator_deployment: Dict, release: Dict) -> None: operator_container = operator_deployment["spec"]["template"]["spec"]["containers"][ 0 ] @@ -55,9 +62,33 @@ def _update_operator_deployment(operator_deployment: Dict, release: Dict) -> Non ) +def update_chart_values(values: Dict, release: Dict): + values["agent"]["version"] = release["mongodb-agent"]["version"] + values["versionUpgradeHook"]["version"] = release["version-upgrade-hook"] + values["readinessProbe"]["version"] = release["readiness-probe"] + values["operator"]["version"] = release["mongodb-kubernetes-operator"] + + +def update_chart(chart: Dict, release: Dict): + chart["version"] = release["mongodb-kubernetes-operator"] + chart["appVersion"] = release["mongodb-kubernetes-operator"] + + for dependency in chart["dependencies"]: + if dependency["name"] == "community-operator-crds": + dependency["version"] = release["mongodb-kubernetes-operator"] + + def main() -> int: - update_and_write_file(RELATIVE_PATH_TO_MANAGER_YAML) - update_and_write_file(RELATIVE_PATH_TO_OPENSHIFT_MANAGER_YAML) + # Updating local files + update_and_write_file(RELATIVE_PATH_TO_MANAGER_YAML, update_operator_deployment) + update_and_write_file( + RELATIVE_PATH_TO_OPENSHIFT_MANAGER_YAML, update_operator_deployment + ) + + # Updating Helm Chart files + update_and_write_file(RELATIVE_PATH_TO_CHART_VALUES, update_chart_values) + update_and_write_file(RELATIVE_PATH_TO_CHART, update_chart) + return 0 From 61a9ac1745ff70078b57f658a6f54478b9bee75b Mon Sep 17 00:00:00 2001 From: Rodrigo Valin Date: Wed, 17 Nov 2021 17:25:18 +0000 Subject: [PATCH 2/3] Fixing mypy errors. --- scripts/ci/update_release.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ci/update_release.py b/scripts/ci/update_release.py index 19fd0cc19..1b2d9f2ff 100755 --- a/scripts/ci/update_release.py +++ b/scripts/ci/update_release.py @@ -62,14 +62,14 @@ def update_operator_deployment(operator_deployment: Dict, release: Dict) -> None ) -def update_chart_values(values: Dict, release: Dict): +def update_chart_values(values: Dict, release: Dict) -> None: values["agent"]["version"] = release["mongodb-agent"]["version"] values["versionUpgradeHook"]["version"] = release["version-upgrade-hook"] values["readinessProbe"]["version"] = release["readiness-probe"] values["operator"]["version"] = release["mongodb-kubernetes-operator"] -def update_chart(chart: Dict, release: Dict): +def update_chart(chart: Dict, release: Dict) -> None: chart["version"] = release["mongodb-kubernetes-operator"] chart["appVersion"] = release["mongodb-kubernetes-operator"] From 49651f5a15229f83d28d0bf904243dfb915ecbe0 Mon Sep 17 00:00:00 2001 From: Rodrigo Valin Date: Thu, 18 Nov 2021 14:15:52 +0000 Subject: [PATCH 3/3] Using latest helm chart. --- helm-charts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-charts b/helm-charts index d633bb456..625081d8e 160000 --- a/helm-charts +++ b/helm-charts @@ -1 +1 @@ -Subproject commit d633bb4567124dcd101fe407d9a8d0685466aeda +Subproject commit 625081d8ea02e434e55e877a565815abb2254286