]> git.immae.eu Git - github/fretlink/ansible-postgresql-role.git/commitdiff
tests: fix test playbook due to barman <-> postgres circle dependencies
authorPaul B <paul@bonaud.fr>
Mon, 28 Jan 2019 15:03:15 +0000 (16:03 +0100)
committerPaul B <paul@bonaud.fr>
Tue, 29 Jan 2019 10:42:41 +0000 (11:42 +0100)
.travis.yml
test/main.yml
test/requirements.yml

index c4244115312284330f1aa2f05b2857c50d6db893..ddf6fb04af87be073845a6b175f7a99119917418 100644 (file)
@@ -11,6 +11,10 @@ addons:
     packages:
     - python-pip
 
+# Tests are using docker to spawn fake instances
+services:
+  - docker
+
 install:
   # Install ansible
   - pip install ansible docker-py docker
@@ -22,7 +26,10 @@ script:
   # Basic role syntax check
   - ansible-playbook test/main.yml -i test/hosts --syntax-check
   # Run the tests
-  - ansible-playbook test/main.yml -i test/hosts
+  # FAILS - ansible-playbook test/main.yml -i test/hosts
+  # Even if Docker and docker-py module are present, the tests fail on Travis
+  # The error on Travis is:
+  # => {"changed": false, "item": {"image": "python:3.7-stretch", "links": ["postgres_barman", "postgres_one"], "name": "postgres_three"}, "msg": "Failed to import docker or docker-py - No module named docker. Try `pip install docker` or `pip install docker-py` (Python 2.6)"}
 
 notifications:
   webhooks: https://galaxy.ansible.com/api/v1/notifications/
index bc9d27cb2bd000dff47209dc15691d3311b943c5..a4834be49be7be0699f8ada8a5dfefac60ba1242 100644 (file)
           - name: "{{ postgres_barman_directory }}"
             description: 'Main database'
             primary_host: postgres_one
-            primary_barman_password: "secret_cocktail"
+            postgres_barman_password: "secret_cocktail"
             backup_method: rsync
-            ansible_group: db-all
+            standby_hosts: "{{ groups['db-all'][1:] }}"
             retention_policy: 'RECOVERY WINDOW OF 7 DAYS'
       with_items:
         - postgres_barman
       tags: provision_docker
 
-- name: Test installing Barman role
-  hosts: barman
+- name: Test installing Postgresql role
+  hosts: primary:secondary
   connection: docker
-  vars: {}
+  vars:
+    postgres_listen_addresses: "{{ hostvars[inventory_hostname].ansible_default_ipv4.address }}"
   pre_tasks: &pre_tasks
      - name: "Build hosts file"
        shell: 'echo "{{ hostvars[inventory_hostname].ansible_default_ipv4.address }} {{inventory_hostname}}" >> /etc/hosts'
        when: hostvars[inventory_hostname].ansible_default_ipv4.address is defined
 
      - debug: msg="Running on host {{inventory_hostname}} ({{ hostvars[inventory_hostname].ansible_default_ipv4.address }})"
-  roles:
-    - { role: barman, tags: ['barman'] }
-
-- name: Test installing Postgresql role
-  hosts: primary:secondary
-  connection: docker
-  vars:
-    postgres_listen_addresses: "{{ hostvars[inventory_hostname].ansible_default_ipv4.address }}"
-  pre_tasks: *pre_tasks
   roles:
     - { role: ansible-postgresql-role, tags: ['postgres'] }
   tasks:
       command: psql --port=5432 --command='select NOW()'
 
 
+- name: Test installing Barman role
+  hosts: barman
+  connection: docker
+  vars: {}
+  pre_tasks: *pre_tasks
+  roles:
+    - { role: barman, tags: ['barman'] }
+
 - name: Test running Postgresql role when database is started
   connection: docker
   hosts: primary:secondary
index 4c72838cade4f12dc55e8a1d1c88ffe43a22aeb9..f9d7099d302e0a202bfd8555d8dbb4e614c88704 100644 (file)
@@ -3,4 +3,4 @@
   version: 7a6243dfcf69f9d262877eca487bc14b62ba6960
 - src: trainline-eu.ansible_barman_role
   name: barman
-  version: 1.0.0
+  version: 1.1.0