mirror of
https://github.com/ansible-collections/community.docker.git
synced 2025-12-16 20:08:41 +00:00
* Do not crash when plugin doesn't exist. * Improve style. Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com> Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com> (cherry picked from commitc7cbec0163) (cherry picked from commit0ffa3cc1d2) Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
935b02fad9
commit
8d19ad9f86
2
changelogs/fragments/553-docker_plugin-check-mode.yml
Normal file
2
changelogs/fragments/553-docker_plugin-check-mode.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
bugfixes:
|
||||||
|
- "docker_plugin - do not crash if plugin is installed in check mode (https://github.com/ansible-collections/community.docker/issues/552, https://github.com/ansible-collections/community.docker/pull/553)."
|
||||||
@ -331,11 +331,18 @@ class DockerPluginManager(object):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def result(self):
|
def result(self):
|
||||||
|
plugin_data = {}
|
||||||
|
if self.parameters.state != 'absent':
|
||||||
|
try:
|
||||||
|
plugin_data = self.client.inspect_plugin(self.preferred_name)
|
||||||
|
except NotFound:
|
||||||
|
# This can happen in check mode
|
||||||
|
pass
|
||||||
result = {
|
result = {
|
||||||
'actions': self.actions,
|
'actions': self.actions,
|
||||||
'changed': self.changed,
|
'changed': self.changed,
|
||||||
'diff': self.diff,
|
'diff': self.diff,
|
||||||
'plugin': self.client.inspect_plugin(self.preferred_name) if self.parameters.state != 'absent' else {}
|
'plugin': plugin_data,
|
||||||
}
|
}
|
||||||
return dict((k, v) for k, v in result.items() if v is not None)
|
return dict((k, v) for k, v in result.items() if v is not None)
|
||||||
|
|
||||||
|
|||||||
@ -10,48 +10,104 @@
|
|||||||
############ basic test ############
|
############ basic test ############
|
||||||
####################################
|
####################################
|
||||||
|
|
||||||
|
- name: Create a plugin (check mode)
|
||||||
|
docker_plugin:
|
||||||
|
plugin_name: "{{ plugin_name }}"
|
||||||
|
state: present
|
||||||
|
register: create_1_check
|
||||||
|
check_mode: true
|
||||||
|
|
||||||
- name: Create a plugin
|
- name: Create a plugin
|
||||||
docker_plugin:
|
docker_plugin:
|
||||||
plugin_name: "{{ plugin_name }}"
|
plugin_name: "{{ plugin_name }}"
|
||||||
state: present
|
state: present
|
||||||
register: create_1
|
register: create_1
|
||||||
|
|
||||||
|
- name: Create a plugin (Idempotent, check mode)
|
||||||
|
docker_plugin:
|
||||||
|
plugin_name: "{{ plugin_name }}"
|
||||||
|
state: present
|
||||||
|
register: create_2_check
|
||||||
|
check_mode: true
|
||||||
|
|
||||||
- name: Create a plugin (Idempotent)
|
- name: Create a plugin (Idempotent)
|
||||||
docker_plugin:
|
docker_plugin:
|
||||||
plugin_name: "{{ plugin_name }}"
|
plugin_name: "{{ plugin_name }}"
|
||||||
state: present
|
state: present
|
||||||
register: create_2
|
register: create_2
|
||||||
|
|
||||||
|
- name: Enable a plugin (check mode)
|
||||||
|
docker_plugin:
|
||||||
|
plugin_name: "{{ plugin_name }}"
|
||||||
|
state: enable
|
||||||
|
register: create_3_check
|
||||||
|
check_mode: true
|
||||||
|
|
||||||
- name: Enable a plugin
|
- name: Enable a plugin
|
||||||
docker_plugin:
|
docker_plugin:
|
||||||
plugin_name: "{{ plugin_name }}"
|
plugin_name: "{{ plugin_name }}"
|
||||||
state: enable
|
state: enable
|
||||||
register: create_3
|
register: create_3
|
||||||
|
|
||||||
|
- name: Enable a plugin (Idempotent, check mode)
|
||||||
|
docker_plugin:
|
||||||
|
plugin_name: "{{ plugin_name }}"
|
||||||
|
state: enable
|
||||||
|
register: create_4_check
|
||||||
|
check_mode: true
|
||||||
|
|
||||||
- name: Enable a plugin (Idempotent)
|
- name: Enable a plugin (Idempotent)
|
||||||
docker_plugin:
|
docker_plugin:
|
||||||
plugin_name: "{{ plugin_name }}"
|
plugin_name: "{{ plugin_name }}"
|
||||||
state: enable
|
state: enable
|
||||||
register: create_4
|
register: create_4
|
||||||
|
|
||||||
|
- name: Disable a plugin (check mode)
|
||||||
|
docker_plugin:
|
||||||
|
plugin_name: "{{ plugin_name }}"
|
||||||
|
state: disable
|
||||||
|
register: absent_1_check
|
||||||
|
check_mode: true
|
||||||
|
|
||||||
- name: Disable a plugin
|
- name: Disable a plugin
|
||||||
docker_plugin:
|
docker_plugin:
|
||||||
plugin_name: "{{ plugin_name }}"
|
plugin_name: "{{ plugin_name }}"
|
||||||
state: disable
|
state: disable
|
||||||
register: absent_1
|
register: absent_1
|
||||||
|
|
||||||
|
- name: Disable a plugin (Idempotent, check mode)
|
||||||
|
docker_plugin:
|
||||||
|
plugin_name: "{{ plugin_name }}"
|
||||||
|
state: disable
|
||||||
|
register: absent_2_check
|
||||||
|
check_mode: true
|
||||||
|
|
||||||
- name: Disable a plugin (Idempotent)
|
- name: Disable a plugin (Idempotent)
|
||||||
docker_plugin:
|
docker_plugin:
|
||||||
plugin_name: "{{ plugin_name }}"
|
plugin_name: "{{ plugin_name }}"
|
||||||
state: disable
|
state: disable
|
||||||
register: absent_2
|
register: absent_2
|
||||||
|
|
||||||
|
- name: Remove a plugin (check mode)
|
||||||
|
docker_plugin:
|
||||||
|
plugin_name: "{{ plugin_name }}"
|
||||||
|
state: absent
|
||||||
|
register: absent_3_check
|
||||||
|
check_mode: true
|
||||||
|
|
||||||
- name: Remove a plugin
|
- name: Remove a plugin
|
||||||
docker_plugin:
|
docker_plugin:
|
||||||
plugin_name: "{{ plugin_name }}"
|
plugin_name: "{{ plugin_name }}"
|
||||||
state: absent
|
state: absent
|
||||||
register: absent_3
|
register: absent_3
|
||||||
|
|
||||||
|
- name: Remove a plugin (Idempotent, check mode)
|
||||||
|
docker_plugin:
|
||||||
|
plugin_name: "{{ plugin_name }}"
|
||||||
|
state: absent
|
||||||
|
register: absent_4_check
|
||||||
|
check_mode: true
|
||||||
|
|
||||||
- name: Remove a plugin (Idempotent)
|
- name: Remove a plugin (Idempotent)
|
||||||
docker_plugin:
|
docker_plugin:
|
||||||
plugin_name: "{{ plugin_name }}"
|
plugin_name: "{{ plugin_name }}"
|
||||||
@ -60,13 +116,21 @@
|
|||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
|
- create_1_check is changed
|
||||||
- create_1 is changed
|
- create_1 is changed
|
||||||
|
- create_2_check is not changed
|
||||||
- create_2 is not changed
|
- create_2 is not changed
|
||||||
|
- create_3_check is changed
|
||||||
- create_3 is changed
|
- create_3 is changed
|
||||||
|
- create_4_check is not changed
|
||||||
- create_4 is not changed
|
- create_4 is not changed
|
||||||
|
- absent_1_check is changed
|
||||||
- absent_1 is changed
|
- absent_1 is changed
|
||||||
|
- absent_2_check is not changed
|
||||||
- absent_2 is not changed
|
- absent_2 is not changed
|
||||||
|
- absent_3_check is changed
|
||||||
- absent_3 is changed
|
- absent_3 is changed
|
||||||
|
- absent_4_check is not changed
|
||||||
- absent_4 is not changed
|
- absent_4 is not changed
|
||||||
|
|
||||||
############ Plugin_Options ############
|
############ Plugin_Options ############
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user