Skip to content

Commit 2099d2e

Browse files
[release-0.9] Fixes for Ansible apply (#293)
* Ensure namespaces are optional * Don't double meta request Avoid double serialization which causes problems
1 parent 4359df9 commit 2099d2e

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

openshift/dynamic/apply.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ def apply(resource, definition):
1414
)
1515
)
1616
try:
17-
actual = resource.get(name=definition['metadata']['name'], namespace=definition['metadata']['namespace'])
17+
actual = resource.get(name=definition['metadata']['name'], namespace=definition['metadata'].get('namespace'))
1818
except NotFoundError:
19-
return resource.create(body=dict_merge(definition, desired_annotation), namespace=definition['metadata']['namespace'])
19+
return resource.create(body=dict_merge(definition, desired_annotation), namespace=definition['metadata'].get('namespace'))
2020
last_applied = actual.metadata.get('annotations',{}).get(LAST_APPLIED_CONFIG_ANNOTATION)
2121

2222
if last_applied:
@@ -27,12 +27,12 @@ def apply(resource, definition):
2727
if patch:
2828
return resource.patch(body=dict_merge(patch, desired_annotation),
2929
name=definition['metadata']['name'],
30-
namespace=definition['metadata']['namespace'],
30+
namespace=definition['metadata'].get('namespace'),
3131
content_type='application/merge-patch+json')
3232
else:
3333
return actual
3434
else:
35-
return resource.patch(body=definition, name=definition['metadata']['name'], namespace=definition['metadata']['namespace'])
35+
return resource.patch(body=definition, name=definition['metadata']['name'], namespace=definition['metadata'].get('namespace'))
3636

3737

3838
# The patch is the difference from actual to desired without deletions, plus deletions

openshift/dynamic/client.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,6 @@ def patch(self, resource, body=None, name=None, namespace=None, **kwargs):
177177

178178
return self.request('patch', path, body=body, content_type=content_type, **kwargs)
179179

180-
@meta_request
181180
def apply(self, resource, body=None, name=None, namespace=None):
182181
body = self.serialize_body(body)
183182
name = name or body.get('metadata', {}).get('name')

0 commit comments

Comments
 (0)