mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-07-27 00:05:44 +02:00
Update to 2022-08-03 16:00
This commit is contained in:
11
roles/cni_plugins/defaults/main.yml
Normal file
11
roles/cni_plugins/defaults/main.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
|
||||
# Version of the CNI plugins to install
|
||||
cni_version: 1.1.1
|
||||
# Archive where the pre compiled bin archive will be downloaded
|
||||
cni_archive_url: https://github.com/containernetworking/plugins/releases/download/v{{ cni_version }}/cni-plugins-linux-amd64-v{{ cni_version }}.tgz
|
||||
# Expected checksum of the archive
|
||||
cni_archive_sha256: b275772da4026d2161bf8a8b41ed4786754c8a93ebfb6564006d5da7f23831e5
|
||||
|
||||
# Where the plugins will be installed (binaries will be extracted in a /bin sub-directory)
|
||||
cni_root_dir: /opt/cni
|
14
roles/cni_plugins/tasks/archive_post.yml
Normal file
14
roles/cni_plugins/tasks/archive_post.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
|
||||
- name: Compress previous version
|
||||
command: tar cf {{ cni_root_dir }}/archives/{{ cni_current_version }}.tar.zst ./ --use-compress-program=zstd
|
||||
args:
|
||||
chdir: "{{ cni_root_dir }}/archives/{{ cni_current_version }}"
|
||||
warn: False
|
||||
environment:
|
||||
ZSTD_CLEVEL: 10
|
||||
tags: cni
|
||||
|
||||
- name: Remove archive dir
|
||||
file: path={{ cni_root_dir }}/archives/{{ cni_current_version }} state=absent
|
||||
tags: cni
|
14
roles/cni_plugins/tasks/archive_pre.yml
Normal file
14
roles/cni_plugins/tasks/archive_pre.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
|
||||
- name: Create the archive dir
|
||||
file: path={{ cni_root_dir }}/archives/{{ cni_current_version }} state=directory
|
||||
tags: cni
|
||||
|
||||
- name: Archive current version
|
||||
synchronize:
|
||||
src: "{{ cni_root_dir }}/bin"
|
||||
dest: "{{ cni_root_dir }}/archives/{{ cni_current_version }}/"
|
||||
compress: False
|
||||
delete: True
|
||||
delegate_to: "{{ inventory_hostname }}"
|
||||
tags: cni
|
7
roles/cni_plugins/tasks/cleanup.yml
Normal file
7
roles/cni_plugins/tasks/cleanup.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Remove tmp and obsolete files
|
||||
file: path={{ item }} state=absent
|
||||
loop:
|
||||
- "{{ cni_root_dir }}/tmp/cni-plugins-linux-amd64-v1.1.1.tgz"
|
||||
tags: cni
|
13
roles/cni_plugins/tasks/directories.yml
Normal file
13
roles/cni_plugins/tasks/directories.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
|
||||
- name: Create directories
|
||||
file: path={{ item.dir }} state=directory mode={{ item.mode | default(omit) }}
|
||||
loop:
|
||||
- dir: "{{ cni_root_dir }}"
|
||||
- dir: "{{ cni_root_dir }}/bin"
|
||||
- dir: "{{ cni_root_dir }}/archives"
|
||||
- dir: "{{ cni_root_dir }}/meta"
|
||||
mode: 700
|
||||
- dir: "{{ cni_root_dir }}/tmp"
|
||||
mode: 700
|
||||
tags: cni
|
12
roles/cni_plugins/tasks/facts.yml
Normal file
12
roles/cni_plugins/tasks/facts.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
|
||||
# Detect installed version (if any)
|
||||
- block:
|
||||
- import_tasks: ../includes/webapps_set_install_mode.yml
|
||||
vars:
|
||||
- root_dir: "{{ cni_root_dir }}"
|
||||
- version: "{{ cni_version }}"
|
||||
- set_fact: cni_install_mode={{ install_mode }}
|
||||
- set_fact: cni_current_version={{ current_version | default('') }}
|
||||
tags: cni
|
||||
|
18
roles/cni_plugins/tasks/install.yml
Normal file
18
roles/cni_plugins/tasks/install.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
|
||||
- when: cni_install_mode != 'none'
|
||||
block:
|
||||
|
||||
- name: Download the CNI plugins
|
||||
get_url:
|
||||
url: "{{ cni_archive_url }}"
|
||||
dest: "{{ cni_root_dir }}/tmp"
|
||||
checksum: sha256:{{ cni_archive_sha256 }}
|
||||
|
||||
- name: Extract archive
|
||||
unarchive:
|
||||
src: "{{ cni_root_dir }}/tmp/cni-plugins-linux-amd64-v{{ cni_version }}.tgz"
|
||||
dest: "{{ cni_root_dir }}/bin/"
|
||||
remote_src: True
|
||||
|
||||
tags: cni
|
24
roles/cni_plugins/tasks/main.yml
Normal file
24
roles/cni_plugins/tasks/main.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
|
||||
- include_tasks: directories.yml
|
||||
tags: always
|
||||
|
||||
- include_tasks: facts.yml
|
||||
tags: always
|
||||
|
||||
- include_tasks: archive_pre.yml
|
||||
when: cni_install_mode == 'upgrade'
|
||||
tags: always
|
||||
|
||||
- include_tasks: install.yml
|
||||
tags: always
|
||||
|
||||
- include_tasks: write_version.yml
|
||||
tags: always
|
||||
|
||||
- include_tasks: archive_post.yml
|
||||
when: cni_install_mode == 'upgrade'
|
||||
tags: always
|
||||
|
||||
- include_tasks: cleanup.yml
|
||||
tags: always
|
5
roles/cni_plugins/tasks/write_version.yml
Normal file
5
roles/cni_plugins/tasks/write_version.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
|
||||
- name: Write installed version
|
||||
copy: content={{ cni_version }} dest={{ cni_root_dir }}/meta/ansible_version
|
||||
tags: cni
|
Reference in New Issue
Block a user