--- - name: Version Lock hosts: temp become: false gather_facts: false vars: lock_pkgs: - leapp* - python2-leapp tasks: - name: Check for existing excludes in /etc/yum.conf ansible.builtin.command: cmd: "grep -i exclude= /etc/yum.conf" register: yum_exclude_check failed_when: yum_exclude_check['rc'] not in [0, 1] changed_when: false - name: Capture current excludes if present ansible.builtin.set_fact: yum_current_excludes: "{{ yum_exclude_check['stdout'] | regex_replace('^exclude=', '') }}" - name: Debug yum_current_excludes ansible.builtin.debug: var: yum_current_excludes - name: Update yum.conf if Leapp excludes are needed ansible.builtin.lineinfile: path: /etc/yum.conf regexp: "^exclude=" line: "exclude={{ lock_pkgs | join(' ') }} {{ yum_current_excludes }}" when: - lock_pkgs | join(' ') not in yum_current_excludes - name: Re-check for existing excludes ansible.builtin.command: cmd: "grep -i exclude= /etc/yum.conf" register: yum_exclude_recheck failed_when: yum_exclude_recheck['rc'] not in [0, 1] changed_when: false - name: Capture current excludes if present ansible.builtin.set_fact: yum_post_excludes: "{{ yum_exclude_recheck['stdout'] | regex_replace('^exclude=', '') }}" - name: Debug yum_current_excludes ansible.builtin.debug: var: yum_post_excludes - name: Set fact ansible.builtin.set_fact: foo_bar: "{{ lock_pkgs | join(' ') }}" - name: Debug yum_current_excludes minus lock_pkgs ansible.builtin.debug: msg: "{{ yum_post_excludes | regex_replace(foo_bar) }} -> {{ foo_bar }}"