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:
Sakar
2021-03-01 17:32:53 +05:30
committed by GitHub
parent f2d16da643
commit da62cfc24a
6 changed files with 455 additions and 0 deletions
@@ -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