From 56add31e8d747bbe75a55d96e5727bb28aa72d7a Mon Sep 17 00:00:00 2001 From: Lilian Roller Date: Mon, 13 May 2019 17:38:29 +0200 Subject: [PATCH] implement version checking --- defaults/main.yml | 1 + tasks/main.yml | 33 +++++++++++++++++++++++++++++++++ vars/main.yml | 3 +++ 3 files changed, 37 insertions(+) create mode 100644 vars/main.yml diff --git a/defaults/main.yml b/defaults/main.yml index 24373ee..524b6b2 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -35,3 +35,4 @@ fedora_packages: - libselinux-python upgrade_packages_to_latest_version: false +submodules_versioncheck: true diff --git a/tasks/main.yml b/tasks/main.yml index 0938141..a736f9e 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,4 +1,37 @@ --- +- name: Create directory for versionscheck + become: true + file: + path: '/etc/ansible-version' + state: directory + mode: 0755 + when: submodules_versioncheck + +- name: check playbook version + become: true + slurp: + src: "{{ playbook_version_path }}" + register: playbook_version + when: submodules_versioncheck + 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 + +- 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 - name: Install common base packages [Debian] become: yes diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..9a46404 --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,3 @@ +--- +playbook_version_number: 100 +playbook_version_path: '/etc/ansible-version/base-packages_ffbsee_github.version'