--- #- name: Create base package list # set_fact: # rpm_ostree_base_packages_list: "{{ rpm_ostree_base_packages_list + [item.key] }}" # loop: "{{ lookup('dict', rpm_ostree_base_packages, wantlist=True) }}" # when: # - item.value.state == 'absent' # - rpm_ostree_alter_base_packages | bool # #- name: Remove base packages # ansible.builtin.shell: # cmd: rpm-ostree override remove "{{ rpm_ostree_base_packages_list }}" || /bin/true # register: result # become: yes # changed_when: '"Run \"systemctl reboot\" to start a reboot" in result.stdout' # when: # - rpm_ostree_alter_base_packages | bool - name: Remove base packages ansible.builtin.shell: cmd: rpm-ostree override remove "{{ item.key }}" || /bin/true register: result become: yes changed_when: '"Run \"systemctl reboot\" to start a reboot" in result.stdout' loop: "{{ lookup('dict', rpm_ostree_base_packages, wantlist=True) }}" when: - item.value.state == 'absent' - rpm_ostree_alter_base_packages | bool - name: Reset base packages ansible.builtin.shell: cmd: rpm-ostree override reset "{{ item.key }}" || /bin/true register: result become: yes changed_when: '"Run \"systemctl reboot\" to start a reboot" in result.stdout' loop: "{{ lookup('dict', rpm_ostree_base_packages) }}" when: - item.value.state == 'present' - rpm_ostree_alter_base_packages | bool - name: Merge kernel params and overwrites set_fact: rpm_ostree_kargs: '{{ rpm_ostree_kargs | combine(rpm_ostree_kargs_overwrite) }}' when: rpm_ostree_kargs_overwrite | default() - name: Set kernel parameters ansible.builtin.command: cmd: rpm-ostree kargs --append-if-missing="{{ item.key }}" register: result become: yes changed_when: '"Kernel arguments updated" in result.stdout' loop: "{{ lookup('dict', rpm_ostree_kargs, wantlist=True) }}" when: - item.value.state == 'present' - rpm_ostree_configure_kargs | bool - name: Remove kernel parameters ansible.builtin.command: cmd: rpm-ostree kargs --delete-if-present="{{ item.key }}" register: result become: yes changed_when: '"Kernel arguments updated" in result.stdout' loop: "{{ lookup('dict', rpm_ostree_kargs, wantlist=True) }}" when: - item.value.state == 'absent' - rpm_ostree_configure_kargs | bool - name: Enable autostaging and autoupdates ansible.builtin.replace: path: /etc/rpm-ostreed.conf regexp: '^#AutomaticUpdatePolicy=none' replace: 'AutomaticUpdatePolicy=stage' become: yes notify: - Reload rpm-ostree configuration - Enable rpm-ostree-automatic when: rpm_ostree_enable_autoupdates | bool - name: Merge layered packages and overwrites set_fact: rpm_ostree_layered_packages: '{{ rpm_ostree_layered_packages | combine(rpm_ostree_layered_packages_overwrite) }}' when: rpm_ostree_layered_packages_overwrite | default() - name: Create layered package list for removal set_fact: rpm_ostree_layered_packages_removal_list: "{{ rpm_ostree_layered_packages_removal_list + [item.key] }}" loop: "{{ lookup('dict', rpm_ostree_layered_packages, wantlist=True) }}" when: - item.value.state == 'absent' - rpm_ostree_alter_layered_packages | bool - name: Remove layered packages community.general.rpm_ostree_pkg: name: "{{ rpm_ostree_layered_packages_removal_list }}" state: "absent" become: yes ignore_errors: yes when: rpm_ostree_alter_layered_packages | bool - name: Create layered package list for installation set_fact: rpm_ostree_layered_packages_install_list: "{{ rpm_ostree_layered_packages_install_list + [item.key] }}" loop: "{{ lookup('dict', rpm_ostree_layered_packages, wantlist=True) }}" when: - item.value.state == 'present' - rpm_ostree_alter_layered_packages | bool - name: Install layered packages community.general.rpm_ostree_pkg: name: "{{ rpm_ostree_layered_packages_install_list }}" state: "present" become: yes ignore_errors: yes when: rpm_ostree_alter_layered_packages | bool - name: Apply-live ansible.builtin.command: cmd: rpm-ostree ex apply-live become: yes when: rpm_ostree_apply_live | bool