From 3b5b1086cd7d42bc3529bff13be715d22f6931c9 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Wed, 24 Jan 2024 22:13:57 +0100 Subject: [PATCH] feat: add option to remove packages in a pre-task --- defaults/main.yml | 3 +++ tasks/config.yml | 10 -------- tasks/main.yml | 58 ++++++++++++++++++++++++++++++++++++++++++-- tasks/repository.yml | 44 --------------------------------- 4 files changed, 59 insertions(+), 56 deletions(-) delete mode 100644 tasks/config.yml delete mode 100644 tasks/repository.yml diff --git a/defaults/main.yml b/defaults/main.yml index 76f26a4..96220b9 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -17,6 +17,9 @@ packages_enablerepo: [] packages_install: [] packages_install_extra: [] +packages_uninstall_pre: [] +packages_uninstall_pre_extra: [] + packages_uninstall: - setroubleshoot - mcstransd diff --git a/tasks/config.yml b/tasks/config.yml deleted file mode 100644 index 50ec798..0000000 --- a/tasks/config.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Adjust packages config file - template: - src: etc/dnf/dnf.conf.j2 - dest: /etc/dnf/dnf.conf - owner: root - group: root - mode: 0644 - become: True - become_user: root diff --git a/tasks/main.yml b/tasks/main.yml index 622735c..1eadb31 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,3 +1,57 @@ --- -- include_tasks: config.yml -- include_tasks: repository.yml +- block: + - name: Uninstall pre packages + package: + name: "{{ item }}" + state: absent + loop: "{{ packages_uninstall_pre + packages_uninstall_pre_extra }}" + + - name: Adjust packages config file + template: + src: etc/dnf/dnf.conf.j2 + dest: /etc/dnf/dnf.conf + owner: root + group: root + mode: 0644 + + - name: Remove repository files + file: + name: "/etc/yum.repos.d/{{ item }}" + state: absent + loop: "{{ packages_repofiles_remove }}" + loop_control: + label: "/etc/yum.repos.d/{{ item }}" + notify: __packages_clean_metadata + + - name: Add common repositories + yum_repository: + name: "{{ item.name }}" + file: "{{ item.filename | default(omit) }}" + description: "{{ item.desc | default(omit) }}" + baseurl: "{{ item.baseurl | default(omit) }}" + gpgkey: "{{ item.gpgkey | default(omit) }}" + gpgcheck: "{{ item.gpgcheck | default('yes') }}" + sslverify: "{{ item.sslverify | default('yes') }}" + enabled: "{{ item.enabled | default('yes') }}" + state: "{{ item.state | default('present') }}" + loop: "{{ packages_yum_repositories + packages_yum_repositories_extra }}" + loop_control: + label: "{{ item.name }}" + notify: + - __packages_upgrade + - __packages_clean_metadata + + - name: Uninstall packages + package: + name: "{{ item }}" + state: absent + loop: "{{ packages_uninstall + packages_uninstall_extra }}" + + - name: Install common packages + package: + name: "{{ item }}" + enablerepo: "{{ packages_enablerepo }}" + state: present + loop: "{{ packages_install + packages_install_extra }}" + become: True + become_user: root diff --git a/tasks/repository.yml b/tasks/repository.yml deleted file mode 100644 index 78066dc..0000000 --- a/tasks/repository.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -- block: - - name: Remove repository files - file: - name: "/etc/yum.repos.d/{{ item }}" - state: absent - loop: "{{ packages_repofiles_remove }}" - loop_control: - label: "/etc/yum.repos.d/{{ item }}" - notify: __packages_clean_metadata - - - name: Add common repositories - yum_repository: - name: "{{ item.name }}" - file: "{{ item.filename | default(omit) }}" - description: "{{ item.desc | default(omit) }}" - baseurl: "{{ item.baseurl | default(omit) }}" - gpgkey: "{{ item.gpgkey | default(omit) }}" - gpgcheck: "{{ item.gpgcheck | default('yes') }}" - sslverify: "{{ item.sslverify | default('yes') }}" - enabled: "{{ item.enabled | default('yes') }}" - state: "{{ item.state | default('present') }}" - loop: "{{ packages_yum_repositories + packages_yum_repositories_extra }}" - loop_control: - label: "{{ item.name }}" - notify: - - __packages_upgrade - - __packages_clean_metadata - - - name: Uninstall packages - package: - name: "{{ item }}" - enablerepo: "{{ packages_enablerepo }}" - state: absent - loop: "{{ packages_uninstall + packages_uninstall_extra }}" - - - name: Install common packages - package: - name: "{{ item }}" - enablerepo: "{{ packages_enablerepo }}" - state: present - loop: "{{ packages_install + packages_install_extra }}" - become: True - become_user: root