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 Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine