Category Archives: puppet

puppet的generate函数

这个函数不能直接执行shell脚本,需要/usr/bin/env等做为第一个参数,如: $hostalias = generate(“/usr/bin/env”, “/tmp/genhname.sh”, “172.16.0.133″) 其次,这个函数的执行的是master上的脚本,它仅仅是将client上的变量拿回来,在本地执行;也就是说/tmp/genhname.sh要位于master的相应路径上,且有执行权限,不需要将脚本文件分发到client。

Posted in puppet, 运维 | Tagged , | 5 Comments

puppet dashboard的安装

以下过程基于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文件:(在puppet 2.6版本中不再需要) cp puppet_dashboard/lib/puppet/puppet_dashboard.rb /usr/lib/ruby/1.8/puppet/reports/ 这点和readme中描述不符,不过作者的方法怎么实验都不成功。:( 然后在/etc/puppet/puppet.conf的puppetmasterd域中加入: … Continue reading

Posted in puppet, 运维 | Tagged , | 3 Comments

关于puppet的import

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了。

Posted in puppet | Tagged , , | Leave a comment