diff --git a/tasks/main.yml b/tasks/main.yml index 90dc574..46412af 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,37 +1,5 @@ --- -- 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 - changed_when: false - -- 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 }}" +- include_tasks: versioncheck.yml when: submodules_versioncheck|bool - name: Install common base packages [Debian] diff --git a/tasks/versioncheck.yml b/tasks/versioncheck.yml new file mode 100644 index 0000000..0d301df --- /dev/null +++ b/tasks/versioncheck.yml @@ -0,0 +1,40 @@ +--- +- 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 + changed_when: false + +- name: Print remote role version + debug: + msg: "Remote role version: {{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}" + when: submodules_versioncheck|bool + +- name: Print locale role version + debug: + msg: "Local role version: '{{ playbook_version_number|string }}'." + when: submodules_versioncheck|bool + +- name: Check if your version is outdated + fail: + msg: "Your ansible module has the version '{{ playbook_version_number }}' and is outdated. You need to update it!" + when: + - playbook_version.content|default("Mgo=")|b64decode|int - 1 >= playbook_version_number|int and submodules_versioncheck|bool + +- name: write new version to remote disk + become: true + copy: + content: "{{ playbook_version_number }}" + dest: "{{ playbook_version_path }}" + when: submodules_versioncheck|bool diff --git a/vars/main.yml b/vars/main.yml index 2c07618..11f60a4 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -37,5 +37,5 @@ fedora_packages: - mtr - libselinux-python -playbook_version_number: 101 +playbook_version_number: 102 playbook_version_path: '/etc/ansible-version/base-packages_ffbsee_github.version'