Kaynağa Gözat

move common molecule configuration to base-config

Eugene Vasilenko 6 yıl önce
ebeveyn
işleme
5e0772933d

+ 1 - 1
.travis.yml

@@ -23,7 +23,7 @@ install:
   - pipenv install --two --dev
   - gem install rubocop
 script:
-  - pipenv run molecule test --scenario-name $SCENARIO --driver-name docker --destroy always
+  - pipenv run molecule --base-config molecule/shared/base.yml test --scenario-name $SCENARIO --driver-name docker --destroy always
 
 notifications:
   webhooks: https://galaxy.ansible.com/api/v1/notifications/

+ 0 - 43
molecule/amazonlinux/molecule.yml

@@ -1,12 +1,6 @@
 ---
 scenario:
   name: amazonlinux
-dependency:
-  name: galaxy
-driver:
-  name: docker
-lint:
-  name: yamllint
 platforms:
   - name: amazonlinux-1
     image: dokken/amazonlinux
@@ -25,46 +19,9 @@ platforms:
     volumes:
       - /sys/fs/cgroup:/sys/fs/cgroup:ro
 provisioner:
-  name: ansible
-  config_options:
-    defaults:
-      callback_whitelist: timer,profile_tasks
-      fact_caching: jsonfile
-      fact_caching_connection: ./cache
-      poll_interval: 3
-      forks: 100
-    connection:
-      pipelining: true
-  playbooks:
-    prepare: ../shared/prepare.yml
-    create: ../shared/create.yml
-    destroy: ../shared/destroy.yml
-    converge: ../shared/playbook.yml
-    verify: ../shared/verify.yml
-  lint:
-    name: ansible-lint
   inventory:
-    group_vars:
-      all:
-        sensu_master: true
-        sensu_include_dashboard: true
-        sensu_rabbitmq_server: true
-        sensu_redis_server: true
-        sensu_rabbitmq_host: "{{ ansible_hostname }}"
-        sensu_redis_host: "{{ ansible_hostname }}"
-        sensu_api_host: "{{ ansible_hostname }}"
-        ansible_default_ipv4:
-          address: 127.0.0.1
-        sensu_remote_plugins:
-          - sensu-plugins-disk-checks
-        sensu_check_interval: 60
     host_vars:
       amazonlinux-1:
         inspec_version: el6
       amazonlinux-2:
         inspec_version: el7
-verifier:
-  name: inspec
-  directory: ../shared/tests/
-  lint:
-    name: rubocop

+ 0 - 43
molecule/centos/molecule.yml

@@ -1,12 +1,6 @@
 ---
 scenario:
   name: centos
-dependency:
-  name: galaxy
-driver:
-  name: docker
-lint:
-  name: yamllint
 platforms:
   - name: centos-6
     image: dokken/centos-6
@@ -25,46 +19,9 @@ platforms:
     volumes:
       - /sys/fs/cgroup:/sys/fs/cgroup:ro
 provisioner:
-  name: ansible
-  config_options:
-    defaults:
-      callback_whitelist: timer,profile_tasks
-      fact_caching: jsonfile
-      fact_caching_connection: ./cache
-      poll_interval: 3
-      forks: 100
-    connection:
-      pipelining: true
-  playbooks:
-    prepare: ../shared/prepare.yml
-    create: ../shared/create.yml
-    destroy: ../shared/destroy.yml
-    converge: ../shared/playbook.yml
-    verify: ../shared/verify.yml
-  lint:
-    name: ansible-lint
   inventory:
-    group_vars:
-      all:
-        sensu_master: true
-        sensu_include_dashboard: true
-        sensu_rabbitmq_server: true
-        sensu_redis_server: true
-        sensu_rabbitmq_host: "{{ ansible_hostname }}"
-        sensu_redis_host: "{{ ansible_hostname }}"
-        sensu_api_host: "{{ ansible_hostname }}"
-        ansible_default_ipv4:
-          address: 127.0.0.1
-        sensu_remote_plugins:
-          - sensu-plugins-disk-checks
-        sensu_check_interval: 60
     host_vars:
       centos-6:
         inspec_version: el6
       centos-7:
         inspec_version: el7
-verifier:
-  name: inspec
-  directory: ../shared/tests/
-  lint:
-    name: rubocop

+ 0 - 43
molecule/debian/molecule.yml

@@ -1,12 +1,6 @@
 ---
 scenario:
   name: debian
-dependency:
-  name: galaxy
-driver:
-  name: docker
-lint:
-  name: yamllint
 platforms:
   - name: debian-8
     image: dokken/debian-8
@@ -26,46 +20,9 @@ platforms:
     groups:
       - sensu_checks
 provisioner:
