--- - name: Create directory for versionscheck become: true file: path: '/etc/ansible-version' state: directory mode: 0755 when: submodules_versioncheck|bool - name: check playbook version become: true slurp: src: "{{ playbook_version_path }}" register: playbook_version when: submodules_versioncheck|bool ignore_errors: yes - name: Print version debug: msg: "Remote playbook version: '{{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}'. Local playbook version: '{{ playbook_version_number|string }}'." when: submodules_versioncheck|bool - name: Check if your version is outdated fail: msg: "Your current ansible module has the version '{{ playbook_version_number }}' and is outdated. Please update it at least to version '{{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode }}'!" when: - playbook_version.content|default("Mgo=")|b64decode|int - 1 >= playbook_version_number|int and submodules_versioncheck - name: write new version to remote disk become: true copy: content: "{{ playbook_version_number }}" dest: "{{ playbook_version_path }}" when: submodules_versioncheck|bool - name: Install common base packages [Debian] become: yes apt: package: "{{ base_packages }}" state: present update_cache: yes cache_valid_time: 43200 when: - ansible_distribution == 'Debian' - name: Install common base packages [Debian] become: yes apt: package: "{{ debian_packages }}" state: present update_cache: yes cache_valid_time: 43200 when: ansible_os_family == 'Debian' - name: Install common base packages [all] become: yes package: name: "{{ base_packages }}" state: present when: ansible_distribution != 'Debian' - name: Install common base packages [Fedora] become: yes package: name: "{{ fedora_packages }}" state: present when: ansible_distribution == 'Fedora' - name: Install some common Debian specific packages become: yes apt: package: - debian-goodies - apt-dater-host - apt-transport-https state: present update_cache: yes cache_valid_time: 43200 when: ansible_distribution == 'Debian' - name: Install extra packages become: true package: name: "{{ packages_extra }}" state: present when: - packages_extra is defined - packages_extra != '[]' - name: Remove rpcbind, nfs-common become: yes package: name: - rpcbind - nfs-common state: absent - name: Upgrade all packages to latest become: true package: name: "*" state: latest when: - upgrade_packages_to_latest_version|bool