Articles of 木偶

运行Puppet代理(版本3.2.1)时出错“非法指令(核心转储)”

我刚把puppet升级到3.2.1版本,运行代理的时候出现“Illegal instruction(core dumped)”错误。 以下是一些细节: master和agent都在同一台机器上运行 #cat /etc/redhat-release CentOS release 6.2 (Final) #uname -r 3.9.3-x86_64-linode33 #ruby –version ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] 安装的RPM是"puppet-3.2.1-1.el6.noarch.rpm" 但是,当我在另一台主机上运行相同版本的puppet agent时,一切都很顺利。 问题只是在与主服务器在同一台机器上运行代理程序时。 任何想法是怎么回事?

如何configuration木偶的相对path?

我试图谷歌这一点,但没有任何运气。 我的目标是打包一个带有puppet文件的目录和一个包含文件资源的随机目录,我只需要inputpuppet apply setup.pp ,然后puppet就可以完成它了。 我知道木偶build议的工作stream程是创build模块并将文件资源放置在那里进行复制。 这对我来说太不方便了,因为我不想在那里安装我的模块。 我只是想能够携带这个小包(即pp文件和文件资源)。 如果我不想使用绝对path,如何configuration我的pp文件来查看我的同级目录? 还有其他的环境variables,我可以操纵,迫使傀儡看“在正确的地方”? 我在这里看到一个build议,看起来像扩展了Facter ,但我只是想find一些东西放在我的PP文件的顶部,像这样: $basepath = exec{"/usr/bin/pwd":} … file {"/home/$title/.nanorc": source => "${basepath}/resources/.nanorc"}

如何用puppet设置目录树?

我有几个目录,每个我想与puppet设置相同的子目录。 这显然不起作用: $inst = ['/i1', '/i2', '/i3'] $subdirs = ['subdir1', 'subdir2'] file {"${inst}/${subdirs}": ensure=>directory, recurse=>true, purge=>true, force=>true, owner=>$username, group=>$group, source=>"puppet:///modules/mymodule/subdirtemplates/${subdirs}/", mode=>'644'; } 没有办法连接第一个数组的每个成员与第二个数组的每个成员。 在任何正常的编程语言中,你会使用两个for循环,或者一些内置的映射函数或者其他东西,但是在puppet中? 我必须迁移到新的Ruby DSL吗?

引用标题数组中的每个标题

使用Puppet 2.7.11,我需要创build几个从/usr/local/bin到/usr/bin符号链接,并且想要变得聪明: class containing_class { file { [ "/usr/local/bin/job", "/usr/local/bin/jstart", "/usr/local/bin/jstop", "/usr/local/bin/jsub"]: ensure => link, target => regsubst(name, "^/usr/local/bin/", "/usr/bin/") } 但是, name导致链接的目标是name , $name和$title使用containing_class (!),而$path是$PATH的值。 如何在呼叫中引用单个文件的标题/path?

木偶vcsrepo git结帐分支

我正在使用puppet克隆代理节点上的回购。 我的site.pp包含 node foobar{ vcsrepo{"home/user1/gitrepo1": provider=>git, source=>"https://github.com/foobar/foo.git", revision => "remotes/origin/bar", } } 在代理上,当我在应用目录之后执行git branch时,它显示出来 *(no branch) master 当我做git branch -a它显示 master remotes/origin/HEAD -> origin/master remotes/origin/bar 我希望能够签出远程“酒吧”分支。 只有指定revision=>bar给出以下错误。 这个文件也不太清楚。 err: /Stage[main]//Node[foobar]/Vcsrepo[/home/user1/gitrepo1]: Could not evaluate: Execution of '/usr/bin/git rev-parse bar' returned 128: fatal: ambiguous argument 'bar': unknown revision or path not in the working tree. Use '–' […]

木偶 – 限制每个环境的行动?

我怎样才能限制木偶代理命令? 我只需要让傀儡代理商不用反对生产分支就可以运行。 阻止puppet agent –test –environment devbranch 允许puppet agent –test –environment devbranch –noop 允许puppet agent –test –environment production 我认为auth.conf中的某种巫术应该能够照顾到这一点,但我并不熟悉这一点。

获取ARM的Puppet代理的最新版本

我打算使用Puppet维护100-1000 ARM的Debian机器进行多年的研究。 木偶“主”系统有v3.3(通过CentOS 6.4上的yum获得)。 客户端系统在v 2.6上(通过Debian 6上的apt-get)。 我需要更新这些以获得最新的Facter等。 我试图添加木偶实验室存储库(apt.puppetlabs.com),但是当我去安装我告诉有没有可用的ARM二进制文件。 如果我下载相应的.DEB文件并尝试使用dpkg -i ,也是如此。 我有什么select获取此更新?

从厨师到木偶的过渡:如何在编写模板时search节点?

我已经从一家厨师店搬到了一家木偶店。 以下是厨师常做的事情:我会为configuration文件(例如Varnish或haproxy)创build一个模板,将请求路由到与特定angular色和环境相匹配的节点。 我能find的厨师“angular色”的最佳关联是一个木偶“团队”。 厨师search的等价物是什么? 我如何获得符合某些标准的节点集合(我猜是它们的事实)? 编辑:我欣赏伟大的联系和指针! 我会补充一点,我们的商店使用外人来pipe理分配给节点的主机,环境和木偶类。 它来玩PuppetDB查询?

排除networking相关因素的影响

我正在寻找一种方法来排除macaddress中的ifaces和接口,以便使木偶在某些主机上运行得更快。 据我所知,这些事实是内置的,我希望在不修补因特软件包源代码的情况下做到这一点,或者至less采用不那么干扰的方式。 有没有什么干净的解决scheme,你可以build议? 我在Debian上安装了facte 1.6.10-1。 提前致谢

Puppet – 如果模块失败,不要停止清单执行

我在理解许多Puppet逻辑机制之一时遇到了一些麻烦:模块失败的情况。 我有多个模块在一组差异节点上做各种事情,我想实现以下场景: 部署指定节点的所有模块 如果一个模块执行失败,只会失败该模块,但继续应用其他模块 我在testing模块( yum )中写了一些这样的yum : init.pp : class yum { case $operatingsystem { /(RedHat|CentOS)/ : { include yum:config } default: { include yum:fail } } } class yum::config { debug("[${fqdn}] Deploying yum.conf file") #DEPLOY YUM.CONF CODE } class yum:fail { fail("[${fqdn}] This module is only for RedHat or CentOS") } 并在我的site.pp清单: node […]