厨师测试厨房无法融合到Debian 7.11实例上

时间:2017-07-26 19:55:10

标签: ruby chef test-kitchen

我目前正在使用Chef的测试厨房来测试我的配置,然后再将它们应用到我的托管节点。

我已经指定了Ubuntu 14.04 + 16.04,以及Debian 7.11 + 8.8作为要测试的平台。我能够在Ubuntu 14.04 + 16.04实例以及Debian 8.8实例上汇聚我的配置。当试图收敛Debian 7.11实例时,我收到以下错误消息:

kitchen converge jenkins-complete-install-debian-711
-----> Starting Kitchen (v1.16.0)
-----> Converging <jenkins-complete-install-debian-711>...
       Preparing files for transfer
       Preparing dna.json
       Resolving cookbook dependencies with Berkshelf 5.6.4...
       Removing non-cookbook files before transfer
       Preparing validation.pem
       Preparing client.rb
-----> Chef Omnibus installation detected (install only if missing)
       Transferring files to <jenkins-complete-install-debian-711>
       /opt/chef/embedded/bin/ruby: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /opt/chef/embedded/lib/libruby.so.2.4)
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Converge failed on instance <jenkins-complete-install-debian-711>.  Please see .kitchen/logs/jenkins-complete-install-debian-711.log for more details
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

似乎:

/opt/chef/embedded/bin/ruby: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /opt/chef/embedded/lib/libruby.so.2.4)

是罪魁祸首,但我不确定导致此错误的原因。看起来根据bento project on github支持Debian 7.11,所以我想象我需要修改一些东西以使其工作。有没有人使用Debian 7.11测试厨房有经验?

2 个答案:

答案 0 :(得分:0)

正如任何可能遇到此问题的人的后续行动一样,我找到了答案。根据{{​​3}},此问题的解决方法似乎是清除~/.kitchen/cache目录。

一旦我清除了所有文件的这个目录,我就可以在Debian 7.11以及Debian 8.8上收集我的运行列表。

答案 1 :(得分:0)

与 kitchen dokken 面临同样的错误问题。通过移除现有的厨师容器修复:

$ docker ps -a
CONTAINER ID   IMAGE              COMMAND   CREATED        STATUS    PORTS     NAMES
391bb1e8fb3b   chef/chef:12       "true"    12 hours ago   Created             chef-12

$ docker rm chef-12

之后,问题消失了