Files
silverblue-playbook/roles/rpm-ostree/tasks/main.yml

75 lines
2.5 KiB
YAML

---
- 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) }}"
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: Add/remove layered packages
community.general.rpm_ostree_pkg:
name: "{{ item.key }}"
state: "{{ item.value.state }}"
become: yes
ignore_errors: yes
loop: "{{ lookup('dict', rpm_ostree_layered_packages, wantlist=True) }}"
when: rpm_ostree_alter_layered_packages | bool