Mercurial > code > home > repos > victoriametrics
changeset 35:80e275ab2f88
rewrite replaceCmap, though idk if it was broken or not
author | drewp@bigasterisk.com |
---|---|
date | Mon, 09 Oct 2023 18:51:04 -0700 |
parents | 3b91d52b007d |
children | 2bc188c4117a |
files | k8s_ops.py |
diffstat | 1 files changed, 18 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/k8s_ops.py Mon Oct 09 18:50:36 2023 -0700 +++ b/k8s_ops.py Mon Oct 09 18:51:04 2023 -0700 @@ -20,9 +20,7 @@ def firstPodName(selector): api_instance = client.CoreV1Api() - pod_list = api_instance.list_namespaced_pod( - namespace="default", label_selector=selector - ) + pod_list = api_instance.list_namespaced_pod(namespace="default", label_selector=selector) return pod_list.items[0].metadata.name @@ -32,14 +30,21 @@ def replaceCmap(name, dataObj): api_instance = client.CoreV1Api() - api_response = api_instance.replace_namespaced_config_map( # - name=name, - namespace="default", - body={ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": {"name": name}, - "data": dict((fn, json.dumps(obj)) for fn, obj in dataObj.items()), - }, - ) + + data = dict((fn, json.dumps(obj)) for fn, obj in dataObj.items()) + + try: + + existing_config_map = api_instance.read_namespaced_config_map(name, 'default') + existing_config_map.data.update(data) + api_response = api_instance.replace_namespaced_config_map(name, "default", existing_config_map) + except client.rest.ApiException as e: + if e.status == 404: + config_map = client.V1ConfigMap() + config_map.metadata = client.V1ObjectMeta(name=name) + config_map.data = data + api_response = api_instance.create_namespaced_config_map('default', config_map) + else: + raise + print(f"{name} resource_version is now {api_response.metadata.resource_version}")