diff options
| author | Egor Tensin <egor@tensin.name> | 2025-11-23 17:32:30 +0100 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2025-11-23 18:47:43 +0100 |
| commit | 15bdc3b966c7e1dc11d00e6ea7c216b09d4b837a (patch) | |
| tree | 0b90bc64aaa9b8078649527d6818341150aa8c12 /roles | |
| parent | my_dotfiles: prettier repo URL (diff) | |
| download | infra-ansible-15bdc3b966c7e1dc11d00e6ea7c216b09d4b837a.tar.gz infra-ansible-15bdc3b966c7e1dc11d00e6ea7c216b09d4b837a.zip | |
plugins: add apt_wrapper
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/apt/tasks/main.yml | 74 | ||||
| -rw-r--r-- | roles/apt_install/tasks/main.yml | 41 |
2 files changed, 21 insertions, 94 deletions
diff --git a/roles/apt/tasks/main.yml b/roles/apt/tasks/main.yml index 2e4fc3b..dd5db7b 100644 --- a/roles/apt/tasks/main.yml +++ b/roles/apt/tasks/main.yml @@ -1,20 +1,9 @@ -- name: Get dpkg.log - ansible.builtin.shell: | - set -o pipefail && \ - if [ -s /var/log/dpkg.log ]; then \ - grep ' install \| upgrade \| remove \| purge ' /var/log/dpkg.log \ - | cut -d ' ' -f 3-5 ; \ - fi - vars: - ansible_shell_executable: /bin/bash - register: dpkg_log1 - changed_when: false - - name: Upgrade packages become: true - ansible.builtin.apt: - update_cache: true - upgrade: dist + tensin.infra.apt_wrapper: + apt_args: + update_cache: true + upgrade: dist register: apt_result - name: Reboot @@ -24,58 +13,23 @@ reboot_timeout: 180 when: apt_result is changed -- name: Get dpkg.log - ansible.builtin.shell: | - set -o pipefail && \ - if [ -s /var/log/dpkg.log ]; then \ - grep ' install \| upgrade \| remove \| purge ' /var/log/dpkg.log \ - | cut -d ' ' -f 3-5 ; \ - fi - vars: - ansible_shell_executable: /bin/bash - register: dpkg_log2 - changed_when: false - - name: Show upgraded packages ansible.builtin.debug: - var: dpkg_log_diff - when: dpkg_len_diff > 0 - vars: - dpkg_log1_len: '{{ dpkg_log1.stdout_lines | length }}' - dpkg_log2_len: '{{ dpkg_log2.stdout_lines | length }}' - dpkg_len_diff: '{{ dpkg_log2_len - dpkg_log1_len }}' - dpkg_log_diff: '{{ dpkg_log2.stdout_lines[-dpkg_len_diff:] }}' - -- name: Reboot if necessary - ansible.builtin.meta: flush_handlers + var: apt_result.packages + when: apt_result is changed - name: Clean up dependencies become: true - ansible.builtin.apt: - autoremove: true - purge: true - -- name: Get dpkg.log - ansible.builtin.shell: | - set -o pipefail && \ - if [ -s /var/log/dpkg.log ]; then \ - grep ' install \| upgrade \| remove \| purge ' /var/log/dpkg.log \ - | cut -d ' ' -f 3-5 ; \ - fi - vars: - ansible_shell_executable: /bin/bash - register: dpkg_log3 - changed_when: false + tensin.infra.apt_wrapper: + apt_args: + autoremove: true + purge: true + register: apt_result -- name: Show upgraded packages +- name: Show removed dependencies ansible.builtin.debug: - var: dpkg_log_diff - when: dpkg_len_diff > 0 - vars: - dpkg_log2_len: '{{ dpkg_log2.stdout_lines | length }}' - dpkg_log3_len: '{{ dpkg_log3.stdout_lines | length }}' - dpkg_len_diff: '{{ dpkg_log3_len - dpkg_log2_len }}' - dpkg_log_diff: '{{ dpkg_log3.stdout_lines[-dpkg_len_diff:] }}' + var: apt_result.packages + when: apt_result is changed - name: Configure unattended-upgrades ansible.builtin.include_tasks: unattended_upgrades.yml diff --git a/roles/apt_install/tasks/main.yml b/roles/apt_install/tasks/main.yml index 19204e1..022d9d2 100644 --- a/roles/apt_install/tasks/main.yml +++ b/roles/apt_install/tasks/main.yml @@ -1,39 +1,12 @@ -- name: Get dpkg.log - ansible.builtin.shell: | - set -o pipefail && \ - if [ -s /var/log/dpkg.log ]; then \ - grep ' install \| upgrade \| remove \| purge ' /var/log/dpkg.log \ - | cut -d ' ' -f 3-5 ; \ - fi - vars: - ansible_shell_executable: /bin/bash - register: dpkg_log1 - changed_when: false - - name: Install packages become: true - ansible.builtin.package: - name: '{{ apt_install_packages }}' - state: present - -- name: Get dpkg.log - ansible.builtin.shell: | - set -o pipefail && \ - if [ -s /var/log/dpkg.log ]; then \ - grep ' install \| upgrade \| remove \| purge ' /var/log/dpkg.log \ - | cut -d ' ' -f 3-5 ; \ - fi - vars: - ansible_shell_executable: /bin/bash - register: dpkg_log2 - changed_when: false + tensin.infra.apt_wrapper: + apt_args: + name: '{{ apt_install_packages }}' + state: present + register: apt_result - name: Show installed packages ansible.builtin.debug: - var: dpkg_log_diff - when: dpkg_len_diff > 0 - vars: - dpkg_log1_len: '{{ dpkg_log1.stdout_lines | length }}' - dpkg_log2_len: '{{ dpkg_log2.stdout_lines | length }}' - dpkg_len_diff: '{{ dpkg_log2_len - dpkg_log1_len }}' - dpkg_log_diff: '{{ dpkg_log2.stdout_lines[-dpkg_len_diff:] }}' + var: apt_result.packages + when: apt_result is changed |
