puppet的若干个tips.

1100阅读 0评论2015-08-10 expert1
分类:系统运维

    1. puppet的ERB的template若想去掉ruby语句产生的空白行,那么<%- statement -%> 除了加上“-”外,>之后也不能有空格。

    2. 变量的作用域 , reference超出作用域的变量需要用scope.lookupvar这个函数。
    3. ERB完全支持Ruby语法,比如要匹配主机名匹配,应该是<%- if(@hostname =~ /^aws-/) -%> #匹配aws-的主机名。Ruby其他逻辑&& 和|| 也适用。

   4. 若要cron某个随机时刻执行(某些场景下,比如需要download几个大文件, 同一时间调度会导致系统负载过高或者带宽不够)。

style="white-space:normal;" />
$minute => fqdn_rand(60)

# 或者用下面的:

$minute = inline_template("<%= Time.at( fqdn.hash % 10000 ).strftime('%M')  %>")
cron { my-cron:
    minute => $minute,
    ...
}

可以在class里面写一个define。

 



上一篇:ssh 远程强制加载profile
下一篇:python/pexpect来获取交换机/防火墙的配置