GRM-20: fix: skip systemd operations in lifecycle molecule when unavailable
The lifecycle scenario runs in a Docker container without systemd as PID 1. The side_effect and verify playbooks used systemd module operations unconditionally, causing failures like: System has not been booted with systemd as init system Add a systemd availability check (/run/systemd/system stat) to both playbooks and conditionally skip systemd tasks when running in environments without systemd (e.g. Molecule Docker containers).
This commit is contained in:
@@ -4,33 +4,47 @@
|
||||
become: true
|
||||
vars:
|
||||
runner_name: "lifecycle-test-runner"
|
||||
pre_tasks:
|
||||
- name: Check if systemd is available
|
||||
ansible.builtin.stat:
|
||||
path: /run/systemd/system
|
||||
register: systemd_available
|
||||
tasks:
|
||||
- name: Stop gitea-runner systemd instance
|
||||
ansible.builtin.systemd:
|
||||
name: "gitea-runner@{{ runner_name }}"
|
||||
state: stopped
|
||||
daemon_reload: true
|
||||
when: systemd_available.stat.exists
|
||||
|
||||
- name: Disable gitea-runner systemd instance
|
||||
ansible.builtin.systemd:
|
||||
name: "gitea-runner@{{ runner_name }}"
|
||||
enabled: false
|
||||
daemon_reload: true
|
||||
when: systemd_available.stat.exists
|
||||
|
||||
- name: Re-enable and start runner
|
||||
hosts: all
|
||||
become: true
|
||||
vars:
|
||||
runner_name: "lifecycle-test-runner"
|
||||
pre_tasks:
|
||||
- name: Check if systemd is available
|
||||
ansible.builtin.stat:
|
||||
path: /run/systemd/system
|
||||
register: systemd_available
|
||||
tasks:
|
||||
- name: Enable gitea-runner systemd instance
|
||||
ansible.builtin.systemd:
|
||||
name: "gitea-runner@{{ runner_name }}"
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
when: systemd_available.stat.exists
|
||||
|
||||
- name: Start gitea-runner systemd instance
|
||||
ansible.builtin.systemd:
|
||||
name: "gitea-runner@{{ runner_name }}"
|
||||
state: started
|
||||
daemon_reload: true
|
||||
when: systemd_available.stat.exists
|
||||
|
||||
Reference in New Issue
Block a user