From 05a25af13f9d874656d8433585eafbb0573f6687 Mon Sep 17 00:00:00 2001 From: Jiyuan Tang Date: Wed, 27 Sep 2017 15:41:39 +0800 Subject: [PATCH] metadata.resourceVersion: Invalid value Fixed error: metadata.resourceVersion: Invalid value: \"\": must be specified for an update when annotating Change-Id: I0e9ad64eae5a8ee42778c0fa50a3a3345ff25115 Closes-Bug: 1722142 --- kuryr_kubernetes/k8s_client.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/kuryr_kubernetes/k8s_client.py b/kuryr_kubernetes/k8s_client.py index eb3e9b4a1..84458b212 100644 --- a/kuryr_kubernetes/k8s_client.py +++ b/kuryr_kubernetes/k8s_client.py @@ -94,12 +94,10 @@ class K8sClient(object): if self.token: header.update({'Authorization': 'Bearer %s' % self.token}) while itertools.count(1): - data = jsonutils.dumps({ - "metadata": { - "annotations": annotations, - "resourceVersion": resource_version, - } - }, sort_keys=True) + metadata = {"annotations": annotations} + if resource_version: + metadata['resourceVersion'] = resource_version + data = jsonutils.dumps({"metadata": metadata}, sort_keys=True) response = requests.patch(url, data=data, headers=header, cert=self.cert, verify=self.verify_server) @@ -121,6 +119,11 @@ class K8sClient(object): LOG.debug("Annotations for %(path)s already present: " "%(names)s", {'path': path, 'names': retrieved_annotations}) + + LOG.error("Exception response, headers: %(headers)s, " + "content: %(content)s, text: %(text)s" + % {'headers': response.headers, + 'content': response.content, 'text': response.text}) raise exc.K8sClientException(response.text) def watch(self, path):