问题标签 [chefdk]
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.
chefdk - 我已经在我的工作站中安装了 chefdk 并创建了一个名为 chef-repo 的目录
我在这里有个问题。
我已经在我的工作站中安装了 chefdk 并创建了一个名为 chef-repo 的目录。现在我的问题是如何测试食谱?bin 文件夹包含与 chefdk 位置 /opt/chefdk/ 相关的所有二进制文件,从哪里可以上传食谱
chef-infra - 厨师客户端显示错误消息
我有一个厨师版本的环境:
当我运行 chef-client 命令时,我收到以下错误:
我是新来的厨师。我无法在此环境中升级或更改版本,但由于此问题构建失败。关于为什么会发生这种情况的任何见解?谢谢。
chef-infra - Berks 上传在 ChefDK Berkshelf 中不起作用
伯克斯上传 -d 给出:
这是我的 config.json
错误信息:
ruby - 厨师 DK 的刀非常慢
我注意到我的厨师命令要花很长时间才能执行。例如,当我输入 knife -h 时,它可能需要一分钟多的时间才能运行。在此等待期间使用 -VV 时看不到任何输出。
运行 help 命令时,knife 可能在做什么?跳出来的两件事是它可能正在迭代某些东西,或者我可能有网络问题。我不明白为什么帮助命令会使用网络。
这适用于 Windows 7 机器。
关于如何解决此问题的任何想法?
chef-infra - 一个节点可以是多个厨师环境的一部分吗
服务器是否可以成为同一组织中多个环境的一部分?如果是这样,我们如何将节点添加到新环境而不覆盖现有环境。
vagrant - 无法配置非最新的 chef-dk 安装
我们的组织尚未升级到 Chef 13 或 14,因此我们必须将所有食谱固定到版本 12。这意味着固定到 chef-dk 版本 1.6.11。我正在使用食谱在 Vagrant 中旋转 centos7 vm 并设置了版本,但它只会安装最新的 chefdk,这导致机器获得 Chef 14。我在 of 中添加了一个依赖metadata.rb
项chef_version ~> 12
,因此配置失败,因为安装了 Chef 14,但食谱需要 12。
我应该提到 VM 是用于食谱开发的,所以我想要正确版本的厨师。
我缺少什么来安装正确的版本?
谢谢。
食谱/default.rb:
node.default['chef_dk']['version'] = '1.6.11'
node.default['chef_dk']['global_shell_init'] = true
include_recipe 'chef-dk'
元数据.rb:
depends 'chef-dk'
chef_version '~> 12.0'
伯克斯文件:
cookbook 'chef-dk'
chef-infra - 在 Solaris 上安装 chef-dk & Inspec
如何在 Solaris 上安装 Chef-DK 和 Inspec?
我的 Solaris 机器上安装了 Chef-Client(版本 14.5.33)。
我尝试执行:curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec
并且curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P chef-dk
我收到以下错误:
timeout - Chef Berks Install (Berkshelf) Timesout contacting Artifactory repository (Faraday Timeout / Actor Crashed)
Artifactory 5.8.4 Professional
Chef Development Kit Version: 1.1.16
chef-client version: 12.17.44
delivery version: master (83358fb62c0f711c70ad5a81030a6cae4017f103)
berks version: 5.2.0
kitchen version: 1.14.2
In Artifactory, I have this repository (virtual): avirtual-repo
Berksfile contains:
When, I'm running berks install
, it sometimes succeeds (takes time to fetch cookbook and dependent cookbook versions that it finds during berks install
process) and most of the times, it fails with the following Timeout error messages.
For a successful run in Jenkins for berks intsall
: I see this:
For a FAILED run of berks intstall
in Jenkins: I see the following errors:
Error messages: /opt/chefdk/embedded/lib/ruby/gems/2.3.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:805:in `gets': execution expired ( Faraday::TimeoutError )
[2019-03-06T10:25:27.447804 #74360] ERROR -- : Actor crashed!
[2019-03-06T10:25:37.451708 #74360] ERROR -- : Couldn't cleanly terminate all actors in 10 seconds!
Full Console output of Failed run:
Looking at the source code of the gems .rb file, I see somewhere it talks about Timeout limit being 600 (seconds), but I think that's enough as during a successful run, everything works within 1-3 minutes. A failed run takes about 6-7 minutes before it finally times out by killing the whole single process thread.
ruby - 从 Rails 应用程序调用 Chef 更新命令时出现 Encoding::UndefinedConversionError
我正在构建一个使用 Chef-DK underthehood 的 Rails 应用程序。
我想要实现的是执行与chef update <path/to/policyfile>
.
这是代码中有趣的部分:
运行时,它开始更新策略文件,但失败并显示以下输出:
这是带有trace
日志级别的 Chef 输出:
因此,就像在对 Amazon S3 中的 fail2ban 存档进行放气时,由于某些编码内容而失败。
从那时起:
- 然后当我
chef update
从终端运行命令时,它工作正常,没有错误 - 当我再次运行我的代码时,它也可以正常工作(我猜是由于厨师缓存了食谱的版本,所以不再经历失败的代码)
所以对我来说,为了让这部分工作,我的代码中好像缺少了一些东西,但我不知道它可能是什么。
我该如何解决这个问题?
PS:该应用程序在带有 Linux Alpine 的 Docker 容器中运行。