Project

General

Profile

Actions

Bug #9950

closed

User 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]'

Added by Nicolas CHARLES over 7 years ago. Updated over 7 years ago.

Status:
Released
Priority:
N/A
Category:
System integration
Target version:
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

Also available in: Atom PDF