--- - name: Bring up Docker containers hosts: localhost gather_facts: false vars: inventory: - name: ubuntu_latest image: "ubuntu:latest" - name: ubuntu_bionic image: "ubuntu:bionic" - name: ubuntu_xenial image: "ubuntu:xenial" - name: ubuntu_trusty image: "ubuntu:trusty" # 6/2020: Disabled Debian Testing due to missing python packages (python-apt) #- name: debian_testing # image: "debian:testing" - name: debian_stable image: "debian:stable" - name: debian_oldstable image: "debian:oldstable" roles: - role: provision_docker provision_docker_inventory: "{{ inventory }}" provision_docker_privileged: true provision_docker_use_docker_connection: true - name: Test role hosts: docker_containers gather_facts: false pre_tasks: - name: Provision Python raw: bash -c "test -e /usr/bin/python || (apt-get -y update && apt-get install -y python)" register: output changed_when: output.stdout - name: Gather facts setup: vars: unattended_autofix_interrupted_dpkg: false unattended_minimal_steps: true unattended_install_on_shutdown: true unattended_automatic_reboot: true unattended_update_days: '{"Sat"}' roles: # Searched for in ../.. (see ansible.cfg) - ansible-role-unattended-upgrades tasks: - name: Idempotency check include_role: name: ansible-role-unattended-upgrades register: idempotency - name: fail when idempotency.changed fail: msg: Role failed idempotency check when: idempotency.changed - name: Get apt-config variables command: apt-config dump register: aptconfig changed_when: false - name: Check for registered variables assert: that: item in aptconfig.stdout with_items: - 'APT::Periodic::Unattended-Upgrade "1"' - 'Unattended-Upgrade::AutoFixInterruptedDpkg "false"' - 'Unattended-Upgrade::MinimalSteps "true"' - 'Unattended-Upgrade::InstallOnShutdown "true"' - 'Unattended-Upgrade::Automatic-Reboot "true"' # NOTE: this uses the array syntax, which requires one # top-level record, then one item per line - 'Unattended-Upgrade::Update-Days "";' - 'Unattended-Upgrade::Update-Days:: "Sat";' - name: Dry run unattended-upgrades command: /usr/bin/unattended-upgrades --dry-run changed_when: idempotency.changed|bool