Articles of 木偶

运行Puppet代理程序时出现“无法分配内存”

我运行“puppet agent -t”时出现以下错误: Cannot allocate memory – /bin/uname -s … Cannot allocate memory – /sbin/arp -an … Cannot allocate memory – /bin/uname -s … Could not retrieve kernelversion: private method `split' called for nil:NilClass Could not retrieve kernelmajversion: private method `split' called for nil:NilClass … 完整的错误在这里: http : //pastebin.com/fhjqrgBn 当我手动运行命令/bin/uname -s ,我得到的结果没有任何错误。 free命令显示了这一点: total used […]

将一个散列传递给puppet / erb中定义的types

我想在puppet中第一次使用散列,所以在我的nodes.pp中,我将使用这个: node test1.example.com { netset::int::vconf {"servers" : label1 => { 'comment' => 'VIP Test1', 'ipaddress' => '192.168.1.10', 'netmask' => '255.255.255.0', 'int_label' => 'TEST1' }, label2 => { 'comment' => 'VIP Test2', 'ipaddress' => '192.168.1.11', 'netmask' => '255.255.255.0', 'int_label' => 'TEST2' }, } } 在我正在写的/etc/puppet/modules/netset/int/vconf.pp文件中,我创build了一个定义的types: define netset::int::vconf ($comment,$ipaddress){…do somethings…} 我的问题是如何将散列的每个键传递给定义的types? 不知怎的,我想象着我将不得不在某个地方创build一个循环,任何帮助将是非常有帮助的。 谢谢丹

puppet服务资源,启用,初始化脚本顺序

在傀儡,如果你启用这样的服务: service { 'myservice': ensure => running, enable => true, subscribe => File['/etc/init.d/myservice']; } file { '/etc/init.d/myservice': source => "puppet:///modules/myservice/myservice", ensure => file, owner => root, group => root, mode => '0755', } 然后木偶创build/etc/rc3.d/S??myservice在我的情况下,它总是创buildS65myservice 。 65从哪里来? 如果傀儡一贯select65,那么必须在某个地方确定,但是我不知道它是如何做出这个决定的。 如何在启动过程中稍后启动此服务? (例如S99myservice )

在启动时使用puppet运行自定义服务

我正在将我们的Linuxconfiguration的旧stream程迁移到puppet进行pipe理,但我在尝试弄清楚如何执行此操作时遇到问题。 我们在系统上的init.d文件夹中添加一些自定义脚本来pipe理一些进程,然后这些脚本需要执行这个命令才能在启动时启动: update-rc.d $file defaults 所以我用puppet做的事情就是把所有这些脚本放在一个目录下,然后把它们复制到init.d中。 然后,我想用前一个命令对这些文件中的每一个调用“exec”,并使用文件名作为参数。 这是我迄今为止: #copy init files file { '/etc/init.d/': ensure => 'directory', recurse => 'remote', source => ["puppet:///files/init_files/"], mode => 755, notify => Exec[echo], } exec { "echo": command => "update-rc.d $file defaults", cwd => "/tmp", #directory to execute from path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:", refreshonly => true } 这将复制所有的文件,并在添加/更新时调用exec,但是我不能弄清楚如何将文件的名称作为parameter passing给exec命令。 看起来我真的很接近,但我找不到任何帮助我需要做的事情。 […]

如何testingPuppet Master上文件的存在

在我拥有的木偶上的自定义模块 g_iptables ├── files │ └── fqdn-of-server ├── lib │ └── puppet │ └── parser │ └── functions │ └── file_exists.rb └── manifests └── init.pp 而且我想让模块做一些事情,无论Puppet Master上是否存在“fqdn-of-server”文件。 谷歌search没有给我一个file_exists.rb函数: #!/usr/bin/ruby require 'puppet' module Puppet::Parser::Functions newfunction(:file_exists, :type => :rvalue) do |args| if File.exists?(args[0]) return 1 else return 0 end end end 这样做的时候可以放入类似的东西: $does_fqdn_file_exists = file_exists("/tmp/$fqdn") if $does_fqdn_file_exists […]

木偶:如何连接variables和一个string

我想连接puppetvariables和一个string $agents_location='/home/agent2/adikari5' file { $agents_location+"/filename.zip": mode => "0777", owner => 'root', group => 'root', source => 'puppet:///modules/filecopy/wso2as-5.2.1.zip', } 如上面的代码,我想连接$ agent_location和string部分的其余部分,以使文件的path。 什么是正确的做法呢?

从bash脚本内部调用时没有find命令

我有一个名为puppet的应用程序安装在我的Linux机器上。 它安装在/usr/test/bin/puppet 这是.bash_profile外观 export PATH=/usr/test/bin 如果我从控制台运行命令puppet apply ,它工作正常,但是当我从bash脚本中调用puppet命令时,它说没有find命令 #!/bin/bash puppet apply x.pp 任何想法是什么错?

如何使用Puppet文件资源在目录上赋予不同的权限而不是文件?

我想用Puppet来pipe理一个目录。 我希望目录由用户root和组adminpipe理,拥有0770权限。 我希望目录中的所有文件都由拥有0600权限的用户apache和组adminpipe理。 我还没有find一种方法来实现这个使用Puppet中的文件资源。 我曾尝试使用这样的两个资源: file { 'phpsessions_files': path => '/var/phpsessions', ensure => directory, owner => 'apache', group => 'admin', mode => 0600, recurse => true, before => File['phpsessions_dir'], } file { 'phpsessions_dir': path => '/var/phpsessions', recurse => false, owner => 'root', group => 'admin', mode => 0770, } 但我不允许创build两个文件资源到相同的path,我看不到如何用一个资源来实现我想要的。 非常感谢您的帮助。

让jenkins工作运行一个木偶清单

我正在尝试为我的项目设置CI。 我想要实现以下设置: 程序员将代码推送到GIT jenkins拉最新的代码 使用Maven构build和运行unit testing 使用Puppet在OpenStack上创build一个VM 部署Maven创build的虚拟机的EAR 运行更高级的testing 将testing结果通过电子邮件发送给我 使用Puppet来杀死虚拟机 所以基本上我想让jenkins编排整个过程。 我目前的问题是,我似乎无法find如何使jenkins与木偶谈话。 Jenkins似乎没有“Puppet Plugin”(至less在官方网站上没有)。 而谷歌没有太大的帮助… 我如何configurationJenkins作业来告诉Puppet运行特定的清单? 谢谢

告诉Puppet只在registry项不存在的情况下运行安装

我已经写了一个清单,它安装了一个.exe并在每次安装新机器时对其应用修补程序。 windowsinstaller { 'AppFabric install 1.1 install': software_title => 'AppFabric 1.1 for Windows Server', software_path => '/Microsoft/AppFabric1.1/WindowsServerAppFabricSetup_x64.exe', install_options => ['/i','/SkipUpdates'], } windowsinstaller { 'AppFabric 1.1 HotFix install': software_title => 'Windows Server AppFabric v1.1 CU5 [KB2932678]', software_path => '/Microsoft/AppFabric1.1/AppFabric1.1-KB2932678-x64-ENU.exe', install_options => ['/q','/norestart'], subscribe => Windowsinstaller['AppFabric install 1.1 install'] } service { 'Remote Registry Service': name => […]