Commit Graph

794 Commits

Author SHA1 Message Date
Mitchell Hashimoto 1ac3fb39fc provisioners/chef: error if knife not found and auto-deleting 2013-08-29 11:36:37 -07:00
Mitchell Hashimoto 26b32bf8cd provisioners/chef: don't delete node/client by default 2013-08-29 11:27:00 -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 349b2507f9 Merge branch 'unpriv_shell' of https://github.com/frsantos/vagrant into frsantos-unpriv_shell
Conflicts:
	plugins/provisioners/shell/config.rb
	plugins/provisioners/shell/provisioner.rb
2013-08-28 22:29:49 -07:00
Mitchell Hashimoto adb72b07d5 plugins/provisioners: put generated inventory file in vagrantfile dir 2013-08-28 16:54:44 -07:00
Mitchell Hashimoto 8445308830 Merge branch 'generate_ansible_hosts' of https://github.com/commandtab/vagrant into commandtab-generate_ansible_hosts
Conflicts:
	plugins/provisioners/ansible/provisioner.rb
2013-08-28 16:52:13 -07:00
Mitchell Hashimoto 8f2f654446 Merge branch 'chef_solo_environment_support' of https://github.com/marcparadise/vagrant into marcparadise-chef_solo_environment_support
Conflicts:
	plugins/provisioners/chef/config/chef_solo.rb
2013-08-28 16:49:19 -07:00
Mitchell Hashimoto 02399a145c provisioners/ansible: allow verbose :extra to be string 2013-08-28 16:46:04 -07:00
Mitchell Hashimoto 99a51a1ba8 Merge pull request #1979 from bmabey/patch-1
provisioners/ansible: adds extra verbosity option
2013-08-28 16:45:04 -07:00
Ben Mabey bb3609e6b2 adds extra verbosity option to ansible provisioner 2013-08-12 09:31:54 -06:00
Gilles Cornu b061e02bc8 Add support for "ansible.skip_tags" attribute 2013-08-12 09:41:18 +02:00
Mitchell Hashimoto b6ec723426 Update CHANGELOG 2013-08-09 11:53:58 -07:00
Mitchell Hashimoto 3b1a314117 Merge pull request #2015 from flozano/master
provisioners/puppet: Puppet modules owned by root when mounted in sync'ed folder.
2013-08-09 11:53:00 -07:00
Mitchell Hashimoto d237bc0657 provisioners/ansible: properly quote vars with spaces [GH-1984] 2013-08-09 11:51:36 -07:00
Mitchell Hashimoto 269f7c2cc6 Merge pull request #2007 from ches/ansible-exit-status
provisioners/ansible: Fix Ansible provisioner exit code reporting
2013-08-09 11:17:52 -07:00
Mitchell Hashimoto 17ecd05c5f plugins/provisioners/ansible: rename inventory_file to inventory_path
/cc @ches
2013-08-09 11:06:02 -07:00
Mitchell Hashimoto ac8b2c5047 plugins/provisioners/ansible: use exist? check
/cc @ches
2013-08-09 11:04:35 -07:00
Ches Martin c38855f8c1 Ansible inventory can be a directory, not just a file
It is an under-documented feature that one can specify a directory as
the Ansible inventory source, not just a single file. In that case,
Ansible merges the contents of flat files and any executable inventory
plugins found in the directory.

This is useful, for instance, to put localhost in your inventory for use
with `local_action` even if your entire infrastructure is otherwise on
EC2 or some other dynamic inventory source. I also use a flat file to
create aliases for host groups automatically generated from the EC2 API,
like "staging" for `tag_Environment_staging`.
2013-08-09 01:26:04 +07:00
Francisco A. Lozano 521a5c5829 Added :owner => root to mount options 2013-08-01 14:46:03 +02:00
Ches Martin d937cca495 Fix Ansible provisioner exit code reporting
In eb70c0d6bb we were trying to compare a Subprocess::Result to a
Fixnum, resulting in Vagrant always reporting failure regardless of
Ansible's exit code.
2013-07-30 19:25:15 +07:00
Michael Glass a2a88118de removing dead code
concept introduced in 59282ba999 was removed in 28de46f3b4
2013-07-28 16:07:20 -07:00
Mitchell Hashimoto 6c4592ad64 Use --color=false for Puppet no color [GH-2000] 2013-07-28 12:07:48 -07:00
Michael Glass 876937fc9e fix regression chowning chef provisioning directory
if the provisioning directory is mounted before this method is called, and the mounted filesystem is of a type that doesn't support chown (e.g. vmhgfs for vmware or hfs) then this method will fail.
2013-07-25 13:22:03 -07:00
Fabio Rehm 4b299c9fc2 Add missing comma on puppet provisioner file 2013-07-21 17:38:56 -03:00
Mitchell Hashimoto eb70c0d6bb Show an error message if ansible fails to run [GH-1699] 2013-07-20 00:07:09 -04:00
Mitchell Hashimoto 8379d0e20e Don't forcibly output newlines for provisioners 2013-07-19 23:38:25 -04:00
Michal Papis fb96396f65 implemetn array arguments from #1569 2013-07-19 03:35:37 +02:00
Mike Fiedler 5c2c5b9999 Adds formatter option to Chef Provisioner [GH-1250] 2013-07-18 00:45:31 -04:00
Fabian Ruff 931e23c5d0 add verbose_logging config option to chef based provisioners
Conflicts:
	plugins/provisioners/chef/config/base.rb
