首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Puppet

关于修复 puppet agent 因为网络不好而时不时 administratively disabled 的问题

  •  
  •   Livid · 2013-10-14 22:11:30 +08:00 · 3782 次点击
    这是一个创建于 2071 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以下为大概思路,可以用各种语言实现。

    在 crontab 中每 4 小时检查一次 /var/lib/puppet/state/puppetdlock 这个文件是否存在 [1],如果存在,获得其 mtime,如果 mtime 和当前时间已经差了一个小时以上(没有理由单次运行会超过 1 个小时),那就:

    service puppet stop
    puppet agent --enable
    puppet agent --test

    当然,需要加入保证 Service['puppet'] 一直运行,这样当 --test 的时候,除了会完成同步之外,也就可以重新启动 puppet agent daemon。

    [1] http://projects.puppetlabs.com/issues/3757
    3 回复  |  直到 1970-01-01 08:00:00 +08:00
        1
    Livid   V2EX Moderator   2013-12-07 04:12:06 +08:00
    其实一个更粗暴但是有效的方式是:

    ps -ef | grep puppet | grep -v grep | awk '{print $2}' | xargs kill -9
    puppet agent --enable
    puppet agent --test
        2
    julyclyde   2013-12-07 10:51:56 +08:00
    一个锁文件,复用俩语义?
        3
    efi   2013-12-08 12:12:05 +08:00   ♥ 1
    @Livid 不能直视。请用pkill -9 puppet。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2330 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 15:14 · PVG 23:14 · LAX 08:14 · JFK 11:14
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1