Changeset - abe3f4e5e6a6
[Not reviewed]
0 9 3
Branko Majic (branko) - 6 years ago 2018-06-03 11:52:16
branko@majic.rs
MAR-129: Updated preseed role for Ansible 2.5.x and new Molecule:

- Include top-level linting configuration in test configuration.
- Fixed linting errors.
- Moved test playbook variables into group_vars.
- Updated how hosts are referenced in tests.
12 files changed with 59 insertions and 60 deletions:
0 comments (0 inline, 0 general)
roles/preseed/defaults/main.yml
Show inline comments
 
@@ -9,7 +9,7 @@ preseed_locale: en_US.UTF-8
 
preseed_mirror_directory: /debian
 
preseed_mirror_hostname: ftp.se.debian.org
 
preseed_mirror_proxy: ""
 
preseed_network_auto: yes
 
preseed_network_auto: true
 
preseed_network_interface: eth0
 
preseed_root_password: root
 
preseed_server_overrides: {}
roles/preseed/molecule/default/create.yml
Show inline comments
 
@@ -2,7 +2,7 @@
 
- name: Create
 
  hosts: localhost
 
  connection: local
 
  gather_facts: False
 
  gather_facts: false
 
  no_log: "{{ not lookup('env', 'MOLECULE_DEBUG') | bool }}"
 
  vars:
 
    molecule_file: "{{ lookup('env', 'MOLECULE_FILE') }}"
roles/preseed/molecule/default/destroy.yml
Show inline comments
 
@@ -3,7 +3,7 @@
 
- name: Destroy
 
  hosts: localhost
 
  connection: local
 
  gather_facts: False
 
  gather_facts: false
 
  no_log: "{{ not lookup('env', 'MOLECULE_DEBUG') | bool }}"
 
  vars:
 
    molecule_file: "{{ lookup('env', 'MOLECULE_FILE') }}"
roles/preseed/molecule/default/group_vars/parameters-mandatory.yml
Show inline comments
 
new file 100644
 
---
roles/preseed/molecule/default/group_vars/parameters-optional-with-overrides.yml
Show inline comments
 
new file 100644
 
---
 

	
 
preseed_directory: /tmp/custom_preseed_files_location
 
ansible_key: CUSTOMKEY
 
preseed_server_overrides:
 
  parameters-optional-with-overrides-jessie64:
 
    country: RS
 
    dns: 1.1.1.1
 
    domain: example.com
 
    gateway: 2.2.2.2
 
    hostname: testing
 
    ip: 3.3.3.3
 
    keymap: sv
 
    language: sr
 
    locale: en_UK.UTF-8
 
    mirror_directory: /
 
    mirror_hostname: ftp.de.debian.org
 
    mirror_proxy: http://proxy.local
 
    netmask: 255.255.0.0
 
    network_auto: false
 
    network_interface: eth1
 
    root_password: myrootpassword
 
    timezone: Europe/Belgrade
roles/preseed/molecule/default/group_vars/parameters-optional.yml
Show inline comments
 
new file 100644
 
---
 

	
 
ansible_key: CUSTOMKEY
 
preseed_country: RS
 
preseed_directory: /tmp/custom_preseed_files_location
 
preseed_dns: 1.1.1.1
 
preseed_domain: example.com
 
preseed_gateway: 2.2.2.2
 
preseed_hostname: testing
 
preseed_ip: 3.3.3.3
 
preseed_keymap: sv
 
preseed_language: sr
 
preseed_locale: en_UK.UTF-8
 
preseed_mirror_directory: /
 
preseed_mirror_hostname: ftp.de.debian.org
 
preseed_mirror_proxy: http://proxy.local
 
preseed_netmask: 255.255.0.0
 
preseed_network_auto: false
 
preseed_network_interface: eth1
 
preseed_root_password: myrootpassword
 
preseed_timezone: Europe/Belgrade
roles/preseed/molecule/default/molecule.yml
Show inline comments
 
@@ -9,6 +9,8 @@ driver:
 

	
 
lint:
 
  name: yamllint
 
  options:
 
    config-file: ../../.yamllint.yml
 

	
 
