Commit Graph

43 Commits

Author SHA1 Message Date
Taliesin Sisson 3ab64ab7e4 Handle Chef provisioner requests to reboot. A request to reboot is not a convergence failure, so don't treat it like a convergence failure.
Wait for the machine to reboot before trying to continue the provisioning.
2017-08-10 11:39:41 +01:00
Seth Vargo 8319f159b6 Use hostname if no node_name is set
Fixes GH-7063
2016-03-17 20:15:11 -05:00
Seth Vargo 8c3f833e8e Use the new presence helpers in the Chef provisioner 2015-11-23 18:33:47 -05:00
Seth Vargo 609ff9f7b2 Allow provisioner cleanup task to exit on failure 2015-11-19 14:55:46 -08:00
Seth Vargo 9559fc549c Automatically generate a node_name for Chef
This is required because the Chef Server almost always needs a node name to
interact. This will default to the hostname, but that's always going to be
`vagrant.vm`, which will collide easily.

This generates a random hostname with `vagrant-` as the prefix and stores the
result in the machine's data directory.
2015-11-19 11:38:33 -08:00
Seth Vargo f999218c53 Perform Chef delete operations on the guest instead of the host 2015-11-18 18:28:42 -08:00
Seth Vargo a1a3824e35 Do not throw an error when the Chef node_name is nil 2015-11-18 16:56:31 -08:00
Seth Vargo 4b1847acf3 Use Chef Client for Chef Zero
Fixes GH-5619
2015-07-09 21:23:42 -06:00
Seth Vargo 0e039159a6 Calculate Chef paths at provision time 2015-07-09 16:55:55 -06:00
Seth Vargo 742d47c4cf No longer need subprocess wrapping there :) 2015-07-09 16:06:03 -06:00
Taliesin Sisson 9233e22974 Use powershell syntax for Chef provisioner when using windows 2015-05-02 16:21:32 +01:00
Seth Vargo f86189a2fe Add Env.with_clean_env for resetting the Ruby and Rubygems environment 2014-11-10 12:00:23 -05:00
Seth Vargo f232dc38c9 Automatically install Chef when provisioning with Chef 2014-11-07 15:56:22 -05:00
Seth Vargo 1169c80a72 Use require_relative for faster loading
require_relative is an order of magnitude faster on Windows
2014-10-30 13:43:25 -04:00
Mitchell Hashimoto 2cdcc29902 provisioners/chef: put global lock around knife exec 2014-08-06 10:24:05 -07:00
Shawn Neal 2fd634273f First attempt at trying to fix issue 2476
This addresses the error "chef is not part of the bundle" when the chef-client provisioner attempts to delete the node or client from the Chef Server. While this fixes the specific issue on my system, its likely that it does not account for all system configurations like RVM.

The Bundler.with_clean_env should probably be moved internally to Subprocess.execute, but that's a riskier change and I'd like to get some feedback before even attempting that size of change.
2014-06-24 16:49:17 -07:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Shawn Neal 068b5cf0b9 Move Windows symlink re-establishment after reboot into capability
This reduces the complexity and likelihood of provisioner bugs.
2014-04-30 17:36:36 -07:00
Shawn Neal 38c7203f92 Chef provisioner should utilize reboot capability 2014-04-26 21:07:26 -07:00
Shawn Neal 99ce95198b First pass at integrating new WinRM elevated execution wrapper
- Removed a lot of the Windows special casing from Chef runs
- Don't attempt to use @config.binary_env since we don't properly pass this along to Chef
2014-04-26 21:07:26 -07:00
Mitchell Hashimoto 1c7faae1ee provisioners/*: prefix the output 2014-04-21 13:56:19 -07:00
Mitchell Hashimoto 7022b1c29d provisioners/chef: command builder for Linux 2014-04-21 13:54:06 -07:00
Mitchell Hashimoto 909cda4bd1 provisioners/chef: reinit net shares on Windows guests 2014-04-21 13:54:05 -07:00
Teemu Matilainen 7d90191212 provisioners/chef: DRY up `environment` and `node_name` configuration 2014-02-21 23:28:46 -03:00
Teemu Matilainen ad34d474bc provisioners/chef: DRY and unify encrypted data bag secret handling
Pull up encrypted data bag secret management into the base classes, thus
also unifying the functionality.

Especially this complements the issues:
  * Upload the secret to provisioning path also with chef-solo [GH-1246]
  * Delete the secret also with chef-client [GH-2712]
  * Remove the secret before uploading also with chef-client [GH-1111]
2014-02-15 22:46:48 -03:00
Teemu Matilainen d321b9199e provisioners/chef: fix node/client deletion when node_name is not set [GH-2345]
V2 config uses `hostname` instead of `host_name`.
2013-12-13 00:51:22 -03:00
Mitchell Hashimoto 8581a93e76 provisioners/chef: upload encrypted data bag secret to prov path
[GH-1246]
2013-11-25 15:55:00 -08:00
Mitchell Hashimoto 2be01284ea provisioners/chef: fix exception during node cleanup [GH-2345] 2013-10-14 17:12:49 -10:00
Mitchell Hashimoto 9fcc89bcf1 provisioners/chef: use real variable in delete from chef sever [GH-2300] 2013-10-01 14:13:16 -07:00
Mitchell Hashimoto a8ebd30cb9 provisioners/chef: use Subprocess to execute knife 2013-08-29 11:26:21 -07:00
Mitchell Hashimoto d4c7e20110 core: ProvisionerCleanup task to run cleanup on provisioners 2013-08-29 11:13:43 -07:00
Mitchell Hashimoto 93c98aad01 Merge branch 'pr/1267'
Conflicts:
	plugins/provisioners/chef/provisioner/chef_client.rb
2013-08-29 10:50:50 -07:00
Mitchell Hashimoto 8379d0e20e Don't forcibly output newlines for provisioners 2013-07-19 23:38:25 -04:00
Patrick Connolly 7e0050527d Moves to using new chef cache/backup dir defaults.
Conflicts:
	plugins/provisioners/chef/provisioner/base.rb
2013-07-16 16:50:10 -07:00
Mitchell Hashimoto c0539d6e31 Warn if run list on Chef is empty, not error [GH-1620] 2013-04-19 10:12:09 -06:00
Mitchell Hashimoto 129f1985bd Remove the "!" on chef client provision method. 2013-01-13 16:51:16 -08:00
Mitchell Hashimoto 0c8391aedd Chef uses the new provisioner API 2013-01-13 16:41:32 -08:00
Nate Smith 691cca7911 Suppress knife output 2012-12-17 12:04:53 -05:00
Nate Smith 94ce12683e Show node name in logging 2012-12-17 11:58:15 -05:00
Nate Smith 370d6b0c98 Delete Chef client and node on cleanup
This fixes #1253 by shelling out to `knife` on cleanup, as per
@mitchellh's suggestion in #1255
2012-12-17 11:49:27 -05:00
Mitchell Hashimoto 44804ce94b Fix old channel usage on chef client provisioner 2012-10-26 16:39:51 -07:00
jtimberman 50e9f83970 Add config.arguments for Chef
* Adds chef.arguments to Chef::Provisioner::Config
* Usable in both chef-client and chef-solo
* Specify as a string, "-L /tmp/foo.log", e.g.
2012-08-10 12:58:43 -06:00
Mitchell Hashimoto 9956e6d012 Better directory structure for plugins 2012-04-20 16:53:01 -07:00
Renamed from plugins/chef/provisioner/chef_client.rb (Browse further)