--- - name: get rid of useless grub warning file: path: /etc/grub.d/30_os-prober state: absent # todo - use /etc/os-release instead? - name: preliminary requirement apt: name: - lsb-release # define distro on debian family systems update_cache: false # we didn't update sources.list yet autoremove: true purge: true # # distro flavor & release # # debian vs ubuntu - required by sources.list - name: define distro flavor on debian systems shell: executable: /bin/bash cmd: "lsb_release -is 2>/dev/null | tr A-Z a-z || echo unknown" register: flavor changed_when: false check_mode: false - debug: var=flavor.stdout # non debian nor ubuntu (e.g. mint) release names (e.g. vera based on jammy) are problematic # we prefer to get an error in that case - assert: that: flavor.stdout == 'debian' or flavor.stdout == 'ubuntu' # e.g. bookworm vs focal - required by sources.list - name: define distro release on debian systems shell: executable: /bin/bash cmd: "lsb_release -cs 2>/dev/null || echo unknown" register: release changed_when: false check_mode: false - debug: var=release.stdout - name: disable modern ubuntu repo style file: path: /etc/apt/sources.list.d/ubuntu.sources state: absent when: flavor.stdout == 'ubuntu' - name: quell source format warnings copy: content: | # CONFIGURED BY ANSIBLE APT::Get::Update::SourceListWarnings "false"; dest: /etc/apt/apt.conf.d/10quellsourceformatwarnings when: release.stdout == 'resolute' - name: package mgmt setup on debian systems template: src: sources.list dest: /etc/apt/sources.list #- debug: var=group_names # variable deference against acng_HOST_GROUP - set_fact: #acng: "{{ vars['acng_' + group_names[0]] }}" acng: "{{ vars['acng_' + item] }}" loop: "{{ group_names }}" when: ('acng_' + item) in vars and acng is not defined #- debug: var=acng - name: setup debian repository proxy copy: content: | # CONFIGURED BY ANSIBLE Acquire::http { Proxy "http://{{acng}}:3142"; }; dest: /etc/apt/apt.conf.d/01proxy when: skip_acng is undefined