--- - name: Linux server patching hosts: "{{ _hosts | default(omit) }}" become: true vars: report_server: reports tasks: # Install yum-utils if it's not there - name: Install yum-utils ansible.builtin.yum: name: yum-utils state: installed check_mode: false - name: Include patching role ansible.builtin.include_role: name: demo.patching.patch_linux - name: Tell user when Insights Client is not configured ansible.builtin.debug: msg: "Insights client does not appear to be configured. Scan will be skipped" when: - ansible_local.insights.system_id is not defined - name: Run the Insights Client Scan # noqa: no-changed-when ansible.builtin.command: insights-client when: - not ansible_check_mode - ansible_local.insights.system_id is defined - name: Deploy report server when: not ansible_check_mode delegate_to: "{{ report_server }}" run_once: true # noqa: run-once[task] block: - name: Install firewall dependencies ansible.builtin.dnf: name: - firewalld - python3-firewall state: present - name: Start firewalld ansible.builtin.service: name: firewalld state: started - name: Enable firewall http service ansible.posix.firewalld: service: '{{ item }}' state: enabled immediate: true permanent: true loop: - http - https - name: Build report server ansible.builtin.include_role: name: "{{ item }}" loop: - demo.patching.report_server - demo.patching.report_linux - demo.patching.report_linux_patching - name: Publish landing page ansible.builtin.include_role: name: demo.patching.report_server tasks_from: linux_landing_page