DEV-1028: added role version check

qa
Sven Ketelsen 3 years ago
parent 6f01e9d0c3
commit f8b5e47b0e

@ -25,23 +25,23 @@ roles:
- name: hetzner-ansible-filebeat - name: hetzner-ansible-filebeat
src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-filebeat-role.git src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-filebeat-role.git
scm: git scm: git
version: 0.0.4 version: 0.0.6
- name: hetzner-ansible-metricbeat - name: hetzner-ansible-metricbeat
src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-metricbeat-role.git src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-metricbeat-role.git
scm: git scm: git
version: 0.0.3 version: 0.0.5
- name: hetzner-ansible-node-exporter - name: hetzner-ansible-node-exporter
src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-node-exporter-role.git src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-node-exporter-role.git
scm: git scm: git
version: 0.0.3 version: 0.0.4
- name: hetzner-ansible-traefik - name: hetzner-ansible-traefik
src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-traefik-role.git src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-traefik-role.git
scm: git scm: git
version: 0.0.3 version: 0.0.4
- name: hetzner-ansible-sma-deploy - name: hetzner-ansible-sma-deploy
src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-sma-deploy-role.git src: git@git.dev-at.de:smardigo-hetzner/ansible/hetzner-ansible-roles/hetzner-ansible-sma-deploy-role.git
scm: git scm: git
version: 0.0.3 version: 0.0.4
collections: collections:

@ -3,6 +3,9 @@
- name: 'apply setup to {{ host | default("all") }}' - name: 'apply setup to {{ host | default("all") }}'
hosts: '{{ host | default("all") }}' hosts: '{{ host | default("all") }}'
serial: "{{ serial_number | default(5) }}" serial: "{{ serial_number | default(5) }}"
vars:
hetzner_ansible_dns_current_version: "{{ lookup('file', 'galaxy-requirements.yml') | regex_search('- name:\\s+hetzner-ansible-dns\\s+src:\\s+.*?\\s+scm:\\s+git\\s+version:\\s+(.*)', '\\1') }}"
hetzner_ansible_hcloud_current_version: "{{ lookup('file', 'galaxy-requirements.yml') | regex_search('- name:\\s+hetzner-ansible-hcloud\\s+src:\\s+.*?\\s+scm:\\s+git\\s+version:\\s+(.*)', '\\1') }}"
gather_facts: no gather_facts: no
become: no become: no
@ -15,6 +18,36 @@
tags: tags:
- always - always
- name: "get hetzner-ansible-dns version"
include_role:
name: hetzner-ansible-dns
tasks_from: _get_version.yml
tags:
- always
- name: "Check if hetzner-ansible-dns version matches"
assert:
that:
- "'{{ hetzner_ansible_dns_version }}' in {{ hetzner_ansible_dns_current_version }}"
msg: "The current hetzner-ansible-dns version has to be {{ hetzner_ansible_dns_current_version }}"
tags:
- always
- name: "get hetzner-ansible-hcloud version"
include_role:
name: hetzner-ansible-hcloud
tasks_from: _get_version.yml
tags:
- always
- name: "Check if hetzner-ansible-hcloud version matches"
assert:
that:
- "'{{ hetzner_ansible_hcloud_version }}' in {{ hetzner_ansible_hcloud_current_version }}"
msg: "The current hetzner-ansible-dns version has to be {{ hetzner_ansible_hcloud_current_version }}"
tags:
- always
- name: "Getting all firewalls from hetzner" - name: "Getting all firewalls from hetzner"
uri: uri:
url: "https://api.hetzner.cloud/v1/firewalls" url: "https://api.hetzner.cloud/v1/firewalls"

