Articles of 木偶

有没有办法让木偶节点中包含的顶级类?

有没有简单的方法来返回应用到节点的顶级类。 我的意思是包含在节点定义或ENC等价物中的类例如下面的示例节点,我想为某个主机返回'return :: me'和'return :: me2',而不是'dontreturn ::我' class return::me { include dontreturn::me } node "somehost" { include return::me include return::me2 } 我发现/var/lib/puppet/state/classes.txt包含了应用于该节点的类的完整列表,但是包含了顶级类包含的任何其他类。 有没有办法用puppet faces命令来获取这些数据? 我怀疑“傀儡节点”可能是有用的,但我一直无法得到它回报我什么。

傀儡inheritance的参数化类

我有一个傀儡的情况,我想从一个参数化的类inheritance: class base ($basepath) { … } class extends_base ($ext_param) inherits base { … } 现在试图实例化extends_base类,我得到以下错误信息: Must pass basepath to Class[Base] 但是,我没有看到如何将basepathparameter passing给基类。我试图传递类[Extends_base]定义中的参数,puppet也不喜欢这个。

在Puppet中使用主机名作为环境

我想在我的环境中使用Puppet的环境function。 我们通过主机名区分环境,例如prod-web1,stg-web1。 我知道我可以使用正则expression式在一个单一的环境中匹配这些,但我宁愿使用实际的环境function来允许模块更新通过每个环境传播。 根据我的理解,有两种方法可以做到这一点,两种方式都有一些问题。 我可以在puppet代理的configuration中设置环境variables。 这需要与每个主机进行交互。 很显然,这可以用Puppet进行简单的pipe理,但是第一次运行会应用默认的生产configuration,如果没有,我真的更喜欢。 – 我可以在运行代理的时候定义环境variables,但是我需要在cron中绑定代理来指定这个variables,而且我会失去puppet内置展示的好处。 我如何根据主机名把一个盒子挂到一个环境?

在学习Puppet虚拟机上只有傀儡命令性能下降

我在VirtualBox中使用学习Puppet虚拟机 ,并且正在慢慢的performance(每个命令1到2 分钟 )专门为puppet命令。 puppet本身对这些性能问题并不知情,报告响应时间如下: Notice: Compiled catalog for learn.localdomain in environment production in 0.15 seconds Notice: /Stage[main]//User[katie]/ensure: removed Notice: Finished catalog run in 0.45 seconds 由于像ls这样的普通Linux命令可以即时执行,因此我认为这不是VirtualBox需要更多内存或CPU分配的VM的问题。 有没有办法在虚拟机上configurationpuppet来提高性能?

pipe理启用 – 禁用Hiera puppet禁用nginx网站?

我得到了执行hiera puppet脚本来pipe理nginx的sites_enabled的任务。 这是我的木偶剧本: common.yaml — classes: – nginx nginx: enabled: abc.com xyz.com disabled: test.com test2.com init.pp class nginx{ create_resources("site_enabled", hiera("nginx"), {}) } define site_enabled($name){ file { '/etc/nginx/sites_enabled/${name}': ensure => 'link', target => '/etc/nginx/site_available/${name}', } } 但是,当傀儡执行时我得到了错误: err:无法从远程服务器检索目录:SERVER上的错误400:无法将string转换为Integer,位于节点XX上的/etc/puppet/modules/nginx/manifests/init.pp:7 当我试图通过命令行查询hiera时: $ hiera nginx {“enabled”=> [“abc.com”,“xyz.com”]} 我知道我错了一些地方。 请善待我。 我不太了解,hiera如何查询和处理数组数据。 如果可能的话,请给我一些有用的文件。 非常感谢。

虚拟服务器的ntp.conf中的“服务器127.127.1.0”的智慧

考虑到虚拟机上的“无纪律的本地时钟”并不是你在大多数情况下所称的精确的,在你的NTPconfiguration中包含诸如这些行是多么明智? # Undisciplined Local Clock. This is a fake driver intended for backup # and when no outside source of synchronized time is available. server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10 在我的情况下,ntpconfiguration是通过puppet进行pipe理的,我们正在推送真正的NTP服务器。 但是,看起来这个假服务器可能会导致一些服务器花费更长时间与networking的其他部分保持同步。 这些行在这种情况下是否有用 ,或者可以安全地删除?

过滤木偶pluginsync

有没有一种方法来过滤哪些插件正在同步? 我从伪造(傀儡板,puppetdb,python)下载了一些新的模块。 这些模块包括插件,它们也只在puppet master上需要,插件在我的任何客户端上都不需要。 不幸的是,这些模块中的facter插件导致puppet客户端在一些较旧的系统上失败,我无法升级到最新版本的ruby / puppet / facter。 这些较旧的系统正在运行传统的软件,无法运行在较新的操作系统版本上,而没有一个非常痛苦的骇人听闻的数量。 剩下的所有其他插件和自定义事实工作得很好。 所以我想保持插件同步,但排除这些打破旧系统的事实。 有没有人想出了一个很好的部分插件同步方法? 我在search中找不到任何解决scheme。

工头安装在亚马逊ec2实例

你好,谢谢你的阅读, 我目前正在为我们的ec2实例build立一个傀儡服务,并决定给工头一个尝试(节点证书pipe理和自动乘客设置看起来不错)。 不幸的是我遇到了安装困难。 我刚刚上了一台'Amazon Linux AMI x86_64 PV': [root@hostname ~]# uname -a Linux hostname 3.10.35-43.137.amzn1.x86_64 #1 SMP Wed Apr 2 09:36:59 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 并尝试以下内容: sudo yum -y update sudo yum -y install http://yum.theforeman.org/releases/1.1/el6/x86_64/foreman-release.rpm sudo yum -y install foreman-installer 其结果如下: Error: Package: rubygem-foreman_api-0.1.11-1.el6.noarch (foreman) Requires: rubygem(rest-client) >= 1.6.1 You could try using […]

如何在Forman中使用全局参数?

我是Foreman中的新成员,我想为puppetpipe理的所有主机使用一个参数,我认为使用全局参数是一个好方法。 但我不明白如何使用它。 例如,如果我拿ntp模块,如果我想在所有的主机上有相同的ntp服务器,我必须声明全局参数,文档非常差… 我累了 : ntp_servers = time.nrc.ca $ :: ntp :: servers = time.nrc.ca :: ntp :: servers = time.nrc.ca ntp :: servers = time.nrc.ca 没有人匹配。

我怎样才能在傀儡testingdate执行临时规则?

在傀儡中testing当前date/时间以实现临时更改的好方法是什么? 例如,我们刚刚遇到了NTP的安全问题,Debian花了一段时间才发布了更新。 将ntpclosures一段时间似乎是最简单的。 service { 'ntp': # remember to re-enable this after ntp is secured. CVE-XXXXXXXXXX ensure => "stopped", … } 所以这需要记住回来并将其改回。 我想要做的就是使依赖于select器的ensure属性的值在运行时testingdate。 任何人都可以提出一个很好的方法来做到这一点 我可以想象,通过puppetparsing器可以实现一个function,如果有人已经写了这个function,那将是非常好的,但是如果你没有额外的模块就可以做到这一点,就可以得到奖励。 service { 'ntp': ensure => date_is_after("23 Dec 2014"): { true => "running", false => "stopped" } … } 对我来说,基于当前版本的ntp包进行的testing也会非常优雅,但是我也不确定你会如何在傀儡中这样做。