gpdm / nut

Network UPS Tools in Docker
Other
31 stars 9 forks source link

SNMP Driver in a bootloop #2

Closed MeCJay12 closed 2 years ago

MeCJay12 commented 2 years ago

Not sure what all to include so let me know what to add.

Docker CLI command:

docker service create \
    --replicas 1 \
    --network proxy \
    --name NUTs \
    --mount type=bind,src=/mnt/Docker/NUTs/,dst=/etc/nut \
    gpdm/nut-upsd

Log:

NUTs.1.t6dhljgfv5dq@doklabc    | *** NUT upsd startup ***
NUTs.1.t6dhljgfv5dq@doklabc    | Starting up the UPS drivers ...
NUTs.1.t6dhljgfv5dq@doklabc    | Network UPS Tools - UPS driver controller 3.8.0-3220-g866b921892
NUTs.1.t6dhljgfv5dq@doklabc    | Network UPS Tools - Generic SNMP UPS driver 0.97 (3.8.0-3220-g866b921892)
NUTs.1.t6dhljgfv5dq@doklabc    | Startup timer elapsed, continuing...
NUTs.1.t6dhljgfv5dq@doklabc    | Network UPS Tools - Generic SNMP UPS driver 0.97 (3.8.0-3220-g866b921892)
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | Startup timer elapsed, continuing...
NUTs.1.t6dhljgfv5dq@doklabc    | Network UPS Tools - Generic SNMP UPS driver 0.97 (3.8.0-3220-g866b921892)
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | No supported device detected
NUTs.1.t6dhljgfv5dq@doklabc    | Startup timer elapsed, continuing...
NUTs.1.t6dhljgfv5dq@doklabc    | Network UPS Tools - Generic SNMP UPS driver 0.97 (3.8.0-3220-g866b921892)
NUTs.1.t6dhljgfv5dq@doklabc    | Startup timer elapsed, continuing...
NUTs.1.t6dhljgfv5dq@doklabc    | Network UPS Tools - Generic SNMP UPS driver 0.97 (3.8.0-3220-g866b921892)
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | No supported device detected
NUTs.1.t6dhljgfv5dq@doklabc    | Duplicate driver instance detected! Terminating other driver!
NUTs.1.t6dhljgfv5dq@doklabc    | Startup timer elapsed, continuing...

Manually trying to start the SNMP driver:

$ docker exec -it NUTs.1.qv176fpcdmotgby7qaqj0868h /bin/ash
/ # /usr/sbin/upsd -D
Network UPS Tools upsd 3.8.0-3220-g866b921892
   0.000000     fopen /var/run/nut/upsd.pid: No such file or directory
   0.003559     listening on 0.0.0.0 port 3493
   0.006032     Can't connect to UPS [UPSd] (snmp-ups-UPSd): No such file or directory
   0.006140     Can't connect to UPS [UPSc] (snmp-ups-UPSc): No such file or directory
   0.006257     Can't connect to UPS [UPSb] (snmp-ups-UPSb): No such file or directory
   0.006434     Can't connect to UPS [UPSa] (snmp-ups-UPSa): No such file or directory
   0.006545     Can't connect to UPS [ATS] (snmp-ups-ATS): No such file or directory

ups.conf:

$ sudo cat ups.conf
# Set maxretry to 3 by default, this should mitigate race with slow devices:
maxretry = 3

#[PDU]
#  driver = snmp-ups
#  port = pdu.domain
#  community = csnmp
#  snmp_version = v1

[ATS]
  driver = snmp-ups
  port = ats.domain
  community = csnmp
  snmp_version = v1
  desc = "ATS"

[UPSa]
  driver = snmp-ups
  port = upsa.domain
  community = csnmp
  snmp_version = v1
  desc = "UPSa"

[UPSb]
  driver = snmp-ups
  port = upsb.domain
  community = csnmp
  snmp_version = v1
  desc = "UPSb"

[UPSc]
  driver = snmp-ups
  port = upsc.domain
  community = csnmp
  snmp_version = v1
  desc = "UPSc"

[UPSd]
  driver = snmp-ups
  port = upsd.domain
  community = csnmp
  snmp_version = v1
  desc = "UPSd"

upsd.conf:

$ sudo cat upsd.conf
LISTEN 0.0.0.0

upsd.users

$ sudo cat upsd.users
[user]
  password = <password>
  actions = SET
  instcmds = ALL

[upsmon]
  password = <password>
  upsmon master
MeCJay12 commented 2 years ago

It was an ACL issue. Nevermind -_-