我已经建立了一个用于安装Jenkins CI的食谱.它使用了食谱中的资源key和repository资源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_key和yum_repository方法可用.
有没有办法阻止ChefSpec"降序"到包含的食谱/烹饪书中,只测试当前的食谱?
安装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),但这也没有帮助.
任何人都可以指出我正确的方向或提供任何线索,以获取更多信息?