I've some misunderstanding with cmd.run and watch/onchanges
I've setup a nrpe nagios server with salt. But I just want do reload/restart the server if there are changes to some configs.
My testings are with -watch and - onchanges. But everytime the state runs, the restartIfNeeded is executed.
cmd.wait is working but it's deprecated, so I don't want to use it anymore.
Thanks,
Tom
/etc/nagios/nrpe.cfg:
file.managed:
- source: salt://default-files/nrpe.cfg.jinja
- user: root
- group: root
- mode: 644
- template: jinja
- context:
collector: {{ possibleCollector }}
/etc/nagios/nrpe.d/base.cfg:
file.managed:
- source: salt://default-files/nrpe-base.cfg.jinja
- user: root
- group: root
- mode: 644
- template: jinja
- context:
w1: {{ grains['num_cpus'] * 1.5 }}
w5: {{ grains['num_cpus'] * 1.5 }}
w15: {{ grains['num_cpus'] * 1.5 }}
c1: {{ grains['num_cpus'] * 3 }}
c5: {{ grains['num_cpus'] * 2 }}
c15: {{ grains['num_cpus'] * 2 }}
restartIfNeeded:
cmd.run:
- name: 'service nagios-nrpe-server restart'
- user: root
- group: root
- watch:
- file: /etc/nagios/nrpe.d/base.cfg
- file: /etc/nagios/nrpe.cfg
Results in
networkingtest-001.off.loc:
----------
ID: nrpe
Function: pkg.installed
Name: nagios-nrpe-server
Result: True
Comment: Package nagios-nrpe-server is already installed
Started:
Duration:
Changes:
----------
ID: nrpe
Function: service.running
Name: nagios-nrpe-server
Result: True
Comment: Service nagios-nrpe-server has been enabled, and is in the desired state
Started:
Duration:
Changes:
----------
nagios-nrpe-server:
True
----------
ID: /etc/nagios/nrpe.cfg
Function: file.managed
Result: True
Comment: File /etc/nagios/nrpe.cfg is in the correct state
Started:
Duration:
Changes:
----------
ID: /etc/nagios/nrpe.d/base.cfg
Function: file.managed
Result: True
Comment: File /etc/nagios/nrpe.d/base.cfg is in the correct state
Started:
Duration:
Changes:
----------
ID: restartIfNeeded
Function: cmd.run
Name: service nagios-nrpe-server restart && echo "watch"
Result: True
Comment: Command "service nagios-nrpe-server restart" run
Started:
Duration:
Changes:
----------
pid:
22303
retcode:
0
stderr:
stdout:
Summary for networkingtest-001.off.loc
------------
Succeeded: 5 (changed=2)
Failed: 0
------------