ITRS-Group / monitor-merlin

Module for Effortless Redundancy and Loadbalancing In Naemon
https://itrs-group.github.io/monitor-merlin/
GNU General Public License v2.0
22 stars 14 forks source link

mon oconf push chokes on rsync failure #155

Open eschoeller opened 9 months ago

eschoeller commented 9 months ago
[naemon@naemon-test01 .ssh]$ mon oconf push naemon-test02
rsync: failed to set times on "/etc/naemon/conf.d/thruk_templates.cfg": Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1189) [sender=3.1.3]
Some error occured while synchronizing files!
Connecting to 'naemon-test02' with the following command:
  ssh X.X.X.X -o IdentitiesOnly=yes -o BatchMode=yes sudo mon restart
#--- REMOTE OUTPUT START ---
#--- REMOTE OUTPUT DONE ----
[naemon@naemon-test01 .ssh]$ ls -la /etc/naemon/conf.d/thruk_templates.cfg
lrwxrwxrwx. 1 root naemon 44 Dec  2  2022 /etc/naemon/conf.d/thruk_templates.cfg -> /usr/share/thruk/support/thruk_templates.cfg
[naemon@naemon-test01 .ssh]$ ls -la /usr/share/thruk/support/thruk_templates.cfg
-rw-r--r--. 1 root root 2185 Nov  2 18:04 /usr/share/thruk/support/thruk_templates.cfg

I'm on RHEL8 using recent RPMs from consol labs. I've got many years of experience with Naemon/Merlin, but this is the first time I'm trying to use the mon command. I'm sure I can find a way to work-around this, but since this is the 'out-of-the-box' experience ... I figured I'd report it.

jdumalaonITRS commented 8 months ago

Hi, Thanks for raising but I am not sure this can be an out of the box experience for stadalone merlin installs.
The error encountered is most likely due to user in the mon commands not having write permissions on the cfg file.

eschoeller commented 8 months ago

Yea, the issue is that thruk ships with this symlink as part of it's package from EPEL and the symlink can't be sync'd with rsync running as the naemon user, which is what the mon command is using. I ended up having to remove the symlink and just copying the file over and setting the permissions that would work with what the mon command was trying to accomplish. I don't think this is the best long-term fix though.