From dae99f3168a70bdccc2bea2d42ba7cbd63fac6ea Mon Sep 17 00:00:00 2001 From: Aaron Guise Date: Thu, 30 Sep 2021 22:58:20 +1300 Subject: [PATCH] Add molecule scenario --- molecule/default/converge.yml | 7 +++++++ molecule/default/molecule.yml | 14 ++++++++++++++ molecule/default/verify.yml | 18 ++++++++++++++++++ tasks/RedHat.yml | 10 +++++----- tasks/networking.yml | 15 +++++++++++---- 5 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 molecule/default/converge.yml create mode 100644 molecule/default/molecule.yml create mode 100644 molecule/default/verify.yml diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml new file mode 100644 index 0000000..5f9f768 --- /dev/null +++ b/molecule/default/converge.yml @@ -0,0 +1,7 @@ +--- +- name: Converge + hosts: all + tasks: + - name: "Include ansi-ansible-role-common" + include_role: + name: "ansi-ansible-role-common" diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml new file mode 100644 index 0000000..7b394c2 --- /dev/null +++ b/molecule/default/molecule.yml @@ -0,0 +1,14 @@ +--- +dependency: + name: galaxy +driver: + name: docker +platforms: + - name: instance + image: docker.io/pycontribs/centos:8 + pre_build_image: true + privileged: true +provisioner: + name: ansible +verifier: + name: ansible diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml new file mode 100644 index 0000000..a5301a9 --- /dev/null +++ b/molecule/default/verify.yml @@ -0,0 +1,18 @@ +--- +# This is an example playbook to execute Ansible tests. + +- name: Verify + hosts: all + gather_facts: false + tasks: + - name: Capture output of dynamic motd + command: /usr/local/bin/dynmotd + register: motd + changed_when: false + + - debug: + msg: "{{ motd.stdout.split('\n') }}" + + - name: Example assertion + assert: + that: true diff --git a/tasks/RedHat.yml b/tasks/RedHat.yml index 5871397..257755b 100644 --- a/tasks/RedHat.yml +++ b/tasks/RedHat.yml @@ -4,19 +4,17 @@ - name: Ensure common packages yum: - name: "{{item}}" + name: "{{ common_packages }}" state: present enablerepo: epel - with_items: "{{ common_packages }}" when: ansible_distribution != 'OracleLinux' tags: packages - name: Ensure common packages yum: - name: "{{item}}" + name: "{{ common_packages }}" state: present enablerepo: ol7_developer_EPEL - with_items: "{{ common_packages }}" when: ansible_distribution == 'OracleLinux' tags: packages @@ -63,11 +61,13 @@ - name: Ensure Hostname is set hostname: name: "{{ inventory_hostname }}.{{ domain }}" + when: + - ansible_virtualization_type != "docker" - name: Change root password user: name: root - password: "{{ root_pwd }}" + password: "{{ common_root_pwd }}" changed_when: false tags: rootpw diff --git a/tasks/networking.yml b/tasks/networking.yml index 7375779..d67fa5a 100644 --- a/tasks/networking.yml +++ b/tasks/networking.yml @@ -1,4 +1,13 @@ --- +- name: Ensure resolvers set + template: + src: etc.resolv.conf.j2 + dest: /etc/resolv.conf + mode: u+rw,a+r + tags: dns + when: + - ansible_virtualization_type != "docker" + - name: Ensure DNS and SSH common config template: src: "{{ item.src }}" @@ -10,10 +19,6 @@ dest: /etc/sysconfig/network, mode: u+rw,a+r } - - { src: etc.resolv.conf.j2, - dest: /etc/resolv.conf, - mode: u+rw,a+r - } tags: dns - name: Ensure hosts file correct @@ -42,6 +47,8 @@ - {regexp: "^{{ ansible_default_ipv4.address }}.*{{ ansible_nodename.split('.')[0] }}$", line: "{{ ansible_default_ipv4.address }} {{ inventory_hostname }}.{{ domain }} {{ inventory_hostname }}" } + when: + - ansible_virtualization_type != "docker" - name: Ensure NetworkManager does not fiddle DNS ini_file: