[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.
- Cf restart sequence hangs and eats CPU,
Tom Carlile <=