Actions
Bug #9950
closedUser story #8353: Implement notifications for different server-side actions and events (hooks)
Policy generation fails in 4.1 with 'kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]'
Status:
Released
Priority:
N/A
Assignee:
Category:
System integration
Target version:
Pull Request:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:
Description
When doing a policy generation on Centos6, I get the following error
⇨ Policy update error for process '3' at 2017-01-11 09:35:42 ⇨ Exit code=1 for hook: '/opt/rudder/etc/hooks.d/policy-generation-finished/50-sigup-cf-serverd HookParameter(RUDDER_GENERATION_DATETIME,2017-01-11T09:35:39.234Z) HookParameter(RUDDER_END_GENERATION_DATETIME,2017-01-11T09:35:42.619Z) HookParameter(RUDDER_NODEIDS,root) HookParameter(RUDDER_NUMBER_NODES_UPDATED,1) HookParameter(RUDDER_ROOT_POLICY_SERVER_UPDATED,0)'. Stdout: '' Stderr: 'which: no killall in ((null)) kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] '
Issue is: it calls /opt/rudder/etc/hooks.d/policy-generation-finished/50-sigup-cf-serverd, which calls /opt/rudder/bin/rudder-reload-cf-serverd
Somehow, /opt/rudder/bin/rudder-reload-cf-serverd doesn't know that "killall" is there (probably no PATH available for the webapp)), so it falls back to
kill -1 $(pidof cf-serverd 2>/dev/null)
however, pidof cf-serverd returns nothing if it not running, so kill fails, and worse, pidof isn't in the PATH either
Replacing pidof by it path or killall by its path solves the issue, but I'm pretty sure it should rather have the PATH defined
Actions