-  name: ansible
-  config_options:
-    defaults:
-      callback_whitelist: timer,profile_tasks
-      fact_caching: jsonfile
-      fact_caching_connection: ./cache
-      poll_interval: 3
-      forks: 100
-    connection:
-      pipelining: true
-  playbooks:
-    prepare: ../shared/prepare.yml
-    create: ../shared/create.yml
-    destroy: ../shared/destroy.yml
-    converge: ../shared/playbook.yml
-    verify: ../shared/verify.yml
-  lint:
-    name: ansible-lint
   inventory:
-    group_vars:
-      all:
-        sensu_master: true
-        sensu_include_dashboard: true
-        sensu_rabbitmq_server: true
-        sensu_redis_server: true
-        sensu_rabbitmq_host: "{{ ansible_hostname }}"
-        sensu_redis_host: "{{ ansible_hostname }}"
-        sensu_api_host: "{{ ansible_hostname }}"
-        ansible_default_ipv4:
-          address: 127.0.0.1
-        sensu_remote_plugins:
-          - sensu-plugins-disk-checks
-        sensu_check_interval: 60
     host_vars:
       debian-8:
         inspec_version: ubuntu1604
       debian-9:
         inspec_version: ubuntu1604
-verifier:
-  name: inspec
-  directory: ../shared/
-  lint:
-    name: rubocop

+ 0 - 43
molecule/fedora/molecule.yml

@@ -1,12 +1,6 @@
 ---
 scenario:
   name: fedora
-dependency:
-  name: galaxy
-driver:
-  name: docker
-lint:
-  name: yamllint
 platforms:
   - name: fedora-26
     image: dokken/fedora-26
@@ -36,39 +30,7 @@ platforms:
     groups:
       - sensu_checks
 provisioner:
-  name: ansible
-  config_options:
-    defaults:
-      callback_whitelist: timer,profile_tasks
-      fact_caching: jsonfile
-      fact_caching_connection: ./cache
-      poll_interval: 3
-      forks: 100
-    connection:
-      pipelining: true
-  playbooks:
-    prepare: ../shared/prepare.yml
-    create: ../shared/create.yml
-    destroy: ../shared/destroy.yml
-    converge: ../shared/playbook.yml
-    verify: ../shared/verify.yml
-  lint:
-    name: ansible-lint
   inventory:
-    group_vars:
-      all:
-        sensu_master: true
-        sensu_include_dashboard: true
-        sensu_rabbitmq_server: true
-        sensu_redis_server: true
-        sensu_rabbitmq_host: "{{ ansible_hostname }}"
-        sensu_redis_host: "{{ ansible_hostname }}"
-        sensu_api_host: "{{ ansible_hostname }}"
-        ansible_default_ipv4:
-          address: 127.0.0.1
-        sensu_remote_plugins:
-          - sensu-plugins-disk-checks
-        sensu_check_interval: 60
     host_vars:
       fedora-26:
         inspec_version: el7
@@ -76,8 +38,3 @@ provisioner:
         inspec_version: el7
       fedora-28:
         inspec_version: el7
-verifier:
-  name: inspec
-  directory: ../shared/tests/
-  lint:
-    name: rubocop

+ 0 - 43
molecule/oraclelinux/molecule.yml

@@ -1,12 +1,6 @@
 ---
 scenario:
   name: oraclelinux
-dependency:
-  name: galaxy
-driver:
-  name: docker
-lint:
-  name: yamllint
 platforms:
   - name: oraclelinux-7
     image: dokken/oraclelinux-7
@@ -18,44 +12,7 @@ platforms:
     volumes:
       - /sys/fs/cgroup:/sys/fs/cgroup:ro
 provisioner:
-  name: ansible
-  config_options:
-    defaults:
-      callback_whitelist: timer,profile_tasks
-      fact_caching: jsonfile
-      fact_caching_connection: ./cache
-      poll_interval: 3
-      forks: 100
-    connection:
-      pipelining: true
-  playbooks:
-    prepare: ../shared/prepare.yml
-    create: ../shared/create.yml
-    destroy: ../shared/destroy.yml
-    converge: ../shared/playbook.yml
-    verify: ../shared/verify.yml
-  lint:
-    name: ansible-lint
   inventory:
-    group_vars:
-      all:
-        sensu_master: true
-        sensu_include_dashboard: true
-        sensu_rabbitmq_server: true
-        sensu_redis_server: true
-        sensu_rabbitmq_host: "{{ ansible_hostname }}"
-        sensu_redis_host: "{{ ansible_hostname }}"
-        sensu_api_host: "{{ ansible_hostname }}"
-        ansible_default_ipv4:
-          address: 127.0.0.1
-        sensu_remote_plugins:
-          - sensu-plugins-disk-checks
-        sensu_check_interval: 60
     host_vars:
       oraclelinux-7:
         inspec_version: el7
