major refactoring
This commit is contained in:
@@ -1,120 +1,4 @@
|
||||
---
|
||||
#- 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
|
||||
- name: Include rpm-ostree
|
||||
ansible.builtin.include: rpm-ostree.yml
|
||||
when: rpm_ostree_enable | bool
|
||||
107
roles/rpm-ostree/tasks/rpm-ostree.yml
Normal file
107
roles/rpm-ostree/tasks/rpm-ostree.yml
Normal file
@@ -0,0 +1,107 @@
|
||||
---
|
||||
- name: "rpm-ostree: Enable autoUpdate"
|
||||
ansible.builtin.replace:
|
||||
path: /etc/rpm-ostreed.conf
|
||||
regexp: '^#AutomaticUpdatePolicy=none'
|
||||
replace: 'AutomaticUpdatePolicy=stage'
|
||||
become: yes
|
||||
notify:
|
||||
- "rpm-ostree: Reload rpm-ostree configuration"
|
||||
- "rpm-ostree: Enable timer"
|
||||
when:
|
||||
- rpm_ostree_autoUpdate | bool
|
||||
|
||||
# kernel params
|
||||
- name: "rpm-ostree: Merge kargs with overrides"
|
||||
set_fact:
|
||||
rpm_ostree_kargs: '{{ rpm_ostree_kargs | combine(rpm_ostree_kargs_overrides) }}'
|
||||
when:
|
||||
- rpm_ostree_kargs_overrides | default()
|
||||
- rpm_ostree_modifyKargs | bool
|
||||
|
||||
- name: "rpm-ostree: Set kargs"
|
||||
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_modifyKargs | bool
|
||||
|
||||
- name: "rpm-ostree: Remove kargs"
|
||||
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_modifyKargs | bool
|
||||
|
||||
# base packages
|
||||
- name: "rpm-ostree: Remove basePackages"
|
||||
ansible.builtin.shell:
|
||||
cmd: rpm-ostree overrides 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_basePackages, wantlist=True) }}"
|
||||
when:
|
||||
- item.value.state == 'absent'
|
||||
- rpm_ostree_modifyBasePackages | bool
|
||||
|
||||
- name: "rpm-ostree: Reset basePackages"
|
||||
ansible.builtin.shell:
|
||||
cmd: rpm-ostree overrides 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_basePackages) }}"
|
||||
when:
|
||||
- item.value.state == 'present'
|
||||
- rpm_ostree_modifyBasePackages | bool
|
||||
|
||||
# layered packages
|
||||
- name: "rpm-ostree: Merge layeredPackages with overrides"
|
||||
set_fact:
|
||||
rpm_ostree_layeredPackages: '{{ rpm_ostree_layeredPackages | combine(rpm_ostree_layeredPackages_overrides) }}'
|
||||
when:
|
||||
- rpm_ostree_layeredPackages_overrides | default()
|
||||
- rpm_ostree_modifyLayeredPackages | bool
|
||||
|
||||
- name: "rpm-ostree: Create removalList"
|
||||
set_fact:
|
||||
rpm_ostree_layeredPackages_removalList: "{{ rpm_ostree_layeredPackages_removalList + [item.key] }}"
|
||||
loop: "{{ lookup('dict', rpm_ostree_layeredPackages, wantlist=True) }}"
|
||||
when:
|
||||
- item.value.state == 'absent'
|
||||
- rpm_ostree_modifyLayeredPackages | bool
|
||||
|
||||
- name: "rpm-ostree: Remove layeredPackages"
|
||||
community.general.rpm_ostree_pkg:
|
||||
name: "{{ rpm_ostree_layeredPackages_removalList }}"
|
||||
state: "absent"
|
||||
become: yes
|
||||
ignore_errors: yes
|
||||
when:
|
||||
- rpm_ostree_modifyLayeredPackages | bool
|
||||
|
||||
- name: "rpm-ostree: Create installList"
|
||||
set_fact:
|
||||
rpm_ostree_layeredPackages_installList: "{{ rpm_ostree_layeredPackages_installList + [item.key] }}"
|
||||
loop: "{{ lookup('dict', rpm_ostree_layeredPackages, wantlist=True) }}"
|
||||
when:
|
||||
- item.value.state == 'present'
|
||||
- rpm_ostree_modifyLayeredPackages | bool
|
||||
|
||||
- name: "rpm-ostree: Install layeredPackages"
|
||||
community.general.rpm_ostree_pkg:
|
||||
name: "{{ rpm_ostree_layeredPackages_installList }}"
|
||||
state: "present"
|
||||
become: yes
|
||||
ignore_errors: yes
|
||||
when:
|
||||
- rpm_ostree_modifyLayeredPackages | bool
|
||||
Reference in New Issue
Block a user