Commit Graph

538 Commits

Author SHA1 Message Date
Mitchell Hashimoto 5ebe007ddc Merge pull request #3005 from ajw0100/fix-salt-options-error
provisioners/salt: Fix "options are only allowed before install arguments" error.
2014-02-23 21:25:42 -08:00
Teemu Matilainen 7d90191212 provisioners/chef: DRY up `environment` and `node_name` configuration 2014-02-21 23:28:46 -03:00
Teemu Matilainen 24f7d7b9eb Merge pull request #2975 from shanegibbs/chef-solo-role-path
Add support for multiple role paths in chef-solo >= 11.8.0
2014-02-21 23:58:10 -02:00
A.J. Welch 9f0efc19a9 Fix "options are only allowed before install arguments" error.
This reverts feb748f488 and 7cd7077467. `bootstrap_options` is
meant for flag options such as `-D`. This is demonstrated in the
example Vagrantfile from the original plugin:
github.com/saltstack/salty-vagrant/blob/develop/example/complete/Vagrantfile
Flag options must be appended to the options string before install
args such as `install_type` and `install_args`.
2014-02-19 20:24:05 -08:00
Teemu Matilainen eea9c07029 provisioners/chef: set `encrypted_data_bag_secret` to `nil` if it's not uploaded
/cc @shanegibbs

Fixes #2984
2014-02-16 18:14:56 -03:00
Gilles Cornu 709f3f4e6f provisioners/ansible: Change --limit behaviours
- The implicit default limit is always set
- ansible.limit as an empty string won't disable the default limit, but
  will be passed as "--limit=" argument and ansible-playbook will return
  an error (provided host list is empty)
2014-02-16 11:39:15 +01:00
Gilles Cornu c2663f5d30 provisioners/ansible: Fix Group Management
- Support arbitrary depth of "groups of groups of ... groups"
- Skip ':vars' suffix, but allow group names with ':' (yes, Ansible
  accepts this character)
- Like for groups of machines, groups of groups can result "empty", but
  it is not an issue for Ansible. Recursive filter on the group tree is
  a bit hard to implement, and don't brind real added value at Vagrant
  level.
