草庐IT

rspec-puppet

全部标签

xml - 如何在 puppet 中使用 augeas 创建格式良好的 xml?

我正在尝试使用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

ruby-on-rails - 如何使用 rspec have_selector 方法来验证 XML?

我想做一些基本检查以确保正确生成XML站点地图,但have_selector似乎无法检测标签:require'spec_helper'describeSitemapControllerdorender_viewsbefore(:all)do#codetogeneratefactorydata#...end#illustratingtheproblemit"shouldbeabledetectnodesthataredefinitelypresent"doget:indexresponse.shouldhave_selector('url')endend每次运行测试时,我都会收到以下错误

ruby - 如何使用 RSpec 测试 XML 文件?

我有一个RSS提要,我正在为其编写RSpec测试。我想测试XML文档是否具有正确的节点和结构。不幸的是,我找不到任何好的例子来说明如何以干净的方式做到这一点。我只找到了一些半实现的解决方案和过时的博客文章。如何使用RSpec测试XML文档的结构? 最佳答案 您好,我建议您为此使用自定义匹配器。require'nokogiri'RSpec::Matchers.define:have_xmldo|xpath,text|matchdo|body|doc=Nokogiri::XML::Document.parse(body)nodes=do

windows - Puppet 检查 Windows 版本

在puppet中,我如何检查代理运行的特定Windows版本?根据thepuppetdocs所有三个识别事实仅指定节点运行的是Windows,而不是运行的是WindowsServer2003、2008或2012。有没有办法不用注册表/命令行检查就可以做到这一点? 最佳答案 operatingsystemrelease事实应该适用于您的情况。在我的电脑上运行:C:\Projects>facteroperatingsystemrelease6.1.7601我得到6.1.7601,它对应于Windows7SP1。

windows - 通过 puppet 模块导入注册表文件的静默方式

我有一组.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在评论

windows - Puppet 安装在另一个节点定义中定义的软件

我正在使用PuppetEnterprise。#puppetmaster--version4.8.1list目录(/etc/puppetlabs/code/environments/production/manifests)包含以下内容:iis.pprds.ppsite.pp我在site.pp中有一个节点定义,如下所示:#catsite.ppnode'boxA'{includeiis}现在我面临的问题是,如果我创建一个新节点(例如方框B)并通过创建如下所示的空白定义将其添加到site.pp,它仍然会安装软件它们实际上是另一个节点(在本例中为“框A”)定义的一部分。node'boxB'{}

windows - 使用 Puppet 将安装参数传递给 MSI 安装程序

程序安装到运行Windows7的PC。过去我安装了这样的程序:msiexec/qn/i"C:\installer.msi"我想使用Puppet自动执行此安装。package{'Program':ensure=>'3.1',source=>'\\server\installer.msi',install_options=>['/qn','/i'],}但是安装程序不接受这些参数。Puppet给出“无效的命令行参数”错误,或者根本不会应用参数。我尝试过使用不同的语法:所有参数都在相同的引号内,参数的不同顺序,一次只有一个参数......但没有任何效果。传递它们的正确方法是什么?

windows - 如何从 puppet list 中卸载在 Windows 客户端中运行的 exe 文件

如何使用Puppet卸载在Windows客户端上运行的.exe文件?即。package{"WinRAR":ensure=>absent,} 最佳答案 在@ferventcoder的回答之后,latestversionofwinrar被称为:“WinRAR5.21测试版2(64位)”所以这将卸载它:package{'WinRAR5.21beta2(64-bit)':ensure=>absent,uninstall_options=>['/S'],#stopsthepromptfromcomingup}一个实际的例子:

windows - Puppet fact,列出软件 Windows

我是puppet和ruby​​的新手,只是尝试编写自定义事实但是......遇到以下问题Facter.add("vsphere_installed")doconfine:operatingsystem=>:windowssetcodedoifFacter::Util::Resolution.exec('c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe-NonInteractive-NoProfile-ExecutionPolicyBypass-Command"Get-WmiObject-ClassWin32_Produc

windows - Puppet 以错误的顺序执行类

下面提到的四个模块是我的site.pp文件中的内容。这四个模块是我写的,它们依次使用Forge模块。例如,iis::install使用puppetlabs/windowsfeature模块来安装IIS和site::install使用puppetlabs/iis创建我需要的网站和appPool。我遇到的问题是-Puppet正确地开始执行iis::install但它没有完全执行完这个类。它保持在后台,然后开始执行tools::install。由于执行顺序错误导致完全失败我也面临着与其他两个类(class)完全相同的问题。它只是开始执行site::install,然后继续执行includes