Initial commit

This commit is contained in:
Ansible Core Team 2020-03-09 09:11:07 +00:00
commit aebc1b03fd
4861 changed files with 812621 additions and 0 deletions

View file

@ -0,0 +1,8 @@
shippable/posix/group3
skip/aix
skip/osx
skip/freebsd
destructive
skip/docker # The tests sometimes make docker daemon unstable; hence,
# we skip all docker-based CI runs to avoid disrupting
# the whole CI system.

View file

@ -0,0 +1,3 @@
---
dependencies:
- setup_docker

View file

@ -0,0 +1,6 @@
---
- include_tasks: test_docker_swarm_service_info.yml
when: docker_py_version is version('2.0.0', '>=') and docker_api_version is version('1.24', '>=')
- fail: msg="Too old docker / docker-py version to run docker_swarm_service_info tests!"
when: not(docker_py_version is version('2.0.0', '>=') and docker_api_version is version('1.24', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)

View file

@ -0,0 +1,83 @@
---
- name: Generate service base name
set_fact:
service_base_name: "{{ 'ansible-test-%0x' % ((2**32) | random) }}"
- name: Registering service names
set_fact:
service_name: "{{ service_base_name ~ '-1' }}"
- block:
- name: Make sure we're not already using Docker swarm
docker_swarm:
state: absent
force: true
- name: Try to get docker_swarm_service_info when docker is not running in swarm mode
docker_swarm_service_info:
name: "{{ service_name }}"
ignore_errors: yes
register: output
- name: assert failure when called when swarm is not in use or not run on manager node
assert:
that:
- 'output is failed'
- 'output.msg == "Error running docker swarm module: must run on swarm manager node"'
- name: Create a Swarm cluster
docker_swarm:
state: present
advertise_addr: "{{ansible_default_ipv4.address | default('127.0.0.1')}}"
register: output
- name: Create services
docker_swarm_service:
name: "{{ service_name }}"
image: alpine:3.8
- name: Try to get docker_swarm_service_info for a single service
docker_swarm_service_info:
name: "{{ service_name }}"
register: output
- name: assert reading reading service info
assert:
that:
- 'output.exists == true'
- 'output.service.ID is string'
- 'output.service.Spec.Name == service_name'
- name: Create random name
set_fact:
random_service_name: "{{ 'random-service-%0x' % ((2**32) | random) }}"
- name: Try to get docker_swarm_service_info using random service name as parameter
docker_swarm_service_info:
name: "{{ random_service_name }}"
register: output
- name: assert reading reading service info
assert:
that:
- 'output.service is none'
- 'output.exists == false'
always:
- name: Remove services
docker_swarm_service:
name: "{{ service_name }}"
state: absent
ignore_errors: yes
- name: Remove swarm
docker_swarm:
state: absent
force: true
# Maximum of 1.24 (docker API version for docker_swarm_service_info) and 1.25 (docker API version for docker_swarm) is 1.25
when: docker_py_version is version('2.0.2', '>=') and docker_api_version is version('1.25', '>=')
- fail: msg="Too old docker / docker-py version to run docker_swarm_service_info tests!"
when: not(docker_py_version is version('2.0.2', '>=') and docker_api_version is version('1.25', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)