2019-05-22 10:57:06 +02:00
|
|
|
---
|
|
|
|
- name: Create directory for versionscheck
|
|
|
|
become: true
|
|
|
|
file:
|
2019-11-15 13:38:35 +01:00
|
|
|
path: '/etc/.ansible-version'
|
2019-05-22 10:57:06 +02:00
|
|
|
state: directory
|
|
|
|
mode: 0755
|
|
|
|
when: submodules_versioncheck|bool
|
|
|
|
|
2019-11-15 13:38:35 +01:00
|
|
|
- name: check legacy playbook version
|
|
|
|
become: true
|
|
|
|
slurp:
|
|
|
|
src: "/etc/ansible-version/{{ playbook_version_path }}"
|
|
|
|
register: legacy_playbook_version
|
|
|
|
when: submodules_versioncheck|bool
|
|
|
|
ignore_errors: yes
|
|
|
|
changed_when: False
|
|
|
|
|
2019-05-22 10:57:06 +02:00
|
|
|
- name: check playbook version
|
|
|
|
become: true
|
|
|
|
slurp:
|
2019-11-15 13:38:35 +01:00
|
|
|
src: "/etc/.ansible-version/{{ playbook_version_path }}"
|
2019-05-22 10:57:06 +02:00
|
|
|
register: playbook_version
|
|
|
|
when: submodules_versioncheck|bool
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- 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
|
2019-11-15 13:38:35 +01:00
|
|
|
- legacy_playbook_version.content|default("Mgo=")|b64decode|int - 1 >= playbook_version_number|int and submodules_versioncheck|bool
|
|
|
|
|
|
|
|
- name: delete legacy version if needed
|
|
|
|
become: true
|
|
|
|
file:
|
|
|
|
state: absent
|
|
|
|
path: "/etc/ansible-version/{{ playbook_version_path }}"
|
|
|
|
|
|
|
|
- name: check if '/etc/ansible-version/' is empty
|
|
|
|
find:
|
|
|
|
paths: '/etc/ansible-version/'
|
|
|
|
register: filesFound
|
|
|
|
|
|
|
|
- name: delete legacy version folder if needed
|
|
|
|
become: true
|
|
|
|
file:
|
|
|
|
state: absent
|
|
|
|
path: "/etc/ansible-version"
|
|
|
|
when: filesFound.matched < 0
|
2019-05-22 10:57:06 +02:00
|
|
|
|
|
|
|
- name: write new version to remote disk
|
|
|
|
become: true
|
|
|
|
copy:
|
|
|
|
content: "{{ playbook_version_number }}"
|
2019-11-15 13:38:35 +01:00
|
|
|
dest: "/etc/.ansible-version/{{ playbook_version_path }}"
|
2019-05-22 10:57:06 +02:00
|
|
|
when: submodules_versioncheck|bool
|