Files
@ fb5e4e372902
Branch filter:
Location: majic-ansible-roles/roles/backup/molecule/default/create.yml - annotation
fb5e4e372902
2.2 KiB
text/x-yaml
MAR-128: Upgraded tests for mail_forwarder role:
- Switch to new Molecule configuration.
- Updated set-up playbook to use become: yes.
- Moved some preparatory steps outside of the main playbook (eases
idempotence tests).
- Updated tests to reference the yml inventory file.
- Updated tests to use new fixture (host instead of individual ones).
- Switched to extracting hostname instead of hard-coding it in a
couple of tests.
- Fixed some linting issues.
- Rearranged IP addresses for test instances a bit.
- Expanded on available hosts for testing all OS/paramter
combinations.
- Switched to using a more resilient way to populate /etc/hosts during
prepartion phase.
- Expanded connectivity tests to include all the introduced hosts.
- Switch to new Molecule configuration.
- Updated set-up playbook to use become: yes.
- Moved some preparatory steps outside of the main playbook (eases
idempotence tests).
- Updated tests to reference the yml inventory file.
- Updated tests to use new fixture (host instead of individual ones).
- Switched to extracting hostname instead of hard-coding it in a
couple of tests.
- Fixed some linting issues.
- Rearranged IP addresses for test instances a bit.
- Expanded on available hosts for testing all OS/paramter
combinations.
- Switched to using a more resilient way to populate /etc/hosts during
prepartion phase.
- Expanded connectivity tests to include all the introduced hosts.
d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 d0293eece376 | ---
- name: Create
hosts: localhost
connection: local
gather_facts: False
no_log: "{{ not lookup('env', 'MOLECULE_DEBUG') | bool }}"
vars:
molecule_file: "{{ lookup('env', 'MOLECULE_FILE') }}"
molecule_instance_config: "{{ lookup('env', 'MOLECULE_INSTANCE_CONFIG') }}"
molecule_yml: "{{ lookup('file', molecule_file) | molecule_from_yaml }}"
tasks:
- name: Create molecule instance(s)
molecule_vagrant:
instance_name: "{{ item.name }}"
instance_interfaces: "{{ item.interfaces | default(omit) }}"
instance_raw_config_args: "{{ item.instance_raw_config_args | default(omit) }}"
platform_box: "{{ item.box }}"
platform_box_version: "{{ item.box_version | default(omit) }}"
platform_box_url: "{{ item.box_url | default(omit) }}"
provider_name: "{{ molecule_yml.driver.provider.name }}"
provider_memory: "{{ item.memory | default(omit) }}"
provider_cpus: "{{ item.cpus | default(omit) }}"
provider_raw_config_args: "{{ item.raw_config_args | default(omit) }}"
state: up
register: server
with_items: "{{ molecule_yml.platforms }}"
# Mandatory configuration for Molecule to function.
- name: Populate instance config dict
set_fact:
instance_conf_dict: {
'instance': "{{ item.Host }}",
'address': "{{ item.HostName }}",
'user': "{{ item.User }}",
'port': "{{ item.Port }}",
'identity_file': "{{ item.IdentityFile }}", }
with_items: "{{ server.results }}"
register: instance_config_dict
when: server.changed | bool
- name: Convert instance config dict to a list
set_fact:
instance_conf: "{{ instance_config_dict.results | map(attribute='ansible_facts.instance_conf_dict') | list }}"
when: server.changed | bool
- name: Dump instance config
copy:
# NOTE(retr0h): Workaround for Ansible 2.2.
# https://github.com/ansible/ansible/issues/20885
content: "{{ instance_conf | to_json | from_json | molecule_to_yaml | molecule_header }}"
dest: "{{ molecule_instance_config }}"
when: server.changed | bool
|