1
0
Fork 0

tweak NUT

This commit is contained in:
Massaki Archambault 2024-09-15 18:12:43 -04:00
parent 7548a5fd80
commit 52e2574efa
10 changed files with 32 additions and 17 deletions

View File

@ -282,13 +282,13 @@ homeassistant:
nut_server:
ansible_host: usbip
ups:
liebert-ps1:
liebert-psi:
driver: usbhid-ups
vendorid: "10af"
productid: "0001"
nut_client:
ups: liebert-ps1
ups: liebert-psi
sched:
# How many seconds we are allowed to run on battery
on_bat: 300
on_bat: 300 # 5 minutes

17
hosts
View File

@ -19,10 +19,10 @@ all:
router-0:
ansible_host: 192.168.10.10
nut_client:
ups: liebert-ps1
ups: liebert-psi
sched:
# We want to shutdown this server last
on_bat: 3600
on_bat: 10800
server-0:
ansible_host: 192.168.10.11
vfio_pci_ids:
@ -34,22 +34,15 @@ all:
- '10de:13c2' # NVIDIA Corporation GM204 [GeForce GTX 970]
- '10de:13f1' # VGA compatible controller [0300]: NVIDIA Corporation GM204GL [Quadro M4000]
nut_client:
ups: liebert-ps1
ups: liebert-psi
sched:
# We want to shutdown this server quick
on_bat: 10
on_bat: 15
bastion:
hosts:
bastion:
ansible_host: 192.168.20.10
users_enable_sudo: false
plex:
hosts:
# plex:
# ansible_host: 192.168.20.31
# nfs_libraries:
# - 192.168.20.30:/mnt/pool0/media/Movies
# - 192.168.20.30:/mnt/pool0/media/Series
minecraft-server:
# hosts:
# minecraft-server:
@ -104,6 +97,8 @@ all:
hosts:
ubiquiti:
ansible_host: 192.168.10.2
satisfactory:
ansible_host: 192.168.20.31
children:
proxmox:
bastion:

View File

@ -1,5 +1,5 @@
# TODO: setup credentials
MONITOR {{ nut_client.ups }}@{{ hostvars[nut_server.ansible_host]['ansible_default_ipv4']['address'] }} 1 monuser admin secondary
MONITOR {{ nut_client.ups }}@{{ hostvars[nut_server.ansible_host]['ansible_default_ipv4']['address'] }} 1 monuser admin slave
MINSUPPLIES 1

View File

@ -1 +1,2 @@
#MAXAGE 15
LISTEN 0.0.0.0 3493

View File

@ -1,4 +1,4 @@
# TODO: setup credentials
[monuser]
password = admin
upsmon secondary
upsmon slave

View File

@ -15,3 +15,7 @@
name: nut-monitor
enabled: true
state: restarted
- name: Reload udev
ansible.builtin.command:
cmd: "udevadm control --reload"

View File

@ -50,3 +50,10 @@
- Restart nut-server
- Restart nut-client
- Restart nut-monitor
- name: Configure NUT udev rules
template:
src: 62-nut-usbups.rules
dest: /etc/udev/rules.d/62-nut-usbups.rules
notify:
- Reload udev

View File

@ -0,0 +1,7 @@
SUBSYSTEM!="usb", GOTO="nut-usbups_rules_end"
{% for name, config in nut_server.ups.items() %}
ACTION=="add|change", SUBSYSTEM=="usb|usb_device", SUBSYSTEMS=="usb|usb_device", ATTR{idVendor}=="{{ config.vendorid }}", ATTR{idProduct}=="{{ config.productid }}", MODE="664", GROUP="nut", RUN+="/sbin/upsdrvctl stop; /sbin/upsdrvctl start"
{% endfor %}
LABEL="nut-usbups_rules_end"

View File

@ -1,4 +1,5 @@
maxretry = 3
pollinterval = 2
{% for name, config in nut_server.ups.items() %}
[{{ name }}]

View File

@ -1,4 +1,4 @@
# TODO: setup credentials
{% for name in nut_server.ups.keys() %}
MONITOR {{ name }}@localhost 1 monuser admin primary
MONITOR {{ name }}@localhost 1 monuser admin master
{% endfor %}