2014-02-16 11:20:00 +01: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
Mitchell Hashimoto 8c9fde41e9 provisioners/shell: clean up fixnum handling 2014-02-14 12:43:27 -08:00
Ryan Uber 509e29043a Added handling of fixnum values for shell provisioner options both as the value
of `args` itself and as an element inside of an `args` array. Added validation
around passing in arrays for arguments. Just knowing that it is an array is not
enough, because arrays can contain any other type.
2014-02-14 11:47:36 -08:00
Shane Gibbs 5600bd1067 Add support for multiple role paths in chef-solo 2014-02-14 21:48:18 +13:00
Mitchell Hashimoto 59d257f832 provisioners/puppet: mergeable config 2014-02-03 22:27:23 +01:00
Mitchell Hashimoto d864187b1a provisioners/docker: configuration is mergeable 2014-02-03 22:23:26 +01:00
Mitchell Hashimoto 38c2a48ff4 provisioners/docker: always pull images [GH-2901] 2014-02-03 16:26:38 +01:00
Mitchell Hashimoto 1d69e95c1c provisioners/docker: config to disablize -d flag 2014-02-03 16:14:59 +01:00
Gilles Cornu 466cf58476 ansible generated inventory: skip group variables
Except ':children' for groups of groups, it is safer to avoid generating
':suffix' blocks. At the moment Ansible only supports (but doesn't
recommend) group variables (:vars), and the Vagrant Ansible provisioner
won't support this way to define variables.
2014-02-02 23:28:04 +01:00
Gilles Cornu f564bf7410 Ansible Groups: Accept single item as String
Syntax errors in `ansible.groups` definition are not well handled:
Error returned: undefined method `each' for "machine1":String (NoMethodError)

Being tolerant here doesn't hurt and may avoid people get
confused/annoyed.
2014-02-02 23:21:06 +01:00
Gilles Cornu 84308964e2 ansible generated inventory: deal with orphan VMs
env.active_machines can potentiall return 'invalid' machines:
- Ignore machines that are not declared in current Vagrantfile
- Warn when machines are missing (it usually occurs when the VM is
  removed without `vagrant destroy` and some orphan metadata remains
  in .vagrant/machines/...)
2014-02-02 23:06:27 +01:00
Mark Aaron Shirley 3bf5032d4b Update Ansible provisioner to only create a single inventory file
The Ansible provisioner will now only create a single inventory file named,
"vagrant_ansible_inventory". All defined Vagrant machines will be added to
this inventory file. Provisioning will now include a "--limit=#{machine}"
option to scope Ansible provisioning tasks to just the current machine. Setting
the Ansible provisioner's "limit" config option will override the new default
limit. Ansible provisioning scripts will now have access to all other defined
machines and what groups they reside in.
2014-02-01 13:04:20 -08:00
Teemu Matilainen b52958bfb6 provisioners/file: expand destination path if capable 2014-02-01 01:23:09 -03:00
Mitchell Hashimoto 09955be2cd provisioners/docker: configure auto start properly for new Docker
[GH-2874]
2014-01-21 20:52:27 -08:00
Mitchell Hashimoto a19e442cf2 provisoiners/docker: only add user to group if not in it [GH-2838] 2014-01-16 10:34:08 -08:00
Mitchell Hashimoto ead1382343 provisioners/docker: fix wrong variable usage
caught by @pda
2014-01-15 17:33:55 -08:00
Mitchell Hashimoto 2ca498a5dd provisioners/docker: build images using new DSL 2014-01-14 09:22:55 -08:00
Mitchell Hashimoto b3de12702a Merge branch 'add_building_local_dockerfiles' of https://github.com/jpfuentes2/vagrant into jpfuentes2-add_building_local_dockerfiles 2014-01-14 08:17:44 -08:00
Mitchell Hashimoto 6a7e07c53f provisioners/chef: don't follow symlink when chown 2014-01-11 08:02:59 -08:00
Mitchell Hashimoto fcae8dd687 Merge pull request #2766 from graingert/patch-1
provisioners/salt: Allow defining of <install-type> and <install-type-args>
2014-01-10 15:43:25 -08:00
Teemu Matilainen 64ea647e09 provisioners/chef-solo: Fix copy&paste "Puppet" from a deprecation message 2014-01-08 13:27:35 -03:00
Thomas Grainger feb748f488 Allow defining of <install-type> and <install-type-args> 2014-01-06 12:22:43 +00:00
Mitchell Hashimoto e29bcba955 provisioners/puppet: alphabetize 2014-01-02 14:44:49 -08:00
Mitchell Hashimoto 040e1a2e0a provisioners/chef: synced_folder_type 2014-01-02 14:40:57 -08:00
Mitchell Hashimoto 1da271c536 provisioners/puppet: synced_folder_type [GH-2709] 2014-01-02 14:37:47 -08:00
Mitchell Hashimoto 7f5c85cf20 provisioners/chef-solo: delete data bag secret [GH-2712] 2013-12-31 10:44:08 -08:00
Marc Meszaros 13ff159d8c Fix salt provisioner error namespace to be more consistent with other provisioners 2013-12-27 22:38:44 -05:00
Marc Meszaros 194d7d11cd Add error messages to localization file for salt provisioner 2013-12-27 22:37:54 -05:00
Tobias Bähr 364488eba8 Set default value to avoid a prompt 2013-12-22 18:48:14 +01:00
Mitchell Hashimoto 9ac4ec85dd Merge pull request #2677 from purpleidea/fix_puppet_apply
provisioner/puppet: do not prepend default path because it can override modules.
2013-12-18 08:31:21 -08:00
James Shubin d4c76d1bcf Do not prepend default path because it can override modules.
It is common for Puppet to manage itself. If the puppet code you are
deploying pushes files to /etc/puppet/modules/, then prepending this
path can break deployment because it will override the module path if
the deployment code is changing. There is no good reason to include this
path. Puppet has built in defaults for this reason.
2013-12-17 14:29:54 -05:00
Charles Blaxland 7518bf94eb Force rm of chef config files #2669 2013-12-17 17:53:52 +11:00
Gilles Cornu e5f45e2b79 Ansible: Fix a bug in `raw_arguments` option
Without this change, it is not possible to pass more than one "raw"
argument, which was not the expected behavior. In addition to Array
format, String (for a single argument) is still accepted (for sake of
"backward compatibility" and ease of use).

Note: Due to low/expert usage of this option, I think that it is not
necessary to add more robust validation on this parameter (e.g. Array
of String type checking or argument syntax pattern matching). Use it at
your own risk ;-)
2013-12-16 21:20:10 +01:00
Gilles Cornu 213534d185 Merge pull request #2606 from maspwr/ansible-groups
Add ability to use Ansible groups in generated inventory. Fixes #2551.
2013-12-14 07:03:22 -08:00
Fabio Rehm 46ba43e6ac provisioners/docker: Display warning in case a version get specified on the Vagrantfile and the guest is a RedHat-ian guest [GH-2649] 2013-12-13 23:06:20 -02:00
Fabio Rehm 6f304d5e29 provisioners/docker: Move DockerConfigureVagrantUser capability up to Linux guests [GH-2649] 2013-12-13 23:06:20 -02:00
Fabio Rehm 5a842fc609 provisioners/docker: Check if epel-release is installed on RedHat-ian guests before attempting installation [GH-2649] 2013-12-13 23:06:20 -02:00
Naoto TAKAHASHI 746d406558 add docker for redhat 2013-12-14 02:35:34 +09: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
Arthur Neves c57073da7b Rename docker_client and docker_installer
We can rename those classes and remove the docker_ prefix as they
already have a module namespace.
2013-12-12 14:59:03 -05:00
Jacques Fuentes 579cc8e558 Remove defunct @build_options reference 2013-12-09 18:36:57 -05:00
Jacques Fuentes 1738f9dccf Add option to Docker provisioner to build local images 2013-12-09 17:54:32 -05:00
Mark Aaron Shirley 906579d25a Add ability to use Ansible groups in generated inventory. Fixes #2551. 2013-12-08 23:08:03 -08:00
Mitchell Hashimoto 89f4e14ab3 Merge pull request #2585 from mitchellh/2585-fix-docker-image-assignment
provisioner/docker: unable to run multiple docker containers based off the same image
2013-12-06 14:56:15 -08:00
Teemu Matilainen b0919b916b Remove extraneous character
Going down? ;)
2013-12-06 18:57:27 -03:00
Mitchell Hashimoto 17b68f7d50 provisioners/puppet: use unique directory for each definition 2013-12-06 12:39:50 -08:00
Mitchell Hashimoto f8223d4704 provisioners/chef: support proper counter for multiple chefs 2013-12-06 12:26:48 -08:00
Mitchell Hashimoto 38f931ba93 provisioners/shell: array args properly work 2013-12-06 11:28:32 -08:00
Fabio Rehm 8688c6b8b2 provisioners/docker: Only assign the `image` config in case it was not specified 2013-12-05 22:12:44 -02:00
John Bellone bebaa63063 [provisioner/chef]: Update base to fix typo.
It seems this was introduced by accident with #2281.
2013-12-05 15:24:53 -05:00
Fabio Rehm 7e0b0a5a3c provisioners/docker: Extract container lookup method 2013-12-04 22:13:17 -02:00
Fabio Rehm c7a5592b96 provisioners/docker: Ensure checks for whether the container exists / is running works accross multiple Docker versions [GH-2579] 2013-12-04 22:10:39 -02:00
Mitchell Hashimoto 3df245f1fd provisioners/chef: create/chown backup folders [GH-2281] 2013-12-04 11:51:05 -08:00
Mitchell Hashimoto 146bc34019 Merge pull request #2549 from mitchellh/f-docker-provisioner
docker provisioner
2013-12-03 17:47:42 -08:00
Mitchell Hashimoto 8f4fa897d0 provisioners/docker: use proper UNSET_VALUE for no value 2013-12-03 16:19:08 -08:00
Mitchell Hashimoto 999ce22354 provisioners/docker: output version when installing 2013-12-03 14:39:32 -08:00
Mitchell Hashimoto f7916c0cff provisioners/docker: output for each image pulling 2013-12-03 14:38:38 -08:00
Mitchell Hashimoto ecbd0bfa85 provisioners/docker: style nitpicks 2013-12-03 14:36:14 -08:00
Mitchell Hashimoto 8d6cac959f provisioners/docker: only allow 'args' special 2013-12-03 14:35:56 -08:00
Mitchell Hashimoto 33d3c28086 provisioners/docker: simplify run, output which are running 2013-12-03 14:33:13 -08:00
Mitchell Hashimoto c55f7dfd64 provisioners/docker: allow images to be configured with images: 2013-12-03 14:25:20 -08:00
Mitchell Hashimoto d3b7bffc65 provisioners/docker: style nitpick on unless 2013-12-03 14:19:31 -08:00
Mitchell Hashimoto dda7cbb412 provisioners/docker: make sure version is correct type, fix Ruby warning 2013-12-03 14:18:30 -08:00
Mitchell Hashimoto 5ee3a06740 provisioners/chef: fix validate return so that it is properly formatted 2013-12-03 13:59:59 -08:00
Nicolas Delaby 7cd7077467 salt-bootstrap.sh: options are only allowed before install arguments 2013-11-29 15:52:12 +01:00
Fabio Rehm 3289141fc3 provisioners/docker: Clean up some leftovers from vocker 2013-11-29 10:22:06 -02:00
Fabio Rehm 82fc9330af provisioners/docker: Simplify raising of Docker related errors 2013-11-29 10:22:06 -02:00
Fabio Rehm 0536817e90 provisioners: Import Docker provisioner code from Vocker 2013-11-29 10:22:06 -02:00
Mitchell Hashimoto cfb258a55b provisioners/shell: s/unless/if !/ 2013-11-29 00:02:20 -08:00
Paul Hinze fef60242b0 provisioners/shell: fix validation for args [GH-1949]
The logic change in 57d4775140 introduced
a bug where neither strings nor arrays provided as `args` for shell
provisioners would pass validation.

This fixes that problem along with a few extras:

- split out arg validation into a private method
- update comment describing valid args
- add a few unit tests around config validation
2013-11-28 19:54:10 -06:00
Mitchell Hashimoto 798432febe provisioners/chef: validate environments path [GH-2381] 2013-11-26 18:57:27 -08:00
Mitchell Hashimoto 6f2d6981cb website/docs: better Chef docs [GH-2436] 2013-11-26 11:44:16 -08:00
Mitchell Hashimoto cd106986b4 provisioners/ansible: use the first private key
/cc @gildegoma - Does Ansible support multiple private keys? Vagrant
now does, so this isn't exactly safe.
2013-11-26 10:07:52 -08:00
Mitchell Hashimoto 9dfac9557b provisioners/puppet: fix some bonehead mistakes 2013-11-25 22:46:10 -08:00
Mitchell Hashimoto 25a8491465 provisioners/puppet: manifests path can be in the VM [GH-1805] 2013-11-25 22:39:20 -08: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 d08e3f7ab3 provisioners/puppet: use better flags for one-time run 2013-11-25 15:28:17 -08:00
Mitchell Hashimoto 4a3259443d provisioners/puppet: make the output a bit clearer 2013-11-25 15:18:35 -08:00
Mitchell Hashimoto e72cd9c98e provisioners/puppet: can specify a client key/cert 2013-11-25 15:17:05 -08:00
Mitchell Hashimoto 57c25a26ad provisioners/puppet: update config to new style 2013-11-25 15:07:12 -08:00
Mitchell Hashimoto 57d4775140 provisioners/shell: allow array args [GH-1949] 2013-11-25 13:36:51 -08:00
Mitchell Hashimoto 741930b439 Merge pull request #1949 from mpapis/feature/shell_provisoner_array_args
provisioners/shell: implement array arguments from #1569
2013-11-25 13:31:48 -08:00
Mitchell Hashimoto cc57933675 update changelog 2013-11-24 21:29:04 -08:00
Mitchell Hashimoto 10daa6fddf Merge pull request #2366 from gildegoma/ansible-extra-vars
provisioners/ansible: Improvements for 'extra_vars' argument
2013-11-24 21:21:44 -08:00
Mitchell Hashimoto b65b22cef2 update changelog 2013-11-23 16:05:44 -08:00
Mitchell Hashimoto 2a35ec425c Merge pull request #2505 from jaugustin/shell-keep-color
provisioner/shell: add keep_color option to allow custom color output
2013-11-23 16:03:15 -08:00
Daniel Miller 31894171d3 Make salt bootstrap work on systems without python 2013-11-21 10:42:06 -05:00
jaugustin 722e9e6afb [Provisioner][Shell] add keep_color option to allow custom color output 2013-11-16 13:34:58 +01:00
Mitchell Hashimoto 2be01284ea provisioners/chef: fix exception during node cleanup [GH-2345] 2013-10-14 17:12:49 -10:00
Gilles Cornu 5aff4a1f20 Ansible: Improvements for 'extra_vars' argument
`extra_vars` argument can now:
- contains a hierarchical set of parameters (instead of flat Key-Value Pairs)
- alternatively refers to a configuration file (instead of embedded Hash)

See Ansible Documentation for version requirement details:
http://www.ansibleworks.com/docs/playbooks_variables.html#passing-variables-on-the-command-line
2013-10-12 00:29:39 +02:00
viq fee0f8d8ab Fix seed_master key file name
As per https://github.com/saltstack/salty-vagrant/pull/98 and https://github.com/saltstack/salty-vagrant/issues/97 the expected file name for minion is 'minion', not 'seed-minion.pub'
2013-10-10 13:04:31 +02:00
Mitchell Hashimoto 193f172b7c Merge pull request #2313 from jeffasinger/salt-overstate
provisioner/salt: adding overstate support to the salt provisioner
2013-10-05 11:46:01 -07:00
Matthew Johnson b514f0c321 remove extra alias for vvv verbosity 2013-10-04 15:32:10 -04:00
Matthew Johnson e5a2f1e8b7 fix ansible-playbook runs when verbosity is not specified 2013-10-04 02:58:49 -04:00
Jeff Singer 852812f778 Adding overstate support to the salt provisioner 2013-10-03 15:28:35 -04:00
egghead 4f1a65f74b fixing default verbosity 2013-10-02 02:28:55 +00:00
Mitchell Hashimoto 6fc0f03865 Merge pull request #2275 from jabclab/ansible-buffering
Resolving #2194 (Ansible buffering output if run as subprocess)
2013-10-01 14:26:25 -07: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 d052069eb7 Merge pull request #2273 from czi/fix/master/my_contribution
guests/suse: Update CFEngine provisioners plugin for SuSE install compatibility
2013-10-01 11:43:10 -07:00
Ian Heggie 4f11716633 Remove old /tmp/bootstrap_salt.sh before uploading as it may not be writeable 2013-09-29 21:05:59 +10:00
jabclab c51952a68d Resolving #2194 (Ansible buffering output if run as subprocess) 2013-09-26 10:13:44 +01:00
U-quartz\Cory ecb6ebaf81 add cfengine provisioner suse install support 2013-09-25 20:29:25 -05:00
Mitchell Hashimoto 33dd881ad7 provisioners/chef: disable color if Vagrant has no color [GH-2246] 2013-09-22 14:15:55 -05:00
Mitchell Hashimoto 36bd52713b provisioners/ansible: convert extra vars to strings [GH-2244] 2013-09-20 21:16:50 -07:00
Mitchell Hashimoto 7df64dff0c Merge pull request #2242 from bt5e/move-up-chmod-in-puppet
provisioners/puppet-apply: moved chmod up before verify_shared_folders check #2241
2013-09-20 21:12:10 -07:00
Mitchell Hashimoto 8c4ea4f47b Update CHANGELOG 2013-09-20 17:24:59 -07:00
Ben Tse cd79563837 #2241 moved chmod up before verify_shared_folders check 2013-09-19 14:26:35 -04:00
Alexander Norström b20fe8d41e Dont replace Windows newlines to Unix if shell is set as binary 2013-09-19 13:33:58 +02:00
Mitchell Hashimoto ee9fc00a04 provisioners/ansible: default output level is verbose [GH-2194] 2013-09-16 21:02:22 -07:00
Mitchell Hashimoto 77bd296a07 Merge pull request #2203 from copperlight/ansible-host-key-checking
provisioners/ansible: add ansible.host_key_checking configuration parameter
2013-09-15 16:35:45 -07:00
Jurnell Cockhren 624a9dd2fd need_configure should return true when master_config is defined as well.
This fixes #2204 and fixes saltstack/salty-vagrant#100
2013-09-14 09:49:37 -05:00
Matthew Johnson 131ce4fc97 add ansible.host_key_checking configuration parameter 2013-09-13 22:48:12 -04:00
Marc Schlaich 42e41eecc9 Removed duplicate entry. 2013-09-09 11:17:04 +02:00
Mitchell Hashimoto 9e878b3bfb Merge pull request #2153 from gildegoma/ansible-docs-cleanup-and-vv
provisioners/ansible: Update documentation, Code Cleanup (and Extend Log Verbosity option)
2013-09-07 17:46:28 -07:00
Gilles Cornu ce4f2824f4 Ansible: Support three available verbosity levels 2013-09-07 15:17:43 +02:00
Gilles Cornu 8a925e3461 Ansible: code cleanup and documentation update
Clean Up (code logic is kept unmodified):
* Remove repetition around `ansible.limit` option (merge conflict issue)
* Re-add missing comments from GH-1697 (merge conflict issue)
* Reorder instructions

Documentation for following changes:
* [GH-1697] add more options
* [GH-1979] extra verbosity option
2013-09-07 14:49:12 +02:00
Mitchell Hashimoto 0879c1d624 provisioners/chef: fix syntax error 2013-09-05 23:59:11 -07:00
Mitchell Hashimoto a06742b8ef provisioners/chef: env config less restrictive 2013-09-05 16:34:21 -07:00
Mitchell Hashimoto e05cca7ed4 provisioners/puppet: sudo test for folders for umask 2013-09-05 16:24:30 -07:00
Mitchell Hashimoto 592a800f84 provisioners/chef: work with restrictive umask [GH-2121] 2013-09-05 16:12:56 -07:00
Mitchell Hashimoto 0b94ed44b7 core: dup the synced folder options [GH-2134] 2013-09-05 14:25:38 -07:00
Mitchell Hashimoto d4e6372fa7 provisioners/chef: chown/create folder before access [GH-2121] 2013-09-04 20:43:22 -07:00
Mitchell Hashimoto f82711259c provisioners/all: report proper invalid keys [GH-2117] 2013-09-04 16:57:15 -07:00
Mitchell Hashimoto 51bdae3b90 Merge pull request #2112 from markpeek/markpeek-file
Add a file provisioner
2013-09-03 14:09:10 -07:00
Mark Peek c158b4aff4 Add a file provisioner
Add a provisioner which will upload host files and directories to the
guest via the scp channel. This is useful for populating user specific
files into the guest. This is a rename from scpupload to file and updated
against master. [GH-1357]
2013-09-03 11:03:46 -07:00
Mitchell Hashimoto 3154669835 provisioners/shell: prefer "." over "::"
/cc @fgrehm
2013-09-03 10:44:16 -07:00
Mitchell Hashimoto c752c37586 Merge branch 'shell-provisioner-remote-script' of https://github.com/fgrehm/vagrant into fgrehm-shell-provisioner-remote-script
Conflicts:
	CHANGELOG.md
2013-09-03 10:40:24 -07:00
Mitchell Hashimoto 89ecb7850f Merge branch 'more_ansible_options' of https://github.com/gildegoma/vagrant into gildegoma-more_ansible_options
Conflicts:
	plugins/provisioners/ansible/provisioner.rb
2013-09-02 15:30:49 -07:00
Mitchell Hashimoto d7b398a905 Merge branch 'fix/master/puppet-provisioner-nfs-support' of https://github.com/mfournier/vagrant into mfournier-fix/master/puppet-provisioner-nfs-support
Conflicts:
	CHANGELOG.md
	plugins/provisioners/puppet/provisioner/puppet.rb
2013-09-01 13:32:49 -07:00
Mitchell Hashimoto 9e38601f18 provisioners/puppet: run from correct working directory [GH-1967] 2013-08-31 22:24:30 -07:00
Mitchell Hashimoto 949416c76c provisioners/ansible: use proper config name [GH-2104] 2013-08-31 21:48:41 -07:00
Mitchell Hashimoto e5db091b1c provisioners/salt: default bootstrap script gets latest 2013-08-29 17:40:59 -07:00
Mitchell Hashimoto 874994ff73 provisioners/salt: remove unused code 2013-08-29 17:26:52 -07:00
Mitchell Hashimoto d154aafc0d provisioners/salt: remove vagrant check, we core now 2013-08-29 17:08:49 -07:00
Mitchell Hashimoto 93d5182230 Merge pull request #1626 from raadad/salty-vagrant-provisioner
Salt provisioner.
2013-08-29 17:06:16 -07:00
Fabio Rehm 47594036b4 Add support for remote shell provisioner script 2013-08-29 20:44:14 -03:00
Mitchell Hashimoto 9e476330f4 provisioners/ansible: execute ansible with cwd of root_path [GH-2051] 2013-08-29 11:55:58 -07:00
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