platforms:
 

	
roles/preseed/molecule/default/playbook.yml
Show inline comments
 
---
 

	
 
- hosts: parameters-mandatory
 
- hosts: parameters-mandatory,parameters-optional,parameters-optional-with-overrides
 
  roles:
 
    - role: preseed
 

	
 
- hosts: parameters-optional
 
  roles:
 
    - role: preseed
 
      ansible_key: CUSTOMKEY
 
      preseed_country: RS
 
      preseed_directory: /tmp/custom_preseed_files_location
 
      preseed_dns: 1.1.1.1
 
      preseed_domain: example.com
 
      preseed_gateway: 2.2.2.2
 
      preseed_hostname: testing
 
      preseed_ip: 3.3.3.3
 
      preseed_keymap: sv
 
      preseed_language: sr
 
      preseed_locale: en_UK.UTF-8
 
      preseed_mirror_directory: /
 
      preseed_mirror_hostname: ftp.de.debian.org
 
      preseed_mirror_proxy: http://proxy.local
 
      preseed_netmask: 255.255.0.0
 
      preseed_network_auto: no
 
      preseed_network_interface: eth1
 
      preseed_root_password: myrootpassword
 
      preseed_timezone: Europe/Belgrade
 

	
 
- hosts: parameters-optional-with-overrides
 
  roles:
 
    - role: preseed
 
      preseed_directory: /tmp/custom_preseed_files_location
 
      ansible_key: CUSTOMKEY
 
      preseed_server_overrides:
 
        parameters-optional-with-overrides-jessie64:
 
          country: RS
 
          dns: 1.1.1.1
 
          domain: example.com
 
          gateway: 2.2.2.2
 
          hostname: testing
 
          ip: 3.3.3.3
 
          keymap: sv
 
          language: sr
 
          locale: en_UK.UTF-8
 
          mirror_directory: /
 
          mirror_hostname: ftp.de.debian.org
 
          mirror_proxy: http://proxy.local
 
          netmask: 255.255.0.0
 
          network_auto: no
 
          network_interface: eth1
 
          root_password: myrootpassword
 
          timezone: Europe/Belgrade
 
    - preseed
roles/preseed/molecule/default/prepare.yml
Show inline comments
 
@@ -2,15 +2,15 @@
 

	
 
- name: Prepare
 
  hosts: all
 
  gather_facts: False
 
  gather_facts: false
 
  tasks:
 
    - name: Install python for Ansible
 
      raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
 
      become: True
 
      changed_when: False
 
      become: true
 
      changed_when: false
 

	
 
- hosts: parameters-mandatory
 
  become: yes
 
  become: true
 
  tasks:
 

	
 
    # @TODO: This is a hack because inventory_dir used for
roles/preseed/molecule/default/tests/test_parameters_mandatory.py
Show inline comments
 
@@ -4,7 +4,7 @@ import testinfra.utils.ansible_runner
 

	
 

	
 
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
 
    '.molecule/ansible_inventory.yml').get_hosts('parameters-mandatory')
 
    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts(['parameters-mandatory'])
 

	
 

	
 
def test_preseed_directory(host):
roles/preseed/molecule/default/tests/test_parameters_optional.py
Show inline comments
 
@@ -4,7 +4,7 @@ import testinfra.utils.ansible_runner
 

	
 

	
 
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
 
    '.molecule/ansible_inventory.yml').get_hosts('parameters-optional')
 
    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts(['parameters-optional'])
 

	
 

	
 
PRESEED_DIRECTORY = '/tmp/custom_preseed_files_location'
roles/preseed/molecule/default/tests/test_parameters_optional_with_overrides.py
Show inline comments
 
@@ -4,7 +4,7 @@ import testinfra.utils.ansible_runner
 

	
 

	
 
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
 
    '.molecule/ansible_inventory.yml').get_hosts('parameters-optional-with-overrides')
 
    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts(['parameters-optional-with-overrides'])
 

	
 

	
 
PRESEED_DIRECTORY = '/tmp/custom_preseed_files_location'
0 comments (0 inline, 0 general)