From 5c8c608ab47bfa9a21da8a45b9510719ab00961e Mon Sep 17 00:00:00 2001 From: mg Date: Thu, 10 Feb 2022 20:28:18 +0100 Subject: [PATCH] Einbau neue USV (#325) Co-authored-by: Michael Grote Reviewed-on: https://git.mgrote.net/mg/ansible/pulls/325 Co-authored-by: mg Co-committed-by: mg --- group_vars/proxmox.yml | 22 +++++++++++ playbooks/3_service/proxmox.yml | 2 + roles/mgrote.apcupsd/README.md | 54 ++------------------------ roles/mgrote.apcupsd/defaults/main.yml | 47 ++++++++++++++++------ 4 files changed, 62 insertions(+), 63 deletions(-) diff --git a/group_vars/proxmox.yml b/group_vars/proxmox.yml index e71840fc..f98e6c4c 100644 --- a/group_vars/proxmox.yml +++ b/group_vars/proxmox.yml @@ -93,8 +93,30 @@ env.client /usr/bin/fail2ban-client env.config_dir /etc/fail2ban user root + - name: apcupsd_ww + src: https://git.mgrote.net/mg/mirror-munin-contrib/raw/branch/master/plugins/power/apcupsd_ww + - name: apcupsd_pwr + src: https://git.mgrote.net/mg/munin-plugins/raw/branch/master/extern/apcupsd_pwr + config: | + [apcupsd_pwr] + env.ups_model APC-BX950U-GR + + + ### mgrote.apt_manage_sources manage_sources_apt_proxy: "" # Ansible Variablen ### sudo sudo: false + + ### mgrote.apcupsd + apcupsd_master_onbatterydelay: 10 + apcupsd_master_batterylevel_for_shutdown: 50 + apcupsd_master_minutes_for_shutdown: 10 + apcupsd_master_nologon_when_active: "disable" + + apcupsd_nis_master: true + apcupsd_nis_master_hostname: pve2.grote.lan + apcupsd_nis_master_listen_ip: 0.0.0.0 + apcupsd_nis_master_listen_port: 3551 + apcupsd_ups_name: APC-BX950U-GR diff --git a/playbooks/3_service/proxmox.yml b/playbooks/3_service/proxmox.yml index 4daf123c..1b19e3a7 100644 --- a/playbooks/3_service/proxmox.yml +++ b/playbooks/3_service/proxmox.yml @@ -21,3 +21,5 @@ tags: "r8152" } - { role: mgrote.proxmox_bind_mounts, tags: "bindmounts" } + - { role: mgrote.apcupsd, + tags: "apcupsd" } diff --git a/roles/mgrote.apcupsd/README.md b/roles/mgrote.apcupsd/README.md index 7a28e542..04fa1101 100644 --- a/roles/mgrote.apcupsd/README.md +++ b/roles/mgrote.apcupsd/README.md @@ -3,7 +3,7 @@ ### Beschreibung * Installiert apcupsd. * Auf einem PC als "Master", hier ist die USV per USB angeschlossen. -* Auf allen anderen PCs als "Slave", diese OCs pollen alle n Sekunden den Master. +* Auf allen anderen PCs als "Slave", diese OCs pollen alle Sekunden den Master. * Benoetigt mgrote.postfix. * Getestet mit: APC-BX950U-GR @@ -14,55 +14,7 @@ ### getestet auf - [x] ProxMox 6.1 +- [x] ProxMox 7 ### Variablen + Defaults -##### Zeitspanne in Sekunden, ab der der Systemdienst einen Stromausfall annimmt. Nuetzlich, um sehr kurze Ausfaelle ignorieren zu koennen. Jeweils Master und Slave. -```yaml -apcupsd_master_onbatterydelay: 10 -apcupsd_slave_onbatterydelay: 10 -``` -##### Durch die USV gemeldete Restkapazitaet in Prozent, ab der der Rechner heruntergefahren wird. Jeweils Master und Slave. -```yaml -apcupsd_master_batterylevel_for_shutdown: 50 -apcupsd_slave_batterylevel_for_shutdown: 60 -``` -##### apcupsd will shutdown the system during a power failure when the remaining runtime on batteries as internally calculated by the UPS falls below the specified minutes. Jeweils Master und Slave. -```yaml -apcupsd_master_minutes_for_shutdown: 10 -apcupsd_slave_minutes_for_shutdown: 11 -``` -##### Specifies when apcupsd should create the NOLOGON file to prevent users from logging on to the system. Jeweils Master und Slave. -```yaml -apcupsd_master_nologon_when_active: always -apcupsd_slave_nologon_when_active: always -``` - -##### Ist der Server MASTER, also ist die USV an diesem Computer angeschlossen, kann nur für einen PC "true" sein. Jeweils Master und Slave. -```yaml -apcupsd_nis_master: "true" -``` - -##### Wenn "true" ist dieser Host master, für alle anderen "false", das muss nicht explizit gesetzt werden. -```yaml -apcupsd_nis_master: on -``` - -##### FQDN oder IP des "master" -```yaml -apcupsd_nis_master_hostname: pve2.grote.lan -``` - -##### Interface auf dem der "Master" erreichbar ist. -```yaml -apcupsd_nis_master_listen_ip: 0.0.0.0 -``` - -##### Post auf dem der "Master" erreichbar ist. -```yaml -apcupsd_nis_master_listen_port: 3551 -``` - -##### Name der USV -```yaml -apcupsd_ups_name: APC-BX950U-GR -``` +- siehe [defaults/main.yml](./defaults/main.yml) diff --git a/roles/mgrote.apcupsd/defaults/main.yml b/roles/mgrote.apcupsd/defaults/main.yml index ebf4881b..6e1a912c 100644 --- a/roles/mgrote.apcupsd/defaults/main.yml +++ b/roles/mgrote.apcupsd/defaults/main.yml @@ -1,17 +1,40 @@ --- - apcupsd_master_onbatterydelay: 10 - apcupsd_master_batterylevel_for_shutdown: 50 - apcupsd_master_minutes_for_shutdown: 10 - apcupsd_master_nologon_when_active: always + ## Values: http://www.apcupsd.org/manual/manual.html - apcupsd_slave_onbatterydelay: 10 - apcupsd_slave_batterylevel_for_shutdown: 60 - apcupsd_slave_minutes_for_shutdown: 11 - apcupsd_slave_nologon_when_active: always + ## Master + # Wenn "true" ist dieser Host master. + apcupsd_nis_master: true + + # Interface auf dem der "Master" erreichbar ist. + apcupsd_nis_master_listen_ip: 0.0.0.0 + + # Post auf dem der "Master" erreichbar ist. + apcupsd_nis_master_listen_port: 3551 + + # Name der USV + apcupsd_ups_name: APC-BX950U-GR + + ## Slave + # Zeitspanne zwischen dem pollen apcupsd_slave_polltime: 10 #in Sekunden - apcupsd_nis_master: on + + ## Master & Slave + # FQDN oder IP des "master" apcupsd_nis_master_hostname: pve2.grote.lan - apcupsd_nis_master_listen_ip: 0.0.0.0 - apcupsd_nis_master_listen_port: 3551 - apcupsd_ups_name: APC-BX950U-GR + + # Zeitspanne in Sekunden, ab der der Systemdienst einen Stromausfall annimmt. Nuetzlich, um sehr kurze Ausfaelle ignorieren zu koennen. + apcupsd_master_onbatterydelay: 10 + apcupsd_slave_onbatterydelay: 10 + + # Durch die USV gemeldete Restkapazitaet in Prozent, ab der der Rechner heruntergefahren wird. + apcupsd_master_batterylevel_for_shutdown: 50 + apcupsd_slave_batterylevel_for_shutdown: 60 + + # apcupsd will shutdown the system during a power failure when the remaining runtime on batteries as internally calculated by the UPS falls below the specified minutes. Jeweils Master und Slave. + apcupsd_master_minutes_for_shutdown: 10 + apcupsd_slave_minutes_for_shutdown: 11 + + # Specifies when apcupsd should create the NOLOGON file to prevent users from logging on to the system. Jeweils Master und Slave. + apcupsd_master_nologon_when_active: always + apcupsd_slave_nologon_when_active: always