ansible-role-mongodb/tests/site.yml

98 lines
2.3 KiB
YAML

# test.yml
---
- hosts: localhost
become: no
gather_facts: no
tasks:
- name: Copy environmnet file
copy:
src: etc/environment
dest: /tmp/environment
- name: Copy Squid config
copy:
src: etc/squid/squid.conf
dest: /tmp/squid.conf
- name: Create a network
docker_network:
name: MongoDBTestingNet
- name: Run Proxy in Docker
docker_container:
name: proxy
image: sameersbn/squid
state: started
volumes:
- /tmp/squid.conf:/etc/squid/squid.conf:ro
networks:
- name: MongoDBTestingNet
aliases:
- proxy
networks_cli_compatible: yes
- name: Run MongoDB cluster in Docker
docker_container:
name: "{{ item }}"
image: "{{ image_name }}"
command: "/sbin/init"
state: started
privileged: "{{ docker_privileged }}"
mounts:
- type: bind
source: /sys/fs/cgroup
target: /sys/fs/cgroup
- type: bind
source: /sys/fs/fuse
target: /sys/fs/fuse
- type: tmpfs
target: /run
- type: tmpfs
target: /run/lock
volumes:
- /tmp/environment:/etc/environment:ro
networks:
- name: MongoDBTestingNet
aliases:
- "{{ item }}"
networks_cli_compatible: yes
with_items:
- mongo1
- mongo2
- mongo3
- hosts: mongo
become: no
gather_facts: yes
tasks:
- name: Set proxy for apt
copy:
src: etc/apt/apt.conf.d/proxy.conf
dest: /etc/apt/apt.conf.d/proxy.conf
when: ansible_os_family == "Debian"
- name: Set proxy for yum
ini_file:
path: /etc/yum.conf
section: main
option: proxy
value: http://proxy:3128
when: ansible_os_family == "RedHat"
- hosts: mongo
become: no
gather_facts: no
tasks:
- name: gather tasks from all hosts
setup:
- hosts: "{{ target | default('mongo') }}"
become: no
gather_facts: yes
roles:
- role: greendayonfire.mongodb
when: "'mongo_master' in group_names"
- hosts: "{{ target | default('mongo') }}"
become: no
gather_facts: yes
roles:
- role: greendayonfire.mongodb
when: "'mongo_replicas' in group_names"