help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Cf restart sequence hangs and eats CPU


From: Tom Carlile
Subject: Cf restart sequence hangs and eats CPU
Date: Wed, 22 Sep 2004 13:02:50 -0500

Hopefully someone here can lend some insight...

I have cfengine 2.1.7p1 is setup on a pool of mixed Redhat AS 2.1 and
3ES servers, about 50 or so.  Every 30min I have cfexecd starting
cfagent.  Updates occur and all my input files get updated but on some
servers after the update cfagent is hung and consuming 49.9% or 99.9%
cpu.  Strace on the running pid seems to indicate it is catching
sigpipes and looping on a call to write...

This is most common on Redhat 3ES hosts but is reproducable on a few AS
2.1 servers.  I suspect that my restart process is somehow flawed.  See
my update.conf below.

I have noticed that usually 2 of the daemons get restarted but either
cfenvd or cfservd are not running while cfagent is hung.  

I am digging to see if this is related to locks in the lock db, cfenvd's
state or something else. I've seen similar reports of this on this list
but not linked with a real cause.  Thanks,

============
control:
        actionsequence  = ( copy processes tidy )
        domain          = ( dmotorworks.com )  
        master_cfinput  = ( /cfengine/policy/inputs )
        workdir         = ( /var/cfengine )
        cf_install_dir  = ( /usr/sbin )
                                                                                
                                                           
        AddInstallable = ( cfspawn )
        TrustKeysFrom = ( <IP classes here>  )
        AllowMultipleConnectionsFrom = ( <IP classes> )
        ExcludeCopy = ( *~ *% core CVS )
        SplayTime = ( 1 )
                                                                                
                                                          
        policyhost      = (  policyhostname )

copy:
        $(master_cfinput)       dest=$(workdir/inputs/
                        r=inf mode=600
                        owner=root group=root
                        type=binary
                        server=$(update.policyhost)
                        trustkey=true purge=true
                        define=cfspawn
processes:
        "cfservd"  restart "/sbin/service cfservd start" useshell=true
        "cfexecd"  restart "/sbin/service cfexecd start" useshell=true
        "cfenvd"  restart "/sbin/service cfenvd start" useshell=true

        cfspawn::
                "cfservd" signal=term restart "/sbin/service cfservd restart" 
useshell=true
                "cfenvd" signal=kill restart "/sbin/service cfenvd restart"   
useshell=true
                "cfexecd" signal=kill restart "/sbin/service cfexecd restart" 
useshell=true

==========
The cfservd, cfexecd, cfenvd rc scripts call killproc $prog and daemon $prog to 
stop/start.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]