rolle umbenannt

Co-authored-by: Michael Grote <michael.grote@posteo.de>
Reviewed-on: mg/ansible#122
Co-Authored-By: mg <mg@noreply.git.mgrote.net>
Co-Committed-By: mg <mg@noreply.git.mgrote.net>
This commit is contained in:
Michael Grote 2021-06-20 10:55:38 +02:00
parent 84e1d81384
commit c5af0719aa
7 changed files with 130 additions and 1 deletions

View file

@ -2,4 +2,4 @@
- hosts: all
become: yes
roles:
- { role: mgrote.r8152_kernel_module }
- { role: mgrote.r8152_kernel_module_on_off }

View file

@ -0,0 +1,16 @@
## mgrote.r8152_kernel_module
### Beschreibung
Installiert das Module r8152 für die 2.5G USB-C Ethernetkarte DN3025 von Digitus.
Startet den PC neu.
### Funktioniert auf
- [x] ProxMox 6.1
### Variablen + Defaults
see [defaults](./defaults/main.yml)
``r8152_module_needed`` muss pro Host gesetzt werden.
### Siehe auch
* [Link zum Treiber](https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software)

View file

@ -0,0 +1,11 @@
---
r8152_filename: r8152.53.56-2.15.0
r8152_packages:
- pve-headers
- build-essential
- make
r8152_reboot_timeout: 90
r8152_pre_reboot_delay: 120
r8152_post_reboot_delay: 60
r8152_module_needed: false
r8152_safekeeping_reboot_delay: 12

View file

@ -0,0 +1,3 @@
---
collections:
- community.general

View file

@ -0,0 +1,83 @@
---
- name: install needed packages
become: yes
ansible.builtin.package:
name: "{{ r8152_packages }}"
state: present
register: aptp
- name: add reboot(for safekeeping)
become: yes
ansible.builtin.shell: shutdown -r "{{ r8152_safekeeping_reboot_delay }}"
- name: update apt cache
become: yes
ansible.builtin.apt:
update_cache: yes
register: aptc
- name: updated installed packages
become: yes
ansible.builtin.package:
upgrade: dist
register: apti
- name: reboot - 1
ansible.builtin.reboot:
reboot_timeout: "{{ r8152_reboot_timeout }}"
pre_reboot_delay: "{{ r8152_reboot_timeout }}"
post_reboot_delay: "{{ r8152_post_reboot_delay }}"
when:
- aptp.changed
- apti.changed
- aptc.changed
- name: create dirs
ansible.builtin.file:
path: "{{ item }}"
state: directory
loop:
- "/tmp/r8152/"
- "/lib/modules/r8152/{{ r8152_filename }}"
- name: copy archive
become: yes
ansible.builtin.copy:
src: "files/{{ r8152_filename }}.tar.bz2"
dest: "/tmp/r8152/{{ r8152_filename }}.tar.bz2"
mode: '0775'
- name: extract archive
become: yes
ansible.builtin.unarchive:
src: "/tmp/r8152/{{ r8152_filename }}.tar.bz2"
dest: "/lib/modules/r8152/{{ r8152_filename }}"
mode: a+x
extra_opts: [--strip-components=1] # entfernt die erste Ebene des Archives
remote_src: yes #datei liegt also auf dem zielsystem
- name: make
community.general.make:
chdir: "/lib/modules/r8152/{{ r8152_filename }}"
become: yes
- name: make install
community.general.make:
chdir: "/lib/modules/r8152/{{ r8152_filename }}"
target: install
become: yes
- name: depmod -a
become: yes
ansible.builtin.shell: depmod -a
- name: reboot - 2
ansible.builtin.reboot:
reboot_timeout: "{{ r8152_reboot_timeout }}"
pre_reboot_delay: "{{ r8152_reboot_timeout }}"
post_reboot_delay: "{{ r8152_post_reboot_delay }}"
- name: cancel reboot(for safekeeping)
become: yes
ansible.builtin.shell: shutdown -c

View file

@ -0,0 +1,16 @@
---
- name: check if module is installed - folder
become: yes
stat:
path: "/lib/modules/r8152/{{ r8152_filename }}"
register: folder_exists
- name: check if module is installed - lsmod
become: yes
ansible.builtin.shell: lsmod
register: module_in_lsmod
changed_when: False # sorgt dafür das der Task nie als "changed" angezeigt wird
- name: include tasks (task get skipped if the folder or the module exists or r8152_module_needed == false)
include_tasks: doing.yml
when: ((folder_exists.stat.exists == False) or (module_in_lsmod.stdout.find('r8152') == -1)) and (r8152_module_needed == true)