我正在使用Chef Automatic的工作流部分将食谱发送到我的Chef服务器。我已经通过管道在Chef服务器上成功上传了2本烹饪书。
在Chef服务器上:
apache
版本为0.2.3
another_test
版本为0.1.1
我想改变一下
阿帕奇
为了依赖另一个_测试,我更新了
阿帕奇
并将版本升级为
0.2.4
.
的元数据文件
阿帕奇
有
depends 'another_test'
和
另一个_测试
没有依赖项。
Berksfile for
阿帕奇
是
source :chef_server
source 'https://supermarket.chef.io'
metadata
当我调用交付审查时,管道开始运行,但我在验证阶段的单元测试阶段失败。
execute[unit_rspec_apache] action run
================================================================================
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
预期进程以[0]退出,但收到“1”
----开始输出rspec——格式文档——颜色----
标准输出:[2017-11-21T14:06:57+00:00]错误:连接被拒绝连接到
https://localhost/universe
,重试1/5
[2017-11-21T14:07:02+00:00]错误:连接被拒绝连接到
https://localhost/universe
,重试2/5
[2017-11-21T14:07:07+00:00]错误:连接被拒绝连接到
https://localhost/universe
[2017-11-21T14:07:12+00:00]错误:连接被拒绝连接到
https://localhost/universe
,重试4/5
[2017-11-21T14:07:17+00:00]错误:连接被拒绝连接到
https://localhost/universe
,重试5/5
“before(:suite)`钩子中出错。
失败/错误:引发NoSolutionError。新(需求,e)
Berkshell::无解决方案错误:
由于解决方案约束(apache=0.2.4),无法满足包另一个不存在的_测试的约束。可能导致另一个_测试受到约束的解决方案约束:[(apache=0.2.4)->(另一个_测试>=0.0.0)]
缺失工件:另一个_测试
无法满足的需求:(apache=0.2.4)
无法找到满足需求的解决方案:apache(0.2.4)
由于此故障,apache 0.2.4的新版本从未上载到Chef服务器。
编辑:
我已经使用超市的依赖项进行了测试,它通过了验证阶段。所以我有
depends 'java'
在apache中,这可以很好地上传。当我依赖来自厨师服务器的烹饪书时,问题就开始了。
编辑2:
我可以登录runner并执行以下操作
knife cookbook list
. 这向我证明了运行者可以访问chef服务器并查看那里有哪些烹饪书。我还尝试将Berksfile更改为
阿帕奇
拥有
source 'https://<full-url-to-chef-server/organizations/myorg'
代替
source :chef_server