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

Reply via email to