mirror of
https://github.com/ansible-collections/community.docker.git
synced 2026-07-29 11:55:04 +00:00
New module docker_plugin (#95)
* New module docker-plugin with integration_tests * Fix sanity test * Changes made as per the reviewer suggested * Fix check-mode and test directory * Fix Sanity * fix integration * fix integration * fix integration * fix integration
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
- name: Create random name prefix
|
||||
set_fact:
|
||||
name_prefix: "cvmfs/overlay2-graphdriver"
|
||||
plugin_names: []
|
||||
|
||||
- debug:
|
||||
msg: "Using name prefix {{ name_prefix }}"
|
||||
|
||||
- block:
|
||||
- include_tasks: run-test.yml
|
||||
with_fileglob:
|
||||
- "tests/*.yml"
|
||||
|
||||
always:
|
||||
- name: "Make sure plugin is removed"
|
||||
docker_plugin:
|
||||
plugin_name: "{{ item }}"
|
||||
state: absent
|
||||
with_items: "{{ plugin_names }}"
|
||||
|
||||
when: docker_py_version is version('1.10.0', '>=') and docker_api_version is version('1.20', '>=')
|
||||
|
||||
- fail: msg="Too old docker / docker-py version to run docker_plugin tests!"
|
||||
when: not(docker_py_version is version('1.10.0', '>=') and docker_api_version is version('1.20', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
- name: "Loading tasks from {{ item }}"
|
||||
include_tasks: "{{ item }}"
|
||||
@@ -0,0 +1,80 @@
|
||||
---
|
||||
- name: Registering plugin name
|
||||
set_fact:
|
||||
plugin_name: "{{ name_prefix }}"
|
||||
|
||||
- name: Registering container name
|
||||
set_fact:
|
||||
plugin_names: "{{ plugin_names + [plugin_name] }}"
|
||||
|
||||
############ basic test ############
|
||||
####################################
|
||||
|
||||
- name: Create a plugin
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: present
|
||||
register: create_1
|
||||
|
||||
- name: Create a plugin (Idempotent)
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: present
|
||||
register: create_2
|
||||
|
||||
- name: Enable a plugin
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: enable
|
||||
register: create_3
|
||||
|
||||
- name: Enable a plugin (Idempotent)
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: enable
|
||||
register: create_4
|
||||
|
||||
- name: Disable a plugin
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: disable
|
||||
register: absent_1
|
||||
|
||||
- name: Disable a plugin (Idempotent)
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: disable
|
||||
register: absent_2
|
||||
|
||||
- name: Remove a plugin
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: absent
|
||||
register: absent_3
|
||||
|
||||
- name: Remove a plugin (Idempotent)
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: absent
|
||||
register: absent_4
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- create_1 is changed
|
||||
- create_2 is not changed
|
||||
- create_3 is changed
|
||||
- create_4 is not changed
|
||||
- absent_1 is changed
|
||||
- absent_2 is not changed
|
||||
- absent_3 is changed
|
||||
- absent_4 is not changed
|
||||
|
||||
############ Plugin_Options ############
|
||||
########################################
|
||||
# Integration-Test with plugin_options is in TODO-List
|
||||
|
||||
- name: Cleanup
|
||||
docker_plugin:
|
||||
plugin_name: "{{ plugin_name }}"
|
||||
state: absent
|
||||
force_remove: true
|
||||
Reference in New Issue
Block a user