@ -6,6 +6,11 @@
strategy: free strategy: free
vars: vars:
ansible_ssh_host: "{{ stage_server_domain }}" ansible_ssh_host: "{{ stage_server_domain }}"
hetzner_ansible_common_current_version: "{{ lookup('file', 'galaxy-requirements.yml') | regex_search('- name:\\s+hetzner-ansible-common\\s+src:\\s+.*?\\s+scm:\\s+git\\s+version:\\s+(.*)', '\\1') }}"
hetzner_ansible_node_exporter_current_version: "{{ lookup('file', 'galaxy-requirements.yml') | regex_search('- name:\\s+hetzner-ansible-node-exporter\\s+src:\\s+.*?\\s+scm:\\s+git\\s+version:\\s+(.*)', '\\1') }}"
hetzner_ansible_filebeat_current_version: "{{ lookup('file', 'galaxy-requirements.yml') | regex_search('- name:\\s+hetzner-ansible-filebeat\\s+src:\\s+.*?\\s+scm:\\s+git\\s+version:\\s+(.*)', '\\1') }}"
hetzner_ansible_metricbeat_current_version: "{{ lookup('file', 'galaxy-requirements.yml') | regex_search('- name:\\s+hetzner-ansible-metricbeat\\s+src:\\s+.*?\\s+scm:\\s+git\\s+version:\\s+(.*)', '\\1') }}"
hetzner_ansible_traefik_current_version: "{{ lookup('file', 'galaxy-requirements.yml') | regex_search('- name:\\s+hetzner-ansible-traefik\\s+src:\\s+.*?\\s+scm:\\s+git\\s+version:\\s+(.*)', '\\1') }}"
remote_user: root remote_user: root
become: yes become: yes
@ -18,6 +23,82 @@
tags: tags:
- always - always
- name: "get hetzner-ansible-common version"
include_role:
name: hetzner-ansible-common
tasks_from: _get_version.yml
tags:
- always
- name: "Check if hetzner-ansible-common version matches"
assert:
that:
- "'{{ hetzner_ansible_common_version }}' in {{ hetzner_ansible_common_current_version }}"
msg: "The current hetzner-ansible-common version has to be {{ hetzner_ansible_common_current_version }}"
tags:
- always
- name: "get hetzner-ansible-node-exporter version"
include_role:
name: hetzner-ansible-node-exporter
tasks_from: _get_version.yml
tags:
- always
- name: "Check if hetzner-ansible-node-exporter version matches"
assert:
that:
- "'{{ hetzner_ansible_node_exporter_version }}' in {{ hetzner_ansible_node_exporter_current_version }}"
msg: "The current hetzner-ansible-node_exporter version has to be {{ hetzner_ansible_node_exporter_current_version }}"
tags:
- always
- name: "get hetzner-ansible-filebeat version"
include_role:
name: hetzner-ansible-filebeat
tasks_from: _get_version.yml
tags:
- always
- name: "Check if hetzner-ansible-filebeat version matches"
assert:
that:
- "'{{ hetzner_ansible_filebeat_version }}' in {{ hetzner_ansible_filebeat_current_version }}"
msg: "The current hetzner-ansible-filebeat version has to be {{ hetzner_ansible_filebeat_current_version }}"
tags:
- always
- name: "get hetzner-ansible-metricbeat version"
include_role:
name: hetzner-ansible-metricbeat
tasks_from: _get_version.yml
tags:
- always
- name: "Check if hetzner-ansible-metricbeat version matches"
assert:
that:
- "'{{ hetzner_ansible_metricbeat_version }}' in {{ hetzner_ansible_metricbeat_current_version }}"
msg: "The current hetzner-ansible-metricbeat version has to be {{ hetzner_ansible_metricbeat_current_version }}"
tags:
- always
- name: "get hetzner-ansible-traefik version"
include_role:
name: hetzner-ansible-traefik
tasks_from: _get_version.yml
tags:
- always
- name: "Check if hetzner-ansible-traefik version matches"
assert:
that:
- "'{{ hetzner_ansible_traefik_version }}' in {{ hetzner_ansible_traefik_current_version }}"
msg: "The current hetzner-ansible-traefik version has to be {{ hetzner_ansible_traefik_current_version }}"
tags:
- always
- name: Remove outdated dependencies - name: Remove outdated dependencies
apt: apt:
name: [ name: [

Loading…
Cancel
Save