Commit Graph

174 Commits

Author SHA1 Message Date
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
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