2013-07-18 00:20:08 -04:00
Mitchell Hashimoto 87455b5d0a Disabe puppet colors if UI has colors disabled [GH-1344] 2013-07-18 00:16:53 -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
Patrick Connolly 4713f146b4 Adds file_cache_path support for chef_solo. [GH-1897]
Conflicts:
	CHANGELOG.md
2013-07-16 16:49:37 -07:00
Nick Anderson 79e5298e70 Add ability to specify custom cfengine pacakge name
This is intended to allow adding support for installing CFEngine
Enterprise.
2013-07-12 10:47:13 -05:00
Nick Anderson c4c8042c0d Merge branch 'master' of git://github.com/mitchellh/vagrant 2013-07-12 10:45:36 -05:00
Marc Paradise 081aa12873 support for chef solo environments, upcoming in chef 11.6 2013-07-11 03:00:07 -04:00
Mitchell Hashimoto dd6dd4929e Remove dna and data bag secret prior to upload in Chef [GH-1111] 2013-07-10 20:26:53 -07:00
Mitchell Hashimoto 56adfec96e Chef can have a custom configuration file set. [GH-876] 2013-07-10 19:31:52 -07:00
Collin Allen f67938249d Generate ansible_hosts file if one is not provided 2013-07-06 23:47:37 -07:00
Marc Fournier 3822d8e1be Add nfs mount option to puppet provisioner
This mimics the equivalent feature from the chef_solo provisioner, and
mounts the puppet manifests and modules with NFS. Doing so can greatly
shortens the time of a puppet run if you have many .pp files.

Enabling this is optional. Virtualbox's (or any other provider's) shared
folders method stays the default. A typical usage would look like this:

    config.vm.provision :puppet do |puppet|
        puppet.manifests_path = "puppetmaster/manifests"
        puppet.module_path = ["puppetmaster/modules"]
        puppet.manifest_file  = "site.pp"
        puppet.nfs = true
    end

