Using the included cf.test with a running atd daemon, it does not remove the services, but it does shut it down and the class is defined and shellcommands comes immediately after processes with no qualifications.

Now if processes is specified in the cf prior to shellcommands it will operate correctly. see attached cf.test2. Is this a parser bug? AddInstallables didn't seem to make any difference. My understanding is that order shouldn't matter in the cf files, am I mistaken?

cfagent -i : suppressing interface configuration
LogDirectory = /var/cfengine
Loaded /var/cfengine/ppkeys/localhost.priv
Loaded /var/cfengine/ppkeys/localhost.pub
Checksum database is /var/cfengine/checksum.db
Default binary server seems to be sibelius
Reference time set to Thu Apr 20 10:38:34 2006


*********************************************************************
 Main Tree Sched: processes pass 1 @ Thu Apr 20 10:38:34 2006
*********************************************************************

cfengine:sibelius: Running process command /bin/ps auxw
cfengine:sibelius: Signalled process 18875 (atd) with SIGTERM
cfengine:sibelius: Killed: daemon 18875 0.0 0.1 1764 632 ? Ss 10:38 0:00 /usr/sbin/atd
Defining classes servicesremove
DoSignals(atd)

*********************************************************************
 Main Tree Sched: shellcommands pass 1 @ Thu Apr 20 10:38:34 2006
*********************************************************************

cfengine:sibelius: Executing script /bin/echo 'here I am'...(timeout=0,uid=-1,gid=-1)
(Setting umask to 77)
cfengine:sibelius:/bin/echo 'here: here I am
cfengine:sibelius: Finished script /bin/echo 'here I am'


cf.test2

*********************************************************************
 Main Tree Sched: processes pass 1 @ Thu Apr 20 10:49:01 2006
*********************************************************************

cfengine:sibelius: Running process command /bin/ps auxw
cfengine:sibelius: Signalled process 19305 (atd) with SIGTERM
cfengine:sibelius: Killed: daemon 19305 0.0 0.1 1764 632 ? Ss 10:48 0:00 /usr/sbin/atd
Defining classes servicesremove
DoSignals(atd)

*********************************************************************
 Main Tree Sched: shellcommands pass 1 @ Thu Apr 20 10:49:01 2006
*********************************************************************

cfengine:sibelius: Executing script /bin/echo 'remove my processes'...(timeout=0,uid=-1,gid=-1)
(Setting umask to 77)
cfengine:sibelius:/bin/echo 'remo: remove my processes
cfengine:sibelius: Finished script /bin/echo 'remove my processes'
cfengine:sibelius: Executing script /usr/bin/env PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin /usr/sbin/update-rc.d -f atd remove...(timeout=0,uid=-1,gid=-1)
(Setting umask to 77)
cfengine:sibelius:sr/bin/env PATH: update-rc.d: /etc/init.d/atd exists during rc.d purge (continuing) cfengine:sibelius:sr/bin/env PATH: Removing any system startup links for /etc/init.d/atd ...
cfengine:sibelius:sr/bin/env PATH:    /etc/rc0.d/K11atd
cfengine:sibelius:sr/bin/env PATH:    /etc/rc1.d/K11atd
cfengine:sibelius:sr/bin/env PATH:    /etc/rc2.d/S99atd
cfengine:sibelius:sr/bin/env PATH:    /etc/rc3.d/S99atd
cfengine:sibelius:sr/bin/env PATH:    /etc/rc4.d/S99atd
cfengine:sibelius:sr/bin/env PATH:    /etc/rc5.d/S99atd
cfengine:sibelius:sr/bin/env PATH:    /etc/rc6.d/K11atd
cfengine:sibelius: Finished script /usr/bin/env PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin /usr/sbin/update-rc.d -f atd remove cfengine:sibelius: Executing script /bin/echo 'here I am'...(timeout=0,uid=-1,gid=-1)
(Setting umask to 77)
cfengine:sibelius:/bin/echo 'here: here I am
cfengine:sibelius: Finished script /bin/echo 'here I am'
---------------------------------------------------------------------
Alerts
---------------------------------------------------------------------



++++++++++++++++++++++++++++++++++++++++
Summary of objects involved
++++++++++++++++++++++++++++++++++++++++

    global
    main




Brian Seppanen
608.826.1464
#!/var/cfengine/bin/cfagent -qKivf ./cf.test
control:
        actionsequence  = ( processes shellcommands )


shellcommands:
       servicesremove::
                "/bin/echo 'remove my processes'"
                "/usr/bin/env PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin 
/usr/sbin/update-rc.d -f atd remove"

        debian::
                "/bin/echo 'here I am'"
processes:
        debian::
                "atd" signal=term define=servicesremove

#!/var/cfengine/bin/cfagent -qKivf ./cf.test2
control:
        actionsequence  = ( processes shellcommands )

processes:
        debian::
                "atd" signal=term define=servicesremove

shellcommands:
       servicesremove::
                "/bin/echo 'remove my processes'"
                "/usr/bin/env PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin 
/usr/sbin/update-rc.d -f atd remove"

        debian::
                "/bin/echo 'here I am'"

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
http://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to