chef-provisioning
chef-provisioning copied to clipboard
Verify why-run
Make sure why-run works for existing drivers and scenarios.
For the record, why-run mode doesnt work when creating or updating machines, at least on vagrant or aws. Looks like it actually tries to do the convergence. It does seem to work for action :destroy or :stop.
For example, this is error on aws when the instance does not exist:
Generated at 2015-03-25 17:48:48 -0500
RuntimeError: machine[dbserver-aws1] (@recipe_files::/home/christine/git/topo-provision/gen/aws_deploy.rb line 15) had an error: RuntimeError: Machine dbserver-aws1 does not have an instance associated with it, or instance does not exist.
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-aws-0.4.0/lib/chef/provisioning/aws_driver/driver.rb:440:in `ready_machine'
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provider/machine.rb:38:in `block in <class:Machine>'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:60:in `instance_eval'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:60:in `recipe_eval_with_update_check'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:45:in `block in action'
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provider/machine.rb:55:in `block in <class:Machine>'
and on vagrant (when node does exist):
Generated at 2015-03-25 17:51:24 -0500
NoMethodError: machine[dbserver-vg1] (@recipe_files::/home/christine/git/topo-provision/gen/vagrant_deploy.rb line 10) had an error: NoMethodError: undefined method `[]' for nil:NilClass
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-vagrant-0.8.2/lib/chef/provisioning/vagrant_driver/driver.rb:462:in `strip_quotes'
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-vagrant-0.8.2/lib/chef/provisioning/vagrant_driver/driver.rb:431:in `create_ssh_transport'
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-vagrant-0.8.2/lib/chef/provisioning/vagrant_driver/driver.rb:391:in `transport_for'
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-vagrant-0.8.2/lib/chef/provisioning/vagrant_driver/driver.rb:368:in `machine_for'
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-vagrant-0.8.2/lib/chef/provisioning/vagrant_driver/driver.rb:74:in `ready_machine'
/home/christine/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provider/machine.rb:38:in `block in <class:Machine>'