This fixes #1308.
2013-06-24 19:52:33 +02:00
Ray Elsleiman 836eadf7b0 Updating provisioner to use latest bootstrap script 2013-06-20 08:51:44 +10:00
Nick Anderson a4597fcd9d Update bootstrap symantecs
CFEngine 3.5 bootstrap removed the policy-server option
http://cfengine.com/blog/cfengine-is-very-easy-to-install-and-now-so-is-bootstrapping
2013-06-17 09:17:11 +02:00
Raadad Elsleiman e108995023 added most recent version of salty-vagrant and bootstrap.sh 2013-05-19 03:29:36 +10:00
Raadad Elsleiman 017baa1ddb Merge https://github.com/mitchellh/vagrant into salty-vagrant-provisoner 2013-05-19 03:03:11 +10:00
Gilles Cornu 8d5b614231 protected not private 2013-05-14 05:26:26 +02:00
Gilles Cornu f2e9562e5f Add support for "ansible.start_at_task" attribute 2013-05-14 05:25:28 +02:00
Gilles Cornu cc4734dfc1 Fix typo error (single dash: -vv not --vv) 2013-05-07 16:57:13 +02:00
Gilles Cornu 96fb28dcf9 Support different verbosity levels with 'ansible.verbose' 2013-05-06 23:01:27 +02:00
Gilles Cornu 66715de2ae Add a Joker to pass raw options to ansible-playbook call 2013-05-06 22:28:20 +02:00
Gilles Cornu 7bc6dd8a33 Add support for "ansible.tags" attribute 2013-05-06 21:17:45 +02:00
Mitchell Hashimoto 6e4a9e15f7 Puppet provisioner supports hiera by specifying hiera_config_path 2013-05-01 18:44:36 -07:00
Mitchell Hashimoto 617bf08f9e Use the proper path on Puppet apply to the manifest 2013-04-30 18:31:06 -07:00
Mitchell Hashimoto 436a942492 Support working_directory option for Puppet [GH-1670] 2013-04-30 18:27:33 -07:00
Mitchell Hashimoto 40e9ce6252 Convert DOS line endings to Unix in shell provisioner [GH-1495] 2013-04-22 23:32:13 -07:00
Mitchell Hashimoto 280afa96c4 Fix default encrypted data bag secret 2013-04-22 08:43:20 -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
Raadad Elsleiman 25ef83e1e4 pushing salt provisioner 2013-04-18 22:41:34 +10:00
Mitchell Hashimoto 4bb5da7232 Chef client config defaults are correct [GH-1609] 2013-04-16 15:07:37 -07:00
Mitchell Hashimoto b49bd8b8ea Properly set the chef-solo run list [GH-1608] 2013-04-16 13:23:00 -07:00
Mitchell Hashimoto 9fe59d9863 Fix regression that @geetarista fixed. 2013-04-15 17:03:22 -07:00
Mitchell Hashimoto a3fdfa0989 Default node name 2013-04-15 17:02:53 -07:00
Robby Colvin 845e966e0b Fix typo in chef provisioning 2013-04-15 16:34:22 -07:00
Mitchell Hashimoto 79099086f5 Switch chef configuration to new-style 2013-04-15 12:08:08 -07:00
Shawn Dahlen 8afd3f105c Fix use of config.ssh.username and reset provisioning path permissions.
This commit contains two fixes:

- The Chef provisioner was incorrectly referencing config.ssh.username
  instead of machine.ssh_info[:username]. With the new change to default
  ssh configuration, if a user had not set config.ssh.username,
  provisioning would fail.

- The shell provisioner was not appropriately changing permissions to
  the upload path. If a different ssh user attempted to use a shell
  provisioner, provisioning would fail. The same case applied to
  the Chef provisioner -- while permissions were being reset, they
  were not done recursively.
