这发生在Puppet'sbundle。Gemfilespecifiesgem"puppet",:path=>File.dirname(__FILE__),:require=>false但是我安装在$GEM_HOME中的一个gem最终出现在$:中。$bundleexecruby-e'puts$:'.../home/puppy/puppet-git-clone/lib.../usr/lib/ruby/vendor_ruby.../home/puppy/gems/gems/puppet-3.7.5/lib...这本身并不是问题,但显然Ruby将加载Puppet3.7.5而不是我从git存储库
我正在尝试找出使用puppet设置一些环境变量的最佳方法。我可以使用exec并执行exportVAR=blah。但是,这只会持续本届session。我还考虑过将它添加到文件的末尾,例如bashrc。但是,我认为没有可靠的方法来检查它是否已准备就绪;所以它最终会随着puppet的每次运行而添加。 最佳答案 我会看一下thisrelatedquestion.*.sh/etc/profile.d中的脚本在用户登录时被读取(正如帖子所说,同时/etc/profile来源)export中放置在/etc/profile.d中的任何脚本中的变量因
我需要一些关于erb模板的帮助,我似乎无法理解传递数组然后迭代它。我的问题是这样的。我想传递几个数组:`device=>["eth0","br0"],ipaddr=>["192.168.12.166","192.168.12.199"],netmask=>["255.255.255.0","255.255.255.0"],hwaddr=>'',network=>'',gateway=>["192.168.12.254","192.168.12.204"],到迭代数组中的每个项目并将其打印出来的模板:autoinetstaticaddressnetmaskbroadcastgateway
是否可以使用正则表达式在Puppet中进行字符串替换/转换?如果$hostname是“web1”,我希望$hostname_without_number是“web”。以下不是有效的Puppet语法,但我想我需要这样的东西:$hostname_without_number=$hostname.gsub(/\d+$/,'') 最佳答案 是的,这是可能的。查看puppet函数引用:http://docs.puppetlabs.com/references/2.7.3/function.html有一个内置的正则表达式替换函数。它可能会调用相
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion考虑到在将存档推送到异地备份位置之前使用GPG和OpenSSL进行本地加密的选择,每种解决方案的优缺点是什么?背景:我目前管理一个基于Ubuntu14.04.1的服务器基础架构,所有当前补丁可用时都已应用。所有这些系统都是headless的,使用经过审查的预置和自动化工具自动构建,并通过KVM在统一的基于Intel的硬件上的虚拟机中运行。我们偏爱Ruby,但更偏爱“正确地做事”。由于这两个
我正在学习puppet并尝试在家里的VM上进行试验。我还没有使用puppet服务器,只是在本地运行。它工作正常,但每次我运行puppetapply...时,我都会延迟几秒钟,然后显示消息warning:Couldnotretrievefactfqdn我假设消息与延迟有关,我想摆脱它(延迟——我可以接受消息)。谷歌搜索解决方案似乎表明它在某种程度上与DNS查找有关,但我真的找不到其他任何关于它的信息,这似乎令人惊讶。我想要的只是能够在我的虚拟机中快速应用list,以便我可以进行试验。我怎样才能加快速度?更新:我在调试输出中没有看到任何额外信息,但它看起来像这样:$puppetapply-
我正在尝试使用puppet来编辑jenkinsconfig.xml。出于各种原因,我认为augeas最有意义,而且我几乎拥有我需要的东西,但格式非常粗糙。这是我的puppet文件:augeas{'jenkins_config.xml':incl=>'/tmp/config.xml',lens=>'Xml.lns',context=>'/files/tmp/config.xml/hudson',changes=>["setsecurityRealm/#attribute/classhudson.security.PAMSecurityRealm","setsecurityRealm/#a
在puppet中,我如何检查代理运行的特定Windows版本?根据thepuppetdocs所有三个识别事实仅指定节点运行的是Windows,而不是运行的是WindowsServer2003、2008或2012。有没有办法不用注册表/命令行检查就可以做到这一点? 最佳答案 operatingsystemrelease事实应该适用于您的情况。在我的电脑上运行:C:\Projects>facteroperatingsystemrelease6.1.7601我得到6.1.7601,它对应于Windows7SP1。
我有一个Java应用程序,它使用ApacheDaemon服务安装程序将其注册为Windows服务。我正在使用Puppet运行一个exec{}block来注册该服务,该服务有效,然后链接一个service{}block以启动该服务。Puppet使用“net.exestart”运行服务,但该命令报告错误,即使服务正确启动也是如此。在powershellshell中运行命令的输出是:PSC:\ProgramData\PuppetLabs\puppet\etc\modules>netstartmyserviceThemyservice_descriptive_nameserviceisstar
我有一组.reg文件需要通过puppet导入。我看到了puppetlabs注册表模块,但无法导入.reg文件。有没有办法通过puppet静默导入.reg文件? 最佳答案 regedit.exe有一个switch/s用于静默导入注册表文件。通过execresource导入文件.$file='C:\path\to\your.reg'exec{"import$file":command=>"regedit.exe/s$file",require=>File[$file],}或者您可以使用reg.exe命令行实用程序,正如@AlexK在评论