问题标签 [chefspec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
180 浏览

ruby - 厨师 | 为目录权限分配编写规范

我是 Chef 和 ruby​​ 的新手,正在完成一个培训项目,我已经被一些可能非常简单的事情挂断了,但我已经用尽了我的谷歌搜索和/或击败提交的能力。我有以下资源...

...我的规格看起来像...

结尾

...对于我的一生,我无法让权利部分的测试起作用。我最近的错误是...

...但我在此过程中看到了许多其他错误。

我在这里想念什么?谢谢。

0 投票
1 回答
688 浏览

rspec - 无法运行具有数据包的 chefspec 测试

我正在尝试使用 chefspec 运行单元测试。我在我的食谱中添加了数据包。没有数据包,chefspec 测试运行良好。添加 databags chefspec 后显示以下错误:

我不知道如何在chefspec 中处理数据包。当我在工作站中使用厨师客户端执行食谱时,它工作正常。但是chefspec测试失败了。

配方规格文件:

配方文件:

您能否建议如何解决此问题。我只在我的厨师工作站上运行测试。

0 投票
1 回答
289 浏览

chef-infra - 测试 Chef 食谱失败

我正在编写一本带有自定义资源的食谱,该资源(除其他外)通过ssh-keygen. 我需要测试用户输入无效输入和资源应该引发异常的场景,所以我正在寻找一种方法来验证“给定以下输入......厨师运行失败”。

如果我正确理解所有内容,Test Kitchen 意味着每次收敛都会成功,而 ChefSpec 意味着资源永远不会真正执行(因此我的 ssh-keygen 调用将永远不会被调用)。

是否有任何常规方法来测试这种情况?

0 投票
0 回答
46 浏览

jenkins - ChefSpec 通过了本地环境,但在 Jenkins 上失败了

我正在运行一本食谱,当我在本地机器上运行它时,我所有的 ChefSpec 测试都通过了。然而,当 Jenkins 运行它们时,它未能通过我的一些测试。我检查了在本地机器和 Jenkins 服务器上运行的 Chef 版本,它们是相同的。我收到的信息是一条基本信息:

预期带有操作的“目录” :create 在 Chef 运行中。其他 bash 资源:(此处为空)。

我也在两个平台上进行了相同的测试,redhat linux 和 aix,但只有 redhat linux 失败。有人知道为什么会这样吗?谢谢

0 投票
1 回答
355 浏览

ruby-on-rails - 在依赖于其他食谱/库的食谱上运行 chefspec 错误

我正在研究一些chefspec教程并遇到了一个问题。

我的代码库中有两本食谱,其中食谱 B 是其他食谱使用的常用方法/库的集合。CookbookA 依赖于 CookbookB 并已将其定义为元数据。

配方按预期运行并达到预期结果。

chef exec rspec spec在 cookbookA上运行时,我收到此错误:

到目前为止,我的 google-fu 让我失望了,感谢您提供任何帮助。谢谢。

0 投票
1 回答
50 浏览

chef-infra - chefspec:谓词匹配器和属性有什么区别?

例如,要检查是否已使用用户“nobody”创建目录,我可以使用以下两种方法之一:

"断言一个目录是用谓词匹配器创建的"

"断言一个目录是用属性创建的"

还有第三种使用正则表达式的方法,但我不关心那个方法。

如何确定使用哪种方法来断言目录已创建并由正确的用户拥有?

0 投票
1 回答
487 浏览

chef-infra - chefspec:render_file 无法检查在另一个上下文中删除的模板内容

考虑以下配方:

...以及以下chefspec测试:

该配方完全符合我的要求:它/etc/mongodb.conf在 version 属性设置为 2.4.x 时创建,/etc/mongod.conf否则,两者都使用auth = true. 在后一种情况下,它还会删除现在已过时的/etc/mongodb.conf.

但是,只要配方包含file '/etc/mongodb.conf'资源,chefspecit 'defines authentication options'在 Mongo 2.4 上下文中就会失败:

知道我应该如何render_file在 2.6 上下文中重写测试才能成功吗?

谢谢

帕特里夏

0 投票
1 回答
356 浏览

ruby - 如何将文件中的属性加载到chefspec节点

我有以下布局:

在属性文件中,我有很多常见的设置喜欢

我想在我的chefspec中使用它们,比如

如何从 SoloRunner/ServerRunner 将此文件包含到我的节点中?

0 投票
1 回答
328 浏览

chef-infra - ChefSpec 测试是否安装了 python 模块

我在InSpec中找到了一种方法来测试是否已使用 chef 安装了 python 模块,但我正在使用ChefSpec并且找不到替代方法。有谁知道是否有办法检查某个 pip 模块是否已安装ChefSpec

0 投票
1 回答
172 浏览

chef-infra - 如何在依赖于另一本食谱的食谱上运行 Chefspec?

我正在重新学习 Chef(我在前世做了 2 年以上),为了帮助我在 CentOS 7 Vagrant 机器上安装 LAMP 应用程序。为了简单起见,我所有的食谱都在同一个 /path_to/cookbooks 目录中,也就是说,

它们也在同一个 chef-repo.git 存储库中,再次保持简单。也就是说,当我克隆我的 chef-repo.git 存储库时,我得到了上面的目录结构。

my_php 食谱依赖于 my_apache 食谱,所以我有这个..

这样我就可以在 my_php:default.rb 配方中重新启动 httpd 服务,就像这样

再次保持简单,我不想使用 Berkshelf。那么我该如何为 my_php 食谱做这项工作?可能吗?

如果我必须使用 Berkshelf 执行此操作,我的 Berksfile 应该是什么样的?