草庐IT

rspec-puppet

全部标签

ruby - 带有 Puppet 的非法 rabbitmq 集群节点

我依靠Librarian-puppet在vagrantbox中安装rabbitmq。puppet版本是3.4.0我的Puppetfile包含forge"http://forge.puppetlabs.com"[...]mod'rabbitmq',:git=>'git://github.com/puppetlabs/puppetlabs-rabbitmq'按照文档,我打算使用下一条指令安装RabbitMQ服务器:class{'::rabbitmq':service_manage=>false,port=>'5672',delete_guest_user=>true,}这样做时,我遇到了以

ruby - 工头与 puppet node.rb 错误 404 未找到

我已经安装了带有puppet的foreman-1.2,安装后我已经将我的puppet注册到foreman上的smart-proxy。当我运行以下命令时[root@puppet~]#puppetagent-tWarning:Unabletofetchmynodedefinition,buttheagentrunwillcontinue:Warning:Error400onSERVER:Failedtofindpuppet.example.comviaexec:Executionof'/etc/puppet/node.rbpuppet.example.com'returned1:---fa

ruby - 如何使用 puppet 在服务器上设置环境变量?

我开始在我当前的项目中使用puppet,但遇到了一些问题。我正在使用配方来安装jruby,但我想在它完成安装jruby后设置一个环境变量(在本例中为JRUBY_HOME并修改PATH以包含JRUBY_HOME/bin)。这是食谱:classjruby{$jruby_home="/opt/jruby"exec{"download_jruby":command=>"wgethttp://jruby.org.s3.amazonaws.com/downloads/1.7.0.RC2/jruby-bin-1.7.0.RC2.tar.gz",path=>$path,timeout=>0,unles

ruby - 在 Puppet 中将变量转换为字符串

是否可以在Puppet中将Boolean变量转换为String?我想在替换字符串时使用它。我可以使用条件语句,但也许没有必要。$variable=true$my_string="status_"$string=regsubst($my_string,'_',$variable)像这样 最佳答案 我建议使用puppetlabs-stdlib为此功能:bool2str使用可选提供的参数将bool值转换为字符串。可选的第二个和第三个参数分别表示转换为true和false的内容。如果只给出一个参数,它将从bool值转换为包含“true”或“

ruby - Puppet:嵌套哈希/字典,数组:如何在 erb 中访问?

玩puppet,我最终进入了一个嵌套的字典/哈希-看起来或多或少像$settings={"var1"=>{"ip"=>"0.0.0.0","port"=>"1234","option"=>["foo","bar"],"machines"=>{"maschine-1"=>{"ip"=>"1.2.3.4","port"=>"1234"},"maschine-2"=>{"ip"=>"1.2.3.5","port"=>"1235"},}}}但是,我还没有设法在相应的erb模板中正确解析它。:optionserver:因此,我可以毫无问题地获取顶级字典中的值,即“ip”和“port”,但是,当我

ruby - 如何使用 Puppet Ruby DSL 定义类继承

我有一个Puppet类“Ruby”:#init.ppclassruby{package{'libldap-ruby1.8':ensure=>'installed'}}然后我有一个用PuppetRubyDSL编写的类,它应该继承这个Puppet类:#ldap.rbhostclass'ruby::ldap'do(...)end如何定义ruby​​::ldap继承ruby​​? 最佳答案 遗憾的是,Google网上论坛上的Puppet开发人员不回答任何相关问题(link1、link2)。 关于

ruby - 将 puppet 路径映射到绝对路径

我正在尝试为puppet编写一个新函数,它将puppet源路径作为参数,例如:puppet:///modules/foo/some/dir然后函数需要分析这个目录,所以我需要弄清楚目录的绝对路径,这取决于环境,例如:/srv/puppetmaster/stable/modules/foo/files/some/dir我可以使用什么函数来实现这一点? 最佳答案 不确定是否有内部方法/函数来执行此操作,但仍然可能有几种方法可以实现此目的。检查ENV是否有任何puppet配置。从您的脚本调用system()-puppet可以转储模块路径的

ruby - 在 CircleCI 中指定 Puppet + Ruby 版本矩阵

我正在使用CircleCI作为Travis的替代品,使用我编写的Puppet模块。我的.travis.yml有一个Puppet和Ruby版本的矩阵,看起来像这样:---language:rubybundler_args:--withoutdevelopmentbefore_install:rmGemfile.lock||truervm:-1.8.7-1.9.3-2.0.0-2.1.0script:bundleexecraketestenv:-PUPPET_VERSION="~>3.2.0"-PUPPET_VERSION="~>3.3.0"-PUPPET_VERSION="~>3.4.0

ruby - 除非目录存在于 puppet 中,否则执行命令

如果puppet文件中不存在目录,如何执行命令?exec{"my_exec_task":command=>"tarzxf/home/user/tmp/test.tar.gz",unless=>"test-d/home/user/tmp/new_directory",path=>"/usr/local/bin/:/bin/",}我收到错误消息:“无法评估:找不到命令‘test’”。这也是检查目录是否不存在的最佳做法吗? 最佳答案 test在/usr/bin为我工作,所以将它添加到路径可以解决错误。unless=>'bash-c"tes

ruby - 如何确定puppet类的运行顺序?

我是Puppet部署的新手。我定义了两个类classtaskname{exec{"deploy_script":command="cp${old_path}${newpath}",user=root,}cron{"cron_script2":command="pyrhton${new_path}",user=root,require=Exec["deploy_script"]}}classtaksname2{exec{"deploy_script2":command="cp${old_path}${newpath}",user=root,}cron{"cron_script":comm