-verifier:
-  name: inspec
-  directory: ../shared/tests/
-  lint:
-    name: rubocop

+ 46 - 0
molecule/shared/base.yml

@@ -0,0 +1,46 @@
+---
+dependency:
+  name: galaxy
+driver:
+  name: docker
+lint:
+  name: yamllint
+provisioner:
+  name: ansible
+  config_options:
+    defaults:
+      callback_whitelist: timer,profile_tasks
+      fact_caching: jsonfile
+      fact_caching_connection: ./cache
+      poll_interval: 3
+      forks: 100
+    connection:
+      pipelining: true
+  playbooks:
+    prepare: ../shared/prepare.yml
+    create: ../shared/create.yml
+    destroy: ../shared/destroy.yml
+    converge: ../shared/playbook.yml
+    verify: ../shared/verify.yml
+  lint:
+    name: ansible-lint
+  inventory:
+    group_vars:
+      all:
+        sensu_master: true
+        sensu_include_dashboard: true
+        sensu_rabbitmq_server: true
+        sensu_redis_server: true
+        sensu_rabbitmq_host: "{{ ansible_hostname }}"
+        sensu_redis_host: "{{ ansible_hostname }}"
+        sensu_api_host: "{{ ansible_hostname }}"
+        ansible_default_ipv4:
+          address: 127.0.0.1
+        sensu_remote_plugins:
+          - sensu-plugins-disk-checks
+        sensu_check_interval: 60
+verifier:
+  name: inspec
+  directory: ../shared/tests/
+  lint:
+    name: rubocop

+ 21 - 0
molecule/shared/playbook.yml

@@ -13,5 +13,26 @@
       hostname:
         name: "{{ inventory_hostname }}"
       when: inventory_hostname != 'amazonlinux-1'
+
+    - block:
+
+      - name: Install apt packages for SNI fix
+        package:
+          name:
+            - python-pip
+            - python-dev
+            - python-urllib3
+            - python-openssl
+            - python-pyasn1
+
+      - name: Install Python packages for SNI fix
+        pip:
+          name:
+            - ndg-httpsclient
+
+      when:
+        - ansible_distribution == 'Ubuntu'
+        - ansible_python_version is version_compare('2.7.9', '<')
+
   roles:
     - role: sensu-ansible

+ 1 - 0
molecule/shared/tests/test_default.rb

@@ -1,5 +1,6 @@
 # Verify that redis, rabbitmq-server, sensu-{api,client}, and Uchiwa
 # are all listening as expected
+# frozen_string_literal: true
 
 # Redis
 describe port(6379) do

+ 0 - 43
molecule/ubuntu/molecule.yml

@@ -1,12 +1,6 @@
 ---
 scenario:
   name: ubuntu
-dependency:
-  name: galaxy
-driver:
-  name: docker
-lint:
-  name: yamllint
 platforms:
   - name: ubuntu-14.04
     image: dokken/ubuntu-14.04
@@ -34,39 +28,7 @@ platforms:
     volumes:
       - /sys/fs/cgroup:/sys/fs/cgroup:ro
 provisioner:
-  name: ansible
-  config_options:
-    defaults:
-      callback_whitelist: timer,profile_tasks
-      fact_caching: jsonfile
-      fact_caching_connection: ./cache
-      poll_interval: 3
-      forks: 100
-    connection:
-      pipelining: true
-  playbooks:
-    prepare: ../shared/prepare.yml
-    create: ../shared/create.yml
-    destroy: ../shared/destroy.yml
-    converge: ../shared/playbook.yml
-    verify: ../shared/verify.yml
-  lint:
-    name: ansible-lint
   inventory:
-    group_vars:
-      all:
-        sensu_master: true
-        sensu_include_dashboard: true
-        sensu_rabbitmq_server: true
-        sensu_redis_server: true
-        sensu_rabbitmq_host: "{{ ansible_hostname }}"
-        sensu_redis_host: "{{ ansible_hostname }}"
-        sensu_api_host: "{{ ansible_hostname }}"
-        ansible_default_ipv4:
-          address: 127.0.0.1
-        sensu_remote_plugins:
-          - sensu-plugins-disk-checks
-        sensu_check_interval: 60
     host_vars:
       ubuntu-14.04:
         inspec_version: ubuntu1404
@@ -74,8 +36,3 @@ provisioner:
         inspec_version: ubuntu1604
       ubuntu-18.04:
         inspec_version: ubuntu1804
-verifier:
-  name: inspec
-  directory: ../shared/tests/
-  lint:
-    name: rubocop