在Windows10主机、vagrant和本地虚拟机器VM (Windows Server2012 R2)上,我在执行厨房聚合时突然看到以下错误:
-----> Starting Kitchen (v2.2.5)
$$$$$$ Deprecated configuration detected:
chef_omnibus_url
Run 'kitchen doctor' for details.
-----> Converging <default-BOX>...
Preparing files for transfer
Preparing dna.json
Resolving cookbook dependencies with Berkshelf 7.0.8...
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>> Failed to complete #converge action: [No space left on device - write] on default-BOX
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration这不是完整的kitchen.yml,但以下是显示chef客户端版本的供应设置:
provisioner:
name: chef_zero
# You may wish to disable always updating cookbooks in CI or other testing environments.
# For example:
# always_update_cookbooks: <%= !ENV['CI'] %>
always_update_cookbooks: true
require_chef_omnibus: true
product_name: chef
product_version: 14.12.9
install_strategy: once
platform: windows
platform_version: 10.0
architecture: x86_64日志显示,berkshelf存在某种复制错误:
[2019-12-30T16:17:11.213316 #6088] ERROR -- Kitchen: Message: Failed to complete #converge action: [No space left on device - write] on default-BPA-DEV
E, [2019-12-30T16:17:11.213350 #6088] ERROR -- Kitchen: ----------------------
E, [2019-12-30T16:17:11.213384 #6088] ERROR -- Kitchen: ------Backtrace-------
E, [2019-12-30T16:17:11.213419 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1387:in `copy_stream'
E, [2019-12-30T16:17:11.213455 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1387:in `block (2 levels) in copy_file'
E, [2019-12-30T16:17:11.213489 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1386:in `open'
E, [2019-12-30T16:17:11.213568 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1386:in `block in copy_file'
E, [2019-12-30T16:17:11.213608 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1385:in `open'
E, [2019-12-30T16:17:11.213644 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1385:in `copy_file'
E, [2019-12-30T16:17:11.213679 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:492:in `copy_file'
E, [2019-12-30T16:17:11.213715 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:419:in `block in cp'
E, [2019-12-30T16:17:11.213751 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1557:in `block in fu_each_src_dest'
E, [2019-12-30T16:17:11.213786 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1573:in `fu_each_src_dest0'
E, [2019-12-30T16:17:11.213820 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:1555:in `fu_each_src_dest'
E, [2019-12-30T16:17:11.213855 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/fileutils.rb:418:in `cp'
E, [2019-12-30T16:17:11.213890 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/berkshelf-7.0.8/lib/berkshelf/file_syncer.rb:95:in `block in sync'
E, [2019-12-30T16:17:11.213924 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/berkshelf-7.0.8/lib/berkshelf/file_syncer.rb:78:in `each'
E, [2019-12-30T16:17:11.213959 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/berkshelf-7.0.8/lib/berkshelf/file_syncer.rb:78:in `sync'
E, [2019-12-30T16:17:11.213994 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/berkshelf-7.0.8/lib/berkshelf/berksfile.rb:688:in `block in vendor'
E, [2019-12-30T16:17:11.214029 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/tmpdir.rb:93:in `mktmpdir'
E, [2019-12-30T16:17:11.214064 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/berkshelf-7.0.8/lib/berkshelf/berksfile.rb:635:in `vendor'
E, [2019-12-30T16:17:11.214214 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef/berkshelf.rb:66:in `block in resolve'
E, [2019-12-30T16:17:11.214258 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/shell/basic.rb:22:in `mute'
E, [2019-12-30T16:17:11.214294 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef/berkshelf.rb:61:in `resolve'
E, [2019-12-30T16:17:11.214329 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef/common_sandbox.rb:318:in `block in resolve_with_berkshelf'
E, [2019-12-30T16:17:11.214364 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef/common_sandbox.rb:315:in `synchronize'
E, [2019-12-30T16:17:11.214408 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef/common_sandbox.rb:315:in `resolve_with_berkshelf'
E, [2019-12-30T16:17:11.214522 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef/common_sandbox.rb:252:in `prepare_cookbooks'
E, [2019-12-30T16:17:11.214657 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef/common_sandbox.rb:48:in `populate'
E, [2019-12-30T16:17:11.214739 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef_base.rb:289:in `create_sandbox'
E, [2019-12-30T16:17:11.214789 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/chef_zero.rb:50:in `create_sandbox'
E, [2019-12-30T16:17:11.214831 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/provisioner/base.rb:71:in `call'
E, [2019-12-30T16:17:11.214869 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:409:in `block in converge_action'
E, [2019-12-30T16:17:11.214906 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:552:in `synchronize_or_call'
E, [2019-12-30T16:17:11.214942 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:514:in `block in action'
E, [2019-12-30T16:17:11.215029 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/2.6.0/benchmark.rb:293:in `measure'
E, [2019-12-30T16:17:11.215069 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:513:in `action'
E, [2019-12-30T16:17:11.215105 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:404:in `converge_action'
E, [2019-12-30T16:17:11.215141 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:382:in `block (2 levels) in transition_to'
E, [2019-12-30T16:17:11.215176 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/lifecycle_hooks.rb:45:in `run_with_hooks'
E, [2019-12-30T16:17:11.215211 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:381:in `block in transition_to'
E, [2019-12-30T16:17:11.215248 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:380:in `each'
E, [2019-12-30T16:17:11.215284 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:380:in `transition_to'
E, [2019-12-30T16:17:11.215318 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/instance.rb:140:in `converge'
E, [2019-12-30T16:17:11.215354 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/command.rb:197:in `public_send'
E, [2019-12-30T16:17:11.215390 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/command.rb:197:in `run_action_in_thread'
E, [2019-12-30T16:17:11.215424 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/test-kitchen-2.2.5/lib/kitchen/command.rb:169:in `block (2 levels) in run_action'
E, [2019-12-30T16:17:11.215459 #6088] ERROR -- Kitchen: C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
E, [2019-12-30T16:17:11.215494 #6088] ERROR -- Kitchen: ----End Backtrace-----在过去,我有一个问题,那就是它会挂在搁板上(至少看起来是这样),然后我会重启VM,聚合就会工作。它看起来几乎是一个类似的问题,除了重启没有解决这个问题。
发布于 2020-01-03 13:29:53
我认为你遇到的问题与厨房没有直接的关系,而是你的虚拟机的镜像,它没有足够的磁盘空间。
设备上没有剩余空间-写入]默认情况下-BPA-DEV
当有人在创建虚拟机时创建了一个非常小的存储设备,然后从中派生出一个虚拟机映像时,就会发生这种情况。
但是您是幸运的,因为您可以使用vagrant-disksize动态增加虚拟机磁盘大小,同时使用vagrantfiles驱动程序选项为厨房-流浪汉。
这是我修复相同问题的方法:)
发布于 2020-01-15 02:36:11
我最终解决这个问题的方法是完全停止使用伯克架。我切换到使用策略文件来管理食谱中的包依赖关系,而不是使用伯克架,这个问题就消失了。
https://docs.chef.io/policyfile.html#chef-generate-policyfile
chef generate policyfile 这将在您的食谱中创建一个类似于"Policyfile.rb“的文件。一旦你有了策略文件,厨房可能会抱怨Policyfile.lock.json。您可能还需要获取此文件。我相信我从另一本食谱中复制了我的,之后,JSON使用厨房自动更新为正确的结构。
https://stackoverflow.com/questions/59565887
复制相似问题