Forum: CFEngine Help
Subject: Re: cf-exced ignores splaytime on syntax errors / unleash the stampede
Author: neilhwatson
Link to topic: https://cfengine.com/forum/read.php?3,24225,24229#msg-24229
Mike,
I did a quick test. First I ran cf-exec in the foreground:
cf3> Starting executor
cf3> ***********************************************************
cf3> Sleeping for splaytime 56 seconds
cf3> ------------------------------------------------------------------
cf3> LocalExec(not scheduled) at Wed Dec 7 17:14:04 2011
cf3> ------------------------------------------------------------------
cf3> -> Command => /home/neil/.cfagent/bin/cf-agent
cf3> -> Command is executing.../home/neil/.cfagent/bin/cf-agent
cf3> R: Testing
cf3> -> Command is complete
Now I introduce a syntax error.
neil@ettin ~/.cfagent/inputs $ cf-promises
cf3> /home/neil/.cfagent/inputs/promises.cf:24,12: syntax error, near token
'cfengine_3'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,2: syntax error, near
token ':'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,3: syntax error, near
token ','
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,4: syntax error, near
token ':'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:2,12: syntax error, near
token 'Testing"'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:2,13: syntax error, near
token ';'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:3,1: syntax error, near
token '}'
Now I run cf-execd -F anyway.
cf3> Checking policy with command "/home/neil/.cfagent/bin/cf-promises -f
"/home/neil/.cfagent/inputs/promises.cf""
cf3> /home/neil/.cfagent/inputs/promises.cf:24,12: syntax error, near token
'cfengine_3'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,2: syntax error, near
token ':'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,3: syntax error, near
token ','
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,4: syntax error, near
token ':'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:2,12: syntax error, near
token 'Testing"'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:2,13: syntax error, near
token ';'
cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:3,1: syntax error, near
token '}'
cf3> cf-agent was not able to get confirmation of promises from cf-promises, so
going to failsafe
cf3> > Parsing file /home/neil/.cfagent/inputs/failsafe.cf
cf3> Initiate variable convergence...
cf3> > Parsing file /home/neil/.cfagent/inputs/cfengine_stdlib.cf
cf3> Initiate variable convergence...
cf3> Initiate variable convergence...
cf3> # Knowledge map reporting feature is only available in version Nova and
above
cf3> -> Defined classes = { 10_0_0_1 192_168_0_1 2604_8800_100_111__2 64_bit
Afternoon Day7 December GMT_Hr22 Hr17 Hr17_Q2 Lcycle_1 Min15_20 Min16
PK_MD5_7112c297182b3597e28e177cbf9bcd7f Q2 Wednesday Yr2011 any ca cfengine
cfengine_3 cfengine_3_2 cfengine_3_2_0 community_edition compiled_on_linux_gnu
debian debian_6 debian_6_0 debian_6_0__n__l ettin ettin2
ettin2_watson_wilson_ca ettin_watson_wilson_ca executor
fe80__2e0_81ff_feb5_ee1e fe80__2e0_81ff_feb5_ee1f fe80__a00_1 fe80__c0a8_1
fe80__c713_ab18 have_aptitude ipv4_10 ipv4_10_0 ipv4_10_0_0 ipv4_10_0_0_1
ipv4_192 ipv4_192_168 ipv4_192_168_0 ipv4_192_168_0_1 linux
linux_2_6_32_5_amd64 linux_x86_64 linux_x86_64_2_6_32_5_amd64
linux_x86_64_2_6_32_5_amd64__1_SMP_Mon_Oct_3_03_59_20_UTC_2011 net_iface_br0
net_iface_eth0 net_iface_ppp0 verbose_mode watson_wilson_ca x86_64 }
cf3> -> Negated Classes = { }
cf3> Initiate variable convergence...
cf3> ***********************************************************
cf3> Starting executor
cf3> ***********************************************************
cf3> Sleeping for splaytime 56 seconds
cf3> ------------------------------------------------------------------
cf3> LocalExec(not scheduled) at Wed Dec 7 17:17:04 2011
cf3> ------------------------------------------------------------------
cf3> -> Command => /home/neil/.cfagent/bin/cf-agent
cf3> -> Command is executing.../home/neil/.cfagent/bin/cf-agent
cf3> cf3> /home/neil/.cfagent/inputs/promises.cf:24,12: syntax error, near
token 'cfengine_3'
cf3> cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,2: syntax error, near
token ':'
cf3> cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,3: syntax error, near
token ','
cf3> cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:1,4: syntax error, near
token ':'
cf3> cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:2,12: syntax error,
near token 'Testing"'
cf3> cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:2,13: syntax error,
near token ';'
cf3> cf3> /home/neil/.cfagent/inputs/cfengine_stdlib.cf:3,1: syntax error, near
token '}'
cf3> cf-agent was not able to get confirmation of promises from cf-promises, so
going to failsafe
cf3> R: Failsafe
cf3> -> Command is complete
It still splayed, reported the error and went to failsafe. I'm using community
3.2.0 in this test.
neil@ettin ~/.cfagent/inputs $ cat promises.cf
body common control {
bundlesequence => {
"main",
};
inputs => {
"cfengine_stdlib.cf",
};
}
bundle agent main {
methods:
"any" usebundle => test;
}
bundle agent test {
reports:
cfengine_3::
"Testing";
}
body executor control {
splaytime => "2";
exec_command => "/home/neil/.cfagent/bin/cf-agent";
}
neil@ettin ~/.cfagent/inputs $ cat failsafe.cf
body common control {
bundlesequence => {
"main",
};
inputs => {
"cfengine_stdlib.cf",
};
}
bundle agent main {
methods:
"any" usebundle => test;
}
bundle agent test {
reports:
cfengine_3::
"Failsafe";
}
body executor control {
splaytime => "2";
exec_command => "/home/neil/.cfagent/bin/cf-agent";
}
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine