1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_restic_archiver.git synced 2024-08-16 10:09:49 +02:00

Add versionscheck

This commit is contained in:
L3D 2020-12-07 18:32:04 +01:00 committed by Lilian Roller
parent 6917d299a4
commit 0897166ceb
No known key found for this signature in database
GPG key ID: 5215C3441797AB2B
4 changed files with 55 additions and 1 deletions

View file

@ -8,3 +8,6 @@ restic_create_cron: false
restic_dir_owner: '{{ ansible_user | default(ansible_user_id) }}'
restic_dir_group: '{{ ansible_user | default(ansible_user_id) }}'
# version check for this playbook
submodules_versioncheck: true

View file

@ -1,5 +1,6 @@
---
# tasks file for skeleton
- include_tasks: versioncheck.yml
when: submodules_versioncheck|bool
- name: add OS specific variables
include_vars: '{{ loop_vars }}'

View file

@ -10,3 +10,7 @@ _platform_map:
restic_create_paths:
- '{{ restic_download_path }}/bin'
- '{{ restic_script_dir }}'
---
playbook_version_number: 20 # should be over ninethousand
playbook_version_path: 'role-restic_archiver_roles-ansible_github.com.version'

46
versioncheck.yml Normal file
View file

@ -0,0 +1,46 @@
---
- 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: "/etc/.ansible-version/{{ playbook_version_path }}"
register: playbook_version
when: submodules_versioncheck|bool
ignore_errors: yes
failed_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: check if '/etc/ansible-version/' is empty
find:
paths: '/etc/ansible-version/'
register: filesFound
- name: write new version to remote disk
become: true
copy:
content: "{{ playbook_version_number }}"
dest: "/etc/.ansible-version/{{ playbook_version_path }}"
mode: 0644
when: submodules_versioncheck|bool