Skip to content

Commit

Permalink
Merge pull request #1021 from scality/bugfix/962-versionlock-pkgs-1.1
Browse files Browse the repository at this point in the history
Versionlocks docker & node_exporter packages - development/1.1
  • Loading branch information
tcarmet committed Apr 23, 2019
2 parents e149cc8 + 9750bd2 commit 06a830a
Show file tree
Hide file tree
Showing 9 changed files with 80 additions and 5 deletions.
4 changes: 4 additions & 0 deletions ChangeLog.rst
Expand Up @@ -50,6 +50,10 @@ the index provisioning job (:ghpull:`233`).
Release 1.0.2 (in development)
==============================

Bugs fixed
----------
:ghissue:`962` - Versionlocks `docker` & `node_exporter` packages


Release 1.0.1
=============
Expand Down
5 changes: 5 additions & 0 deletions playbooks/deploy.yml
@@ -1,3 +1,5 @@
---

- import_playbook: 'init.yml'
tags: ['init']

Expand All @@ -10,6 +12,9 @@
- import_playbook: '../vendor/kubespray/cluster.yml'
tags: kubespray

- import_playbook: 'kubespray-post.yml'
tags: ['kubespray']

- import_playbook: 'storage-post.yml'
tags: ['storage']

Expand Down
10 changes: 10 additions & 0 deletions playbooks/kubespray-post.yml
@@ -0,0 +1,10 @@
---

- hosts: k8s-cluster
gather_facts: False
tags:
- kubespray
tasks:
- include_role:
name: docker
tasks_from: version_lock
6 changes: 6 additions & 0 deletions playbooks/kubespray-pre.yml
@@ -1,3 +1,5 @@
---

- hosts: k8s-cluster
any_errors_fatal: '{{ any_errors_fatal | default(true) }}'
gather_facts: False
Expand All @@ -6,3 +8,7 @@
roles:
- role: ../vendor/kubespray/roles/kubespray-defaults/
- role: kubespray_var_patcher
tasks:
- include_role:
name: docker
tasks_from: version_unlock
5 changes: 5 additions & 0 deletions playbooks/scale.yml
@@ -1,3 +1,5 @@
---

- import_playbook: 'init.yml'
tags: ['init']

Expand All @@ -10,5 +12,8 @@
- import_playbook: '../vendor/kubespray/scale.yml'
tags: ['kubespray']

- import_playbook: 'kubespray-post.yml'
tags: ['kubespray']

- import_playbook: 'storage-post.yml'
tags: ['storage']
7 changes: 7 additions & 0 deletions roles/docker/defaults/main.yml
@@ -0,0 +1,7 @@
---

docker_yum_versionlock_file: /etc/yum/pluginconf.d/versionlock.list

docker_package_names:
- docker-ce
- docker-engine
25 changes: 25 additions & 0 deletions roles/docker/tasks/version_lock.yml
@@ -0,0 +1,25 @@
---

- name: install yum-plugin-versionlock
yum:
name: yum-plugin-versionlock
state: present

- name: retrieve installed docker package
command: rpm -qa "{{ item }}" --qf "0:%{NAME}-%{VERSION}-%{RELEASE}.*"
args:
warn: no
changed_when: no
register: installed_docker_package
with_items: '{{ docker_package_names }}'

- name: lock docker package version
vars:
versionlock_rule: '{{
installed_docker_package.results |
selectattr("stdout") |
map(attribute="stdout") |
first }}'
lineinfile:
dest: '{{ docker_yum_versionlock_file }}'
line: '{{ versionlock_rule }}'
8 changes: 8 additions & 0 deletions roles/docker/tasks/version_unlock.yml
@@ -0,0 +1,8 @@
---

- name: unlock docker package version
lineinfile:
state: absent
dest: '{{ docker_yum_versionlock_file }}'
regexp: '0:{{ item }}-.*'
with_items: '{{ docker_package_names }}'
15 changes: 10 additions & 5 deletions roles/node_exporter/tasks/main.yml
Expand Up @@ -34,16 +34,21 @@
name: yum-plugin-versionlock
state: present

- name: 'lock version of node_exporter'
lineinfile:
dest: /etc/yum/pluginconf.d/versionlock.list
line: 0:node_exporter-{{ node_exporter_version }}
regexp: '0:node_exporter-.*'
# Unlock before, in case the version of node_exporter has changed,
# otherwise it will prevent the installation of the package,
# even if the versionlock rule is replaced by the new version.
- name: 'unlock version of node_exporter'
shell: yum versionlock delete node_exporter-*
failed_when: no

- name: 'install Prometheus Node exporter'
yum:
name: node_exporter-{{ node_exporter_version }}
state: present
allow_downgrade: yes

- name: 'lock version of node_exporter'
command: yum versionlock add node_exporter-{{ node_exporter_version }}

- name: 'Start and enable the node_exporter service'
service:
Expand Down

0 comments on commit 06a830a

Please sign in to comment.