k8s minor bug fixes (#56168)
Ensure `wait_condition`s with `Status: Unknown` actually complete Return k8s object after wait rather than k8s object before wait when object is patched.
This commit is contained in:
parent
3e8ca0285f
commit
4065692e13
3 changed files with 9 additions and 2 deletions
3
changelogs/fragments/k8s-raw-minor-fixes.yml
Normal file
3
changelogs/fragments/k8s-raw-minor-fixes.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
bugfixes:
|
||||||
|
- k8s - ensure wait_condition works when Status is Unknown
|
||||||
|
- k8s - ensure k8s returns result of a resource update as it is at the end of the wait period
|
|
@ -347,7 +347,6 @@ class KubernetesRawModule(KubernetesAnsibleModule):
|
||||||
if wait:
|
if wait:
|
||||||
success, result['result'], result['duration'] = self.wait(resource, definition, wait_timeout, condition=wait_condition)
|
success, result['result'], result['duration'] = self.wait(resource, definition, wait_timeout, condition=wait_condition)
|
||||||
match, diffs = self.diff_objects(existing.to_dict(), result['result'])
|
match, diffs = self.diff_objects(existing.to_dict(), result['result'])
|
||||||
result['result'] = k8s_obj
|
|
||||||
result['changed'] = not match
|
result['changed'] = not match
|
||||||
result['method'] = 'patch'
|
result['method'] = 'patch'
|
||||||
result['diff'] = diffs
|
result['diff'] = diffs
|
||||||
|
@ -437,6 +436,11 @@ class KubernetesRawModule(KubernetesAnsibleModule):
|
||||||
# There should never be more than one condition of a specific type
|
# There should never be more than one condition of a specific type
|
||||||
match = match[0]
|
match = match[0]
|
||||||
if match.status == 'Unknown':
|
if match.status == 'Unknown':
|
||||||
|
if match.status == condition['status']:
|
||||||
|
if 'reason' not in condition:
|
||||||
|
return True
|
||||||
|
if condition['reason']:
|
||||||
|
return match.reason == condition['reason']
|
||||||
return False
|
return False
|
||||||
status = True if match.status == 'True' else False
|
status = True if match.status == 'True' else False
|
||||||
if status == condition['status']:
|
if status == condition['status']:
|
||||||
|
|
|
@ -265,7 +265,7 @@
|
||||||
- condition.reason == "DeploymentPaused"
|
- condition.reason == "DeploymentPaused"
|
||||||
- condition.status == "Unknown"
|
- condition.status == "Unknown"
|
||||||
vars:
|
vars:
|
||||||
condition: '{{ pause_deploy.result.status.conditions | selectattr("type", "Progressing")).0 }}'
|
condition: '{{ pause_deploy.result.status.conditions | json_query("[?type==`Progressing`]") | first }}'
|
||||||
|
|
||||||
- name: add a service based on the deployment
|
- name: add a service based on the deployment
|
||||||
k8s:
|
k8s:
|
||||||
|
|
Loading…
Reference in a new issue