存档

文章标签 ‘puppet’

puppet的generate函数

2010年7月8日 flex 没有评论

这个函数不能直接执行shell脚本,需要/usr/bin/env等做为第一个参数,如:

$hostalias = generate("/usr/bin/env", "/tmp/genhname.sh", "172.16.0.133")

其次,这个函数的执行的是master上的脚本,它仅仅是将client上的变量拿回来,在本地执行;也就是说/tmp/genhname.sh要位于master的相应路径上,且有执行权限,不需要将脚本文件分发到client。

分类: puppet, 运维 标签: ,

puppet dashboard的安装

2010年7月7日 flex 2 条评论

以下过程基于debian:

系统要求:
ruby >= 1.8.1
rake >= 0.8.3 (在lenny里版本不够,需要squeeze,不过我觉得使用gem应该也能装)
mysql
ruby mysql bindings(我个人觉得对应的包为libmysql-ruby,不过网上的另一个deb包依赖的是dbconfig-common libdbd-mysql-ruby)

安装过程:

1. 获得最新源码:

git clone git://github.com/reductivelabs/puppet-dashboard.git

2. 设置数据库:

cd puppet_dashboard/config
cp database.yml.example database.yml

编辑database.yml,在development域中加入数据库用户名、密码,然后进行数据库初始化(确保mysql服务已经启动):

rake install

(中间可能需要运行rake gem:install)

3.设置puppetmaster:

部署lib文件:

cp  puppet_dashboard/lib/puppet/puppet_dashboard.rb  /usr/lib/ruby/1.8/puppet/reports/

这点和readme中描述不符,不过作者的方法怎么实验都不成功。:(

然后在/etc/puppet/puppet.conf的puppetmasterd域中加入:

reports = puppet_dashboard

可以写多种方法,用逗号分隔,比如:

reports = puppet_dashboard, log, store

最后重启服务端

4.运行dashboard server

script/server

5.设置puppet client:

在/etc/puppet/puppet.conf的puppetd域加入:

report = true

重启客户端

如果没有意外,dashboard将会接收到新的report,访问http://localhost:3000/进入web界面。

如果想将以前的report导入,在dashboard目录运行:

rake reports:import

如果reportdir不是/var/lib/puppet/reports则运行:

rake reports:import REPORT_DIR=/path/to/your/reports

如果时区显示有问题,在config/enviroment.rb文件中修改:

config.time_zone = 'Beijing'

参考:

1. http://docs.puppetlabs.com/guides/installing_dashboard.html

2.http://zcentric.com/2010/03/11/install-puppet-dashboard-on-redhatcentos-5/

分类: puppet, 运维 标签: ,

关于puppet的import

2010年6月29日 flex 没有评论
import "autofs"
import "autofs/init.pp"
import "autofs/util/stuff.pp"

第一句与第二句会在模块路径中寻找autofs/manifests/init.pp并载入。
第三句只载入autofs/util/stuff.pp文件。

puppet 0.23.1之后的版本,位于modulepath下(默认是/etc/puppet/modules)的模块会被自动载入,所以不需要手动载入此目录下的各个模块了。

当你引用autofs模块中的craziness类时,puppet会自动在autofs模块下寻找craziness.pp文件中的这个类。使用这个技巧就可以不在模块的init.pp中写入额外的import了。

分类: puppet 标签: , ,