在我的木偶客户半定期运行期间,我看到数据包被丢弃。 我不明白是什么原因造成的。 我应该提到Puppet通过puppetlabs / firewall模块来pipe理防火墙规则。 但规则似乎没有改变。 通过这种说法,傀儡debugging并不显示规则被删除,然后被添加,数据包计数从傀儡代理运行之前继续,并且在傀儡代理运行期间查看规则在运行期间没有显示任何规则改变。 Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT icmp — 0.0.0.0/0 0.0.0.0/0 /* 000 accept all icmp */ ACCEPT all — 0.0.0.0/0 0.0.0.0/0 /* 001 accept all to lo interface */ ACCEPT all — 0.0.0.0/0 0.0.0.0/0 /* 002 accept related established rules */ state RELATED,ESTABLISHED ACCEPT […]
我想使用Puppet Labs Apache模块在Ubuntu 16.04上安装PHP 7.0的Apache 。 按照文档模块支持Ubuntu 16.04 。 有一个与PHP 7.0支持相关的票据,并且有一个接受的合并请求应该添加PHP 7.0的支持。 它看起来像合并中提供的修复不包含在模块1.9.0版本。 问题是 有没有什么办法可以使用build议的修补程序并使用PHP 7.0安装Apache? 我应该在清单中写什么? 以下代码(来自Puppet清单)在Ubuntu 16.04上不起作用 class { 'apache': mpm_module => 'prefork', } include apache::mod::php 我有以下错误 Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=–force-confold install libapache2-mod-php5' returned 100: Reading package lists… Building dependency tree… Reading state information… Package libapache2-mod-php5 is not available, […]
[欢迎任何关于更好的标题的build议] 无论好坏,我现在有一个像这样的数据结构(yaml) servers: server1.example.com: private_ip: 10.0.0.1 public_ip: 22.33.44.1 server2.example.com: private_ip: 10.0.0.2 public_ip: 22.33.44.2 global_roles: nagios: – server1 – server2 我可以把它拉进傀儡,做一些事情: $nagios_monitor = $global_roles['nagios'][0] $private_ip["${nagios_monitor}.example.com"]['private_ip'] 我想要的是一种获取所有列出的nagios服务器的私有IP数组的方法。 有没有一个好的方法来做到这一点与我现有的数据结构? 如果数据结构需要改变,为了更好地工作,我们也欢迎将这些数据提供给木偶的build议。 我怀疑这样的改变会让生活变得更容易,但是有一些现有的代码需要改变,我真的不想要任何错误的步骤。
我正在运行木偶3.7,我有以下问题: 用pe_gem在代理上安装nokogiri gem。 写了一个自定义的供应商,确实require 'nokogiri'在顶部。 木偶运行“有时”失败,“无法从Ruby自动加载器加载'nokogiri'”错误。 事情是 – 它首次从Puppet master获得提供者。 所有后续运行失败。 我的猜测是,不知何故,在我的提供者之前加载了一些东西,使得它可以工作。 有没有其他人经历过这个问题呢?还是想想可能是什么?
我想运行一个基于文件更新的puppet exec-resource。 就像是: File { '/tmp/foo.bar': audit => content, } ~> exec { 'deployment': command => 'do_something_meaningful.sh', } 但是这会在每一个木偶应用程序中执行。 即使该文件没有改变。 所以我尝试了exec-attribute refreshonly 。 但是有了这个,执行者就不会被执行第一个傀儡 – 申请。 我认为这是因为state.yml没有md5校验和。 它从第二次运行很好。 我目前的解决方法是这样的: File { '/tmp/foo.bar': audit => content, } exec { 'deployment_on_change': command => 'do_something_meaningful.sh', refreshonly => true, subscribe => File['/tmp/foo.bar'] } exec {'deployment_on_first_run': command => 'do_something_meaningful.sh', onlyif […]
我唯一的select通过从源代码下载2.6.8版本? 我安装的Ubuntu版本是2.6.1,通过apt-get。 如果我是通过源代码下载的,那么我必须自己编写启动/停止/重新启动脚本,希望避免这种情况。
我正在Rackspace云环境中设置一个新的Ubuntu 10.04(lucid)群集。 我第一次使用Puppet来尽可能自动化。 我已经设置了一个木偶大师,现在我准备build立一个图像,在第一次启动时自动安装木偶代理。 关于如何编写脚本,我有一些想法,但是我想我会看看是否有人已经解决了这个问题。 总之,我希望能够创build一个新的云实例,并自动安装木偶代理,连接到木偶主,并注册自己作为一个节点。 我正在使用木偶企业。 我不确定这个阶段与标准版本有很大的不同,但是也许有人知道我没有的东西。
我想知道是否有可能查找另一个Puppet资源的值,如下面的示例: define foo( $username ) { $home = User[$username].home …. } 上面的语法不起作用,但这可能是因为我不太了解Ruby。
我有一个关于傀儡虚拟资源的问题。 如果我有: class foo::virtual { define foo () { custom_resource { $name: <attributes>, } } @foo { '1st_foo': <attributes>, } } 我可以在节点声明中realize(Foo::Virtual::Foo['1st_foo']) 。 不过,我想将每个虚拟foo的规范提取到一个单独的位置,除了foo :: virtual类的定义和定义foo()。 通过类比,我有一个名为common :: data的类,它为各种variables提供默认值: class common::data { $barList = [ 'a','b','z'] } 有什么办法可以在common :: data中声明@foo { '2nd_foo': }吗? 然后在节点声明中引用?
我已经玩了几个星期的傀儡(真的是小孩玩),不知道如何实现一个名字是客户端的模块; 这个模块将被这样调用: client { "client-name": "apache-node" => "name-of-apache-node", "tomcat-node" => "name-of-tomcat-node", "https" => true, # probably other parameters, and other nodes may be implied as well } 然后这将自动生成所有相关节点的configuration并分发configuration。 注意:我不希望使用外部来源(LDAP或其他),只适用于傀儡:我有足够的时间与傀儡,只有当我有足够的掌握(做几个月,可能…) 。 注2:木偶版本是2.6.12,因为版本是1.5.9。 这是可能的,还是一个梦想?