Merge branch 'master' into dkms

wip

wip 2

wip

Co-authored-by: Michael Grote <michael.grote@posteo.de>
Reviewed-on: mg/ansible#121
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:56:18 +02:00
parent c5af0719aa
commit 556c5e2d78
6 changed files with 57 additions and 65 deletions

View file

@ -1,11 +1,12 @@
---
r8152_filename: r8152.53.56-2.15.0
r8152_module_needed: false # standardmäßig falsch
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
- dkms
r8152_safekeeping_reboot_delay: 12 # nach wieviel minuten wird der pc neugestartet, tasks wird am ende gelöscht wenn alles erfolgreich war
# damit ist sichergestellt das der pc wieder hochfährt falls etwas passiert
r8152_src_dir: /usr/src/r8125-9.004.01 # wo wird das entpackte archiv abgelegt
r8152_filename: r8125-dkms_9.004.01.tar.gz # wie ist der dateiname auf dem ansible controller
r8152_version: 9.004.01 # wie lautet die versuin

View file

@ -0,0 +1,34 @@
---
- name: dkms add
become: yes
ansible.builtin.shell: dkms add -m r8125 -v "{{ r8152_version }}"
args:
chdir: "{{ r8152_src_dir }}"
- name: dkms build
become: yes
ansible.builtin.shell: dkms build -m r8125 -v "{{ r8152_version }}"
args:
chdir: "{{ r8152_src_dir }}"
- name: dkms install
become: yes
ansible.builtin.shell: dkms install -m r8125 -v "{{ r8152_version }}"
args:
chdir: "{{ r8152_src_dir }}"
- name: depmod -a
become: yes
ansible.builtin.shell: depmod -a
args:
chdir: "{{ r8152_src_dir }}"
- name: update initramfs
become: yes
ansible.builtin.shell: update-initramfs -u
args:
chdir: "{{ r8152_src_dir }}"
- name: reboot
ansible.builtin.reboot:
reboot_timeout: 120

View file

@ -4,8 +4,6 @@
ansible.builtin.package:
name: "{{ r8152_packages }}"
state: present
register: aptp
- name: add reboot(for safekeeping)
become: yes
@ -15,69 +13,24 @@
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 }}"
- "{{ r8152_src_dir }}"
- 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
- name: copy and extract archive
become: yes
ansible.builtin.unarchive:
src: "/tmp/r8152/{{ r8152_filename }}.tar.bz2"
dest: "/lib/modules/r8152/{{ r8152_filename }}"
src: "{{ r8152_filename }}"
dest: "{{ r8152_src_dir }}"
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
remote_src: no #datei liegt also auf dem ansible-controller

View file

@ -1,9 +1,9 @@
---
- 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 - folder
# become: yes
# stat:
# path: "/lib/modules/r8152/{{ r8152_filename }}"
# register: folder_exists
- name: check if module is installed - lsmod
become: yes
@ -11,6 +11,10 @@
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)
- name: include install-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)
when: (module_in_lsmod.stdout.find('r8152') == -1) and (r8152_module_needed == true)
- name: include dkms-tasks (task get skipped if the folder or the module exists or r8152_module_needed == false)
include_tasks: dkms.yml
when: (module_in_lsmod.stdout.find('r8152') == -1) and (r8152_module_needed == true)