Hey,
In any case this is a bug (it should never print non-printable chars).
Please retry with Cfengine 3.1.2 (if you are on an older version), as I
believe it has already been fixed..
--
Regards
Eystein
On 01/13/2011 10:04 AM, Erik Mouw wrote:
> Hi all,
>
> I'm writing a promise to keep a nameserver and a locking daemon for a
> CAD package running as a specific user, and on one RHEL3 64 bit machine
> (yes I know, no longer supported by Red Hat, but we need it for legacy
> designs) I get the following errors:
>
> Validation: Error reading assumed integer value "Ja" => "-678" (found
> remainder "")
> Validation: Error reading assumed integer value "" => "-678" (found
> remainder "")
> Validation: Error reading assumed integer value "Ja" => "-678" (found
> remainder "")
> Validation: Error reading assumed integer value "" => "-678" (found
> remainder "")
> Validation: Error reading assumed integer value "Ja" => "-678" (found
> remainder "")
> Validation: Error reading assumed integer value "" => "-678" (found
> remainder "")
>
> However, the same promise runs just fine on RHEL4 and 5 machines.
>
> The idea behind the promise is that the nameserver and the locking daemon
> should be running as user "support". When they are running as another user,
> they should be killed. Here is the code:
>
> bundle agent cadpackage
> {
> vars:
> "cadpackage_path" string => "/opt/cadpackage/tools/bin" ;
>
> "nameserver" string => "NameServer";
> "lockd" string => "LockDaemon";
> "runas" string => "support";
>
> processes:
> cadserv1|cadserv2|cadserv3::
> "$(nameserver)"
> comment => "Make sure there is no Cadpackage nameserver
> running as another user",
> process_select => find_not_cadpackage_process("$(runas)"),
> signals => { "term", "kill" },
> action => cadpackage_check;
>
> "$(nameserver)"
> comment => "Make sure Cadpackage nameserver is running",
> process_select => find_cadpackage_process("$(runas)"),
> restart_class => "restart_nameserver",
> action => cadpackage_check;
>
>
> "$(lockd)"
> comment => "Make sure there is no Cadpackage locking daemon
> running as another user",
> process_select => find_not_cadpackage_process("$(runas)"),
> signals => { "term", "kill" },
> action => cadpackage_check;
>
> "$(lockd)"
> comment => "Make sure Cadpackage locking daemon is running",
> process_select => find_cadpackage_process("$(runas)"),
> restart_class => "restart_lockd",
> action => cadpackage_check;
>
> commands:
> restart_nameserver::
> "/bin/su $(runas) '$(cadpackage_path)/$(nameserver)'";
>
> restart_lockd::
> "$(cadpackage_path)/$(lockd) -setuid $(runas)";
>
> reports:
> restart_nameserver::
> "Restarted Cadpackage nameserver";
>
> restart_lockd::
> "Restarted Cadpackage locking daemon";
> }
>
>
> body action cadpackage_check
> {
> ifelapsed => "1";
> }
>
>
> body process_select find_cadpackage_process(owner)
> {
> process_owner => { "$(owner)" };
> process_result => "process_owner";
> }
>
>
> body process_select find_not_cadpackage_process(owner)
> {
> process_owner => { "$(owner)" };
> process_result => "!process_owner";
> }
>
>
> I don't think there is something obviously wrong in my code because
> otherwise cfengine would have told me exactly which line would contain
> the error, but maybe there is something subtle I'm missing?
>
>
> Regards,
>
> Erik
>
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine