小编mta*_*tak的帖子

ChefSpec不应该测试包含的食谱

我已经建立了一个用于安装Jenkins CI的食谱.它使用了食谱中的资源keyrepository资源yum,所以我最终得到了以下食谱:

yum_key "RPM-GPG-KEY-jenkins" do
  url "http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key"
  action :add
end

yum_repository "jenkins" do
  description "Jenkins-CI 3rd party repository"
  url "http://pkg.jenkins-ci.org/redhat"
  key "RPM-GPG-KEY-jenkins"
  action :add
end
Run Code Online (Sandbox Code Playgroud)

当我将这个食谱包含在另一个食谱中:

include_recipe 'sp_jenkins::default'
Run Code Online (Sandbox Code Playgroud)

我用以下的ChefSpec测试来测试它

it 'includes the `sp_jenkins::default` recipe' do
  expect(chef_run).to include_recipe('sp_jenkins::install')
end
Run Code Online (Sandbox Code Playgroud)

我的ChefSpec测试失败,输出如下:

NameError:
  Cannot find a resource for yum_key on chefspec version 0.6.1
Run Code Online (Sandbox Code Playgroud)

(我不确定为什么它说版本0.6.1,gem list告诉我它使用的是3.0.2)

sp_jenkins食谱确实取决于yum食谱(metadata.rb),并运行正常,但是,我目前正在写不依赖于菜谱yum食谱,因此不具备yum_keyyum_repository方法可用.

有没有办法阻止ChefSpec"降序"到包含的食谱/烹饪书中,只测试当前的食谱?

ruby rspec chef-infra chefspec

5
推荐指数
1
解决办法
2581
查看次数

WSO2 Governance Registry锁定错误

安装WSO2 Governance Registry并启动它后,我收到以下错误wso2carbon.log:

TID: [0] [Greg] [2014-01-08 10:39:08,625]  WARN {java.util.prefs.FileSystemPreferences} -  Could not lock System prefs.Unix error code 0. {java.util.prefs.FileSystemPreferences}
TID: [0] [Greg] [2014-01-08 10:39:08,625]  WARN {java.util.prefs.FileSystemPreferences} -  Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock. {java.util.prefs.FileSystemPreferences}
Run Code Online (Sandbox Code Playgroud)

这些错误每30秒重复一次.不幸的是,日志没有指定它试图锁定的文件.

我尝试在文件系统上查找所有文件,并使用独占锁,find /opt/wso2 -type f -exec lsof {} \; | grep W但我找不到任何文件.此外,我尝试了解WSO2 GR源代码,但没有找到对此错误的引用.在WSO2 Jira上报告了一个错误(https://wso2.org/jira/browse/REGISTRY-1863),但这也没有帮助.

任何人都可以指出我正确的方向或提供任何线索,以获取更多信息?

java wso2 wso2greg

3
推荐指数
1
解决办法
1804
查看次数

标签 统计

chef-infra ×1

chefspec ×1

java ×1

rspec ×1

ruby ×1

wso2 ×1

wso2greg ×1