Skip to content

Commit

Permalink
Rework Molecule prepare phase to install sudo only if root on target
Browse files Browse the repository at this point in the history
  • Loading branch information
rpelisse committed Mar 11, 2024
1 parent e480b78 commit 3a88fc4
Show file tree
Hide file tree
Showing 44 changed files with 384 additions and 240 deletions.
17 changes: 9 additions & 8 deletions molecule/account/molecule.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
---
dependency:
name: galaxy
options:
ignore-certs: True
ignore-errors: True
requirements-file: molecule/default/requirements.yml
driver:
name: podman
name: docker
platforms:
- name: instance
image: registry.access.redhat.com/ubi8/ubi-init:latest
Expand All @@ -17,18 +11,25 @@ platforms:
- sudo
provisioner:
name: ansible
config_options:
defaults:
interpreter_python: auto_silent
ssh_connection:
pipelining: false
playbooks:
prepare: prepare.yml
converge: converge.yml
verify: verify.yml
env:
ANSIBLE_FORCE_COLOR: "true"
ANSIBLE_ROLES_PATH: "../../roles"
verifier:
name: ansible
scenario:
test_sequence:
- dependency
- cleanup
- destroy
- syntax
- create
- prepare
- converge
Expand Down
1 change: 1 addition & 0 deletions molecule/account/verify.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Verify for account role
hosts: all
become: yes
vars_files:
- vars.yml
gather_facts: false
Expand Down
1 change: 1 addition & 0 deletions molecule/aphrodite/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Converge
hosts: all
become: yes
vars_files:
- vars.yml

Expand Down
14 changes: 14 additions & 0 deletions molecule/aphrodite/prepare.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,27 @@
---
- name: Prepare
hosts: all
gather_facts: yes
vars_files:
- vars.yml
tasks:

- name: Display Ansible version
ansible.builtin.debug:
msg: "Ansible version is {{ ansible_version.full }}"

- name: "Install sudo if user is root"
ansible.builtin.yum:
name: sudo
state: present
when:
- ansible_user_id == "root"
- name: Add the user jenkins
ansible.builtin.user:
name: jenkins

- name: Creates directory
become: yes
ansible.builtin.file:
path: /opt/tools
state: directory
Expand All @@ -17,6 +30,7 @@
mode: 0644

- name: "Deploy aphrodite configuration to {{ aphrodite.path }}"
become: yes
ansible.builtin.template:
src: "../../roles/aphrodite/templates/aphrodite.json.j2"
dest: "{{ aphrodite.path }}"
Expand Down
1 change: 1 addition & 0 deletions molecule/aphrodite/verify.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Verify for aphrodite role
hosts: all
become: yes
vars_files:
- vars.yml
gather_facts: false
Expand Down
2 changes: 1 addition & 1 deletion molecule/bashrc/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ provisioner:
playbooks:
converge: converge.yml
verify: verify.yml
prepare: ../prepare.yml
prepare: prepare.yml
env:
ANSIBLE_ROLES_PATH: "../../roles"
verifier:
Expand Down
15 changes: 7 additions & 8 deletions molecule/cron/molecule.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
---
dependency:
name: galaxy
options:
ignore-certs: True
ignore-errors: True
requirements-file: molecule/default/requirements.yml
driver:
name: podman
name: docker
platforms:
- name: instance
image: registry.access.redhat.com/ubi8/ubi-init:latest
Expand All @@ -17,6 +11,11 @@ platforms:
- sudo
provisioner:
name: ansible
config_options:
defaults:
interpreter_python: auto_silent
ssh_connection:
pipelining: false
playbooks:
converge: converge.yml
verify: verify.yml
Expand All @@ -27,9 +26,9 @@ verifier:
name: ansible
scenario:
test_sequence:
- dependency
- cleanup
- destroy
- syntax
- create
- prepare
- converge
Expand Down
16 changes: 15 additions & 1 deletion molecule/cron/prepare.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
---
- name: Prepare
hosts: all
gather_facts: yes
vars_files:
- vars.yml
tasks:

- name: Display Ansible version
ansible.builtin.debug:
msg: "Ansible version is {{ ansible_version.full }}"

- name: "Install sudo if user is root"
ansible.builtin.yum:
name: sudo
state: present
when:
- ansible_user_id == "root"