2013-04-11 08:05:50 -04:00
Mitchell Hashimoto 6b3e028166 Output shell script that is running [GH-1568] 2013-04-10 11:27:45 -07:00
Mitchell Hashimoto 28de46f3b4 Not an error if cookbooks path is missing 2013-04-10 11:21:18 -07:00
Mitchell Hashimoto 66ff86fda5 Auto-detect policy server IP for CFEngine 2013-04-08 15:30:41 -07:00
Mitchell Hashimoto 9b9ed2d2aa files_path setting for CFEngine 2013-04-08 15:15:45 -07:00
Mitchell Hashimoto b279f222a2 run_file path validation for CFEngine 2013-04-08 15:02:33 -07:00
Mitchell Hashimoto 67917353b7 Add support for policy hub bootstrapping 2013-04-08 14:47:11 -07:00
Mitchell Hashimoto 28432fc813 Specify extra args for the cf-agent call 2013-04-08 14:27:27 -07:00
Mitchell Hashimoto 292bada134 Support config.classes for extra classes in CFEngine 2013-04-08 14:24:46 -07:00
Mitchell Hashimoto c25ce9f732 run_file and single_run mode in CFEngine 2013-04-08 14:21:10 -07:00
Mitchell Hashimoto ae8e8830c4 Some CFEngine config validation 2013-04-08 13:51:40 -07:00
Mitchell Hashimoto c457285fb6 Basic CFEngine boostrapping 2013-04-08 13:46:03 -07:00
Mitchell Hashimoto 53e15263f5 Start working on CFEngine bootstrap 2013-04-08 13:28:54 -07:00
Mitchell Hashimoto 8f9a5671de Support installing CFEngine on RedHat 2013-04-08 13:09:52 -07:00
Mitchell Hashimoto 9599d8a45d Starting work on CFEngine, installs on Debian 2013-04-08 13:05:53 -07:00
Mitchell Hashimoto d7990721a0 s/not/!/ in ansible provisioner config 2013-04-05 09:43:56 -07:00
Collin Allen d783b33fe2 Validate that extra_vars is a hash 2013-04-05 09:40:32 -07:00
Collin Allen c2b43787c5 Make Ansible extra_vars a hash instead of a string 2013-04-05 08:43:45 -07:00
Mitchell Hashimoto 1957efb4e1 Nicer error if ansible-playbook is not installed on the host 2013-04-04 14:01:26 -07:00
Mitchell Hashimoto 896db2f190 Ansible provisioner support CHANGELOG 2013-04-04 13:48:58 -07:00
Collin Allen 2aa96fc550 Enable Ansible color output 2013-04-04 11:31:27 -07:00
Collin Allen b52d4dcd58 Add config.rb newline 2013-04-04 00:24:14 -07:00
Collin Allen bbe08744a2 Use Vagrant::Util::Subprocess.execute instead of SafeExec 2013-04-04 00:07:59 -07:00
Collin Allen 28f4a4c890 Update 'require' calls to resemble shell provisioner 2013-04-04 00:07:30 -07:00
Collin Allen 5a052874b4 Improve ansible provisioner error checks 2013-04-03 23:07:07 -07:00
Collin Allen a1ad1207bd Add ansible provisioner 2013-04-03 22:56:32 -07:00
Mitchell Hashimoto 4ffc2c3b74 Invalid configuration keys are caught and shown in user friendly way
[GH-1484]
2013-04-03 16:18:37 -07:00
Mitchell Hashimoto 64e360814c Fix issue with Chef solo not using Pathname 2013-04-02 16:33:14 -07:00
Mitchell Hashimoto 82f3a3ec29 Go next if local path doesn't exist for Chef
This avoids issues with nil remote_paths
2013-04-02 15:05:10 -07:00
Mitchell Hashimoto 8458166c6a Don't share default chef folder if doesn't exist on host 2013-04-02 15:04:06 -07:00
Mitchell Hashimoto 78d05e73d7 Chef-solo recipe_url works properly again [GH-1467] 2013-03-20 22:20:19 -07:00
Mitchell Hashimoto 6babeb4188 Puppet retains default module path even when custom is set [GH-1207] 2013-03-19 15:23:37 -07:00
Mitchell Hashimoto 59282ba999 Fix overzealous errors with chef solo provisioner defaults 2013-03-18 11:24:18 -07:00
Eivind Uggedal 41de457889 Use UNSET_VALUE for @args in shell config since [] is truthy. 2013-03-18 12:44:26 +01:00
Mitchell Hashimoto 9e80a55d7b Puppet server host_name should be hostname [GH-1444] 2013-03-17 22:26:44 -07:00
Mitchell Hashimoto 2210765412 Fix default values for shell provisioner config 2013-03-17 16:18:49 -07:00
Mitchell Hashimoto 529cb21154 Don't use full path to manifest with Puppet, exposes bug in VMware 2013-03-15 15:00:28 -07:00
Mitchell Hashimoto e06af4e2b9 Properly prepare the path configs for Chef 2013-03-05 11:53:57 -08:00
Mitchell Hashimoto dc5196454e Fix a regression where cookbooks path must be an array 2013-03-05 10:19:36 -08:00
Francisco R. Santos 4a6e7c756b Allow non privileged user vagrant to run a shell provision 2013-02-11 19:42:36 +01:00
Mitchell Hashimoto 2b4920b4b6 Close the tempfile for shell provisioner [GH-1040] 2013-02-07 15:23:18 -08:00
Mitchell Hashimoto a74fc014d6 Modernize chef solo configuration 2013-02-05 22:07:50 -08:00
Mitchell Hashimoto 1af3255559 Be more sane about cookbook_paths default in Chef 2013-02-05 22:02:12 -08:00
Mitchell Hashimoto 7e55e96bd9 Provisioners now sync folders 2013-01-23 09:44:53 -08:00
Mitchell Hashimoto fff021e51d Update Chef provisioner to new validation API 2013-01-18 13:12:02 -08:00
Mitchell Hashimoto df32c47780 Update puppet provisioner config to latest validation API 2013-01-18 13:08:38 -08:00
Mitchell Hashimoto 5e42a99ab6 Update shell provisioner to latest validation api 2013-01-18 13:06:29 -08: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
Mitchell Hashimoto 51a227ae7e Puppet uses the new provisioner API 2013-01-13 16:22:47 -08:00
Mitchell Hashimoto c8053c00a4 New provisioner API. Shell provisioner adheres to it. 2013-01-13 15:48:52 -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 2de124e296 Turn provisioners to V2 2012-11-06 21:21:36 -08:00
Dan Carley fec9410814 Omit empty lines in Puppet provisioner output
The sudo() block and/or the Puppet provisioner often returns newline
characters as separate strings. This makes the chomp() ineffective and
results in extraneous spacing between the output lines.

