此问题是在从ChefDK 3.2.30升级到4.2.0之后发现的,并且在升级之前一切正常(包括这两个命令)。
“刀节点列表”的完整错误:
C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/rbvmomi-1.13.0/lib/rbvmomi/vim.rb:8: warning: Win32API is deprecated after Ruby 1.9.1; use fiddle directly instead
Traceback (most recent call last):
8: from C:/opscode/chefdk/bin/knife:359:in <main>' 7: from C:/opscode/chefdk/bin/knife:359:inload'
6: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/bin/knife:24:in <top (required)>' 5: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/lib/chef/application/knife.rb:162:inrun'
4: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/lib/chef/knife.rb:221:in run' 3: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/lib/chef/knife.rb:440:inconfigure_chef'
2: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/lib/chef/knife.rb:185:in load_config' 1: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-config-15.1.36/lib/chef-config/workstation_config_loader.rb:72:inload'
C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-config-15.1.36/lib/chef-config/mixin/credentials.rb:92:in load_credentials': undefined local variable or methodcredentials_file' for #<ChefConfig::WorkstationConfigLoader:0x000000000c311e68> (NameError)来自“厨房聚合”的完整错误:
------Exception-------
Class: Kitchen::ClientError
Message: Could not load the 'chef_zero' provisioner. Error: undefined local variable or method `credentials_file' for #<ChefConfig::WorkstationConfigLoader:0x0000000006f176a0>
Did you mean? credentials_profile
credentials_found
@credentials_found
----------------------
Please see .kitchen/logs/kitchen.log for more details
Also try running kitchen diagnose --all for configuration发布于 2019-08-28 04:00:34
我们发现这种情况下的问题是请求的配置文件无效。
该配置文件可以使用上下文环境变量设置,也可以在用户主.chef目录中名为‘CHEF_PROFILE’的文件中设置(在Linux上为~/.chef,在Windows上为C:\Users\username.chef )。
如果指定的配置文件不是'default‘,则ChefDK将在同一目录中查找名为'credentials’的文件。然后,它将解析该文件并查找与配置文件名称匹配部分。
如果它找不到匹配的配置文件,那么它将生成如问题中所示的错误。
为了解决此用户的问题,我们将“context”文件的值更改为"default“(不带引号),然后一切重新开始工作。
有几种可能的解决方案,哪一种最适合您取决于问题的来源
通过查看C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-config-15.1.36/lib/chef-config/mixin/credentials.rb中的代码,我找到了上面列出的详细信息,这些细节使我找到了解决方案(这是抛出初始异常的地方)。
https://stackoverflow.com/questions/57681486
复制相似问题