- name: Creates directory
become: yes
ansible.builtin.file:
path: /opt/tools
state: directory
owner: root
group: root
mode: 0745
mode: 0745
1 change: 1 addition & 0 deletions molecule/fast_yum_install/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Converge
hosts: all
become: yes
vars_files:
- vars.yml
tasks:
Expand Down
1 change: 1 addition & 0 deletions molecule/fast_yum_install/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ platforms:
provisioner:
name: ansible
playbooks:
prepare: prepare.yml
converge: converge.yml
verify: verify.yml
env:
Expand Down
18 changes: 17 additions & 1 deletion molecule/git/prepare.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
---
- name: Prepare
hosts: all
gather_facts: yes
vars_files:
- vars.yml
tasks:

- name: Display Ansible version
ansible.builtin.debug:
msg: "Ansible version is {{ ansible_version.full }}"

- name: "Install sudo if user is root"
ansible.builtin.yum:
name: sudo
state: present
when:
- ansible_user_id == "root"

- name: Add the user jenkins
become: yes
ansible.builtin.user:
name: jenkins

- name: Creates directory
become: yes
ansible.builtin.file:
path: /home/jenkins
state: directory
owner: jenkins
group: jenkins
mode: 0644
mode: 0644
1 change: 1 addition & 0 deletions molecule/hosts/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Converge
hosts: all
become: yes
vars_files:
- vars.yml
tasks:
Expand Down
14 changes: 14 additions & 0 deletions molecule/hosts/prepare.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,34 @@
---
- name: Prepare
hosts: all
gather_facts: yes
vars_files:
- vars.yml
tasks:
- name: Display Ansible version
ansible.builtin.debug:
msg: "Ansible version is {{ ansible_version.full }}"

- name: "Install sudo if user is root"
ansible.builtin.yum:
name: sudo
state: present
when:
- ansible_user_id == "root"

- name: "Include fast_yum_install"
ansible.builtin.include_role:
name: "fast_yum_install"

- name: Creates /etc/fake_hosts directory
become: yes
ansible.builtin.file:
path: /etc/fake_hosts
state: touch
mode: 0644

- name: Creates /etc/real_hosts directory
become: yes
ansible.builtin.file:
path: /etc/real_hosts
state: touch
Expand Down
1 change: 1 addition & 0 deletions molecule/hosts/verify.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Verify for hosts role
hosts: all
become: yes
vars_files:
- vars.yml
gather_facts: false
Expand Down
2 changes: 1 addition & 1 deletion molecule/java/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ provisioner:
playbooks:
converge: converge.yml
verify: verify.yml
prepare: ../prepare.yml
prepare: prepare.yml
env:
ANSIBLE_ROLES_PATH: "../../roles"
verifier:
Expand Down
12 changes: 12 additions & 0 deletions molecule/java/prepare.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
---
- name: Prepare
hosts: all
gather_facts: yes
vars_files:
- vars.yml
tasks:
- name: Display Ansible version
ansible.builtin.debug:
msg: "Ansible version is {{ ansible_version.full }}"

- name: "Install sudo if user is root"
ansible.builtin.yum:
name: sudo
state: present
when:
- ansible_user_id == "root"

- ansible.builtin.assert:
that:
- jdk_list is defined
Expand Down
1 change: 1 addition & 0 deletions molecule/kdump/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Converge
hosts: all
become: yes
vars_files:
- vars.yml
tasks:
Expand Down
1 change: 1 addition & 0 deletions molecule/kdump/verify.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Verify for kdump role
hosts: all
become: yes
vars_files:
- vars.yml
gather_facts: false
Expand Down
2 changes: 1 addition & 1 deletion molecule/motd/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ provisioner:
playbooks:
converge: converge.yml
verify: verify.yml
prepare: ../prepare.yml
prepare: prepare.yml
env:
ANSIBLE_ROLES_PATH: "../../roles"
verifier:
Expand Down
13 changes: 13 additions & 0 deletions molecule/motd/prepare.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
---
- name: Prepare
hosts: all
gather_facts: yes
vars_files:
- vars.yml
tasks:

- name: Display Ansible version
ansible.builtin.debug:
msg: "Ansible version is {{ ansible_version.full }}"

- name: "Install sudo if user is root"
ansible.builtin.yum:
name: sudo
state: present
when:
- ansible_user_id == "root"

- ansible.builtin.assert:
that:
- motd_path is defined
Expand Down
4 changes: 2 additions & 2 deletions molecule/motd/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
hosts: all
vars_files:
- vars.yml
gather_facts: false

gather_facts: yes
tasks:
- name: Add a duplicate motd
become: yes
ansible.builtin.copy:
src: "../../roles/motd/files/motd.standard"
dest: /etc/duplicateMotd
Expand Down
1 change: 1 addition & 0 deletions molecule/netrc/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
- name: Converge
hosts: all
become: yes
vars_files:
- vars.yml
tasks:
Expand Down
Loading

0 comments on commit 3a88fc4

Please sign in to comment.