Separate out the call to chomp() so that we only do it once. Then only
output info if that line is not an empty string.
2012-10-30 11:24:10 +00:00
Mitchell Hashimoto 44804ce94b Fix old channel usage on chef client provisioner 2012-10-26 16:39:51 -07:00
Mitchell Hashimoto 3d0c82edad Merge pull request #1175 from petere/puppet-exitcodes
Check exit codes of puppet provisioners
2012-10-12 19:56:19 -07:00
Mitchell Hashimoto 544006c16c Whitespace and such 2012-10-12 19:51:25 -07:00
Richard Bullington-McGuire cced762645 Fix Windows shell provisioning
Resolves [GH-1036] [GH-1164] [GH-1181]

Ported fixes from patches to 1-0-stable
2012-10-11 20:33:37 -04:00
Peter Eisentraut 901d3ad23b Check exit codes of puppet provisioners
Previously, failures in applying the puppet manifests would be
ignored, because puppet apply/agent don't have any useful exit codes
by default.  (Errors are printed, but vagrant continues.)

Use the option --detailed-exitcodes of puppet apply/agent to check for
success.
2012-10-08 15:22:30 -04:00
Mitchell Hashimoto c1e99713bd Merge pull request #1146 from piavlo/master
make chef provisioners to write human readable dna.json
2012-09-27 14:01:47 -07:00
Mitchell Hashimoto 88277fa2e0 Merge pull request #1067 from jtimberman/chef-command-args
Add config.arguments for Chef
2012-09-27 13:53:29 -07:00
Piavlo c2eb523b05 create human readable dna.json 2012-09-20 19:58:37 +03:00
Mitchell Hashimoto ed1bc58735 Fix shell provisioner to run with new machine abstraction 2012-08-21 16:57:59 -07:00
Mitchell Hashimoto a238e06795 Fix up the chef solo provisioner to work with new machine abstraction 2012-08-21 16:57:17 -07:00
Mitchell Hashimoto b328e95045 Make puppet provisioner work with latest machine changes.
Specifically it was still reference env[:vm] which is now
`env[:machine]`.
2012-08-20 12:13:04 -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 5e1bb5bf63 Fix typo to make puppet provisioners work again 2012-07-25 15:11:01 -07:00
James Turnbull 97420a990a This commit has three minor changes to the Puppet provisioners:
* Renamed the run_puppet_client method in the puppet provisioner
to clarify it's function running Puppet in apply mode from the
command line.

* Renamed the run_puppet_client method in the puppet server provisioner
to clarify the agent is being run.

* Changed the Puppet server provisioner to use the more standard Git-style
command line structure. The puppetd binary has been deprecated in favour of
puppet with the agent flag.
2012-07-11 13:59:20 -04:00
Mitchell Hashimoto 627066c986 Point to TemplateRenderer properly in Chef provisioner base 2012-06-28 08:29:48 -07:00
Mitchell Hashimoto 55528e051c Move provisioners to Vagrant.plugin("1", :provisioner) 2012-06-26 16:04:51 -07:00
Mitchell Hashimoto 590f648fc0 Built-in plugins use Vagrant.plugin("1", :config) 2012-06-26 16:02:44 -07:00
Mitchell Hashimoto 2e00a007ce Move provisioner superclass into the V1 namespace 2012-06-26 15:06:04 -07:00
Mitchell Hashimoto 41bc8e7454 Move Config::V1::Base to Vagrant::Plugin::V1::Config 2012-06-24 17:06:11 -07:00
Jens Braeuer ae92895411 Fix problem that Puppet module-paths were re-ordered by Vagrant.
Puppet module-path were re-ordered by Vagrant due to the use of a
hash. This could lead to unpredictable results.
2012-06-07 20:37:15 +02:00
Mitchell Hashimoto 22e54eed58 Remove autoload from provisioners plugins 2012-05-23 16:07:08 -07:00
Mitchell Hashimoto ca405b29f6 Don't support passing in the config into Chef anymore 2012-05-01 22:04:09 -07:00
Mitchell Hashimoto 804f6411fa Fix reference to the wrong error class 2012-04-30 21:07:09 -07:00
Mitchell Hashimoto 9956e6d012 Better directory structure for plugins 2012-04-20 16:53:01 -07:00