Commit Graph

536 Commits

Author SHA1 Message Date
Ben Hines b40426aca5 Properly parse out and use the environment's manifest file which is specified in environment.con. 2015-04-12 02:16:54 -07:00
Ben Hines c8f300e5f5 Correct environment path option to puppet apply. 2015-04-12 01:43:19 -07:00
Ben Hines c701bab253 Properly handle various combinations of Puppet options being specified. 2015-04-12 01:26:41 -07:00
Ben Hines cff7c52716 Use localized error message. Update strings for puppet provisioner errors. 2015-04-12 01:25:40 -07:00
Ben Hines 7a4e7929f8 Don't parse env metadata until provisioning time. TBD: make it functional 2015-04-12 01:18:49 -07:00
Ben Hines 3ee47acb42 Remove debug output 2015-04-12 01:18:12 -07:00
Ben Hines e2c68fc12d Correct environment path config name. 2015-04-11 23:48:18 -07:00
Ben Hines 3a2a9a3b94 Add a binary_path option to the puppet provisioner to match the chef provisioner, and support new puppet 4 install location. 2015-04-11 23:35:25 -07:00
Ben Hines cf847e0410 Merge branch 'master' into environments_wip
Conflicts:
	Vagrantfile
	vagrant.gemspec
2015-04-11 13:33:32 -07:00
Ben Hines e8843b8648 Merge branch 'master' of https://github.com/mitchellh/vagrant 2015-04-11 13:03:18 -07:00
Brandon Matthews c0f43c362c Use service command to restart docker, not upstart.
upstart ships by default on Ubuntu, but not on Debian, and service works
everywhere. Fixes #5245.
2015-04-10 10:06:21 -07:00
Mario Rodas e745436df3 provisioners/ansible: disable color if Vagrant has no color [GH-5531] 2015-03-28 19:05:54 -05:00
Jamezz 71c40bdf6a File architecture string should be x86
As of 2014.7.0, Salt has changed their file naming for 32-bit from win32
to x86.
2015-03-06 13:14:11 -08:00
Jamezz 2f4a0af5d1 Fix issue #4152: Salt minion bootstrapping
Copy the config after we know the installer exits. Also rev the
installed version to 2014.7.1 (latest stable as of 3/4/2015)
2015-03-04 18:08:07 -08:00
Tim O'Guin 0289ab986c Salt Provisioner: Added a 'custom' option to install_type to allow more flexibility in passing arguments to the bootstrap script. Updated the docs. 2015-03-04 15:05:24 -07:00
Mitchell Hashimoto 713be4c5b9 provisioners/chef: actually use command -v 2015-02-24 10:12:25 -08:00
Mitchell Hashimoto c1e2d36090 provisioners/chef: use command -v to check for binary [GH-5167] 2015-02-24 10:11:05 -08:00
Mitchell Hashimoto 734b0d6695 Merge pull request #5315 from jimmidyson/non-existent-docker-group
provisioners/docker: only add user to docker group if docker group exists
2015-02-24 09:45:03 -08:00
Michael Lopez 8adc10f295 Update chef_zero provisioner to use real chef-zero/local-mode to support cookbook version constraint 2015-02-14 22:32:16 +01:00
Michael Lopez 74ffcb27d6 Add 'enable_reporting' attribute for chef provisioner 2015-02-14 22:28:32 +01:00
Jimmi Dyson be2643d40d Only add user to docker group if docker group exists (doesn't in recent Fedora docker-io installs) 2015-02-10 18:11:39 +00:00
Clay Allsopp 69b7200c35 Switch to docker.com
docker.io seems to be deprecated & handled differently from docker.com; see https://twitter.com/clint_newsom/status/557290529810313217
2015-01-19 13:58:45 -08:00
Clinton Wolfe 17a0d08040 Add chef_install(ed?) guest capability for omnios 2015-01-13 17:45:01 -05:00
Gilles Cornu cdd5d54208 provisioners/ansible: fix a typo in a comment
[ci skip]
2015-01-13 18:52:47 +01:00
Gilles Cornu 28e0646dc2 Fix typo error in CHANGELOG
Close #4860

[ci skip]
2015-01-12 10:59:07 +01:00
Gilles Cornu 2ecad8bb93 provisioners/ansible: increase connection timeout
This change helps to avoid troubles like reported in #5018 and #4860.

Note that for sake of configuration simplicity, no new `ansible.timeout`
option has been added. The users who want to set a different value can
rely on `ansible.raw_arguments`.
2015-01-12 10:54:01 +01:00
Gilles Cornu c3cae3d235 provisioners/ansible: add `IdentitiesOnly=yes`
This SSH option is always set, except when Vagrant is running from an
operating system fo the Solaris-family, as this parameter is not
supported by SunSSH. Logic taken from
bed1f8335f/lib/vagrant/util/ssh.rb (L116-L121)

Fix #5017
2015-01-12 08:58:29 +01:00
Mitchell Hashimoto 95e1c19f22 provisioners/puppet: fix exception with module paths [GH-5123] 2015-01-06 22:50:24 -08:00
Mitchell Hashimoto 661657c63f provisioners/chef: fix failing test 2015-01-06 10:57:25 -08:00
Mitchell Hashimoto 5b4b387f04 provisioners/chef: fix failing tests 2015-01-06 10:56:28 -08:00
Mitchell Hashimoto de6b55d007 provisioners/puppet: use predictable synced folders 2015-01-06 10:48:31 -08:00
Mitchell Hashimoto 155516fb6c provisioners/chef: use synced folder cache instead of counter 2015-01-06 10:31:13 -08:00
Seth Vargo d2874064f4 Use .key? instead of .has_key? 2015-01-05 18:29:01 -05:00
Andrew Mains 9aa20d5d6b Added ability to run salt orchestrations to salt provisioner 2014-12-31 10:31:35 -08:00
Seth Vargo 97d5a6ebfc Log chef-zero instead of chef-solo 2014-12-28 12:52:54 -05:00
evverx 1cfc5acea3 Update Chef plugin description 2014-12-24 03:53:29 +03:00
Torben Knerr f2b494c2cc don't forget to pass the `installer_download_path` from the config! 2014-12-17 00:48:34 +01:00
Torben Knerr acc4e3806f pass the `download_path` parameter to the `:chef_install` capability so it is available when `Omnibus.build_command(..)` is invoked 2014-12-16 23:40:22 +01:00
Torben Knerr d7bd65b4e2 extend the omnibus command builder with an additional download_path parameter 2014-12-16 23:29:47 +01:00
Torben Knerr 9e7f705bad extend the Chef provisioner base config object with an 'installer_download_path' property 2014-12-16 22:40:19 +01:00
Seth Vargo 954289beb6 Use new Chef Omnibus URL 2014-12-16 12:16:08 -05:00
Seth Vargo 8c8a92c4be Merge pull request #4896 from analyzere/salt-grains-config
Issue #4895: Support grains config for salt
2014-12-14 23:48:02 -05:00
Gilles Cornu 118e223c33 provisioners/ansible: use Docker proxy when needed
Close #4071

Credits and best thanks to @jabclab
2014-12-08 21:43:21 +01:00
Gilles Cornu 15679f76f8 Merge pull request #4883 from mitchellh/gc-vagrant-1.7-ansible-provisioner
Non-trivial changes and bug fixes for the Ansible provisioner
2014-12-08 21:29:24 +01:00
Gilles Cornu 3800103228 provisioners/ansible: improve comment wording
Get rid of the Joker, thanks to @maspwr :)
2014-12-07 22:34:19 +01:00
Jeff Quast c6cce57ff4 Avoid double-newlines in salt-call output
When using the salt provisioner with verbose=true, most lines read with an extra newline:
```
[INFO    ] Syncing modules for environment 'base'

[INFO    ] Loading cache from salt://_modules, for base)

```

because the line read has a newline, and emitting the log entry again includes an additional newline.
2014-12-03 21:48:30 -08:00
Ken Crowell 72afdce630 Issue #4895: Support grains config for salt 2014-12-02 18:01:09 -04:00
Gilles Cornu f96636587a provisioners/ansible: don't read/write known_hosts
Like Vagrant's default SSH behaviors (e.g ssh or ssh-config commands),
the Ansible provisioner should by default not modify or read the user
known host file (e.g. ~/.ssh/known_hosts).

Given that `UserKnownHostsFile=/dev/null` SSH option is usually combined
with `StrictHostKeyChecking=no`, it seems quite reasonable to bind the
activation/disactivation of both options to `host_key_checking`
provisioner attribute.

For the records, a discussion held in Ansible-Development mailing list
clearly confirmed that there is no short-term plan to adapt Ansible to
offer an extra option or change the behavior of
ANSIBLE_HOST_KEY_CHECKING. For this reason, the current implementation
seems reasonable and should be stable on the long run.

Close #3900

Related References:

- https://groups.google.com/forum/#!msg/ansible-devel/iuoZs1oImNs/6xrj5oa1CmoJ
- https://github.com/ansible/ansible/issues/9442
2014-11-30 09:55:48 +01:00
Gilles Cornu 178942cf27 provisioners/ansible: change arguments arrangement
- force `--connection=ssh` (any other modes like paramiko or smart are not
  supported)
- give the highest priority to `raw_arguments` for sake of simplicity (in
  usage, in code and in documentation)
- fix position of the `--limit` argument (the generated inventory could be
  shadowed by `raw_arguments`, while ansible.limit was able to override
  `raw_arguments`

ref #3396
2014-11-30 09:50:50 +01:00
Gilles Cornu 306c4f7eda provisioners/ansible: force --connection=ssh
When `--connection` argument is not specified, Ansible will use the
'smart' mode, which can either use `ssh` or `paramiko` transports,
depending of the version of OpenSSH available. If OpenSSH version is new
enough to support ControlPersist technology, `ssh` will be used.
See also http://docs.ansible.com/intro_configuration.html#transport.

In order to support some advanced features of Vagrant (e.g. multiple ssh
private key identities or ssh forwarding), the Ansible provisioner
already must force `ssh` connection mode.

Having to deal with the possible fallback to `paramiko` increase the
burden of special cases that Ansible provisioner must handle, without
any added value, as Vagrant is based on OpenSSH and its users are
usually using modern operating systems.

With this change, the Ansible provisioner will officially only support
`ssh`. It will still be possible to switch to another connection mode
via `raw_arguments`, but it will breach the "contract", and no
(community) support can be expected in such use case.

ref #3900, #3396
2014-11-30 09:50:50 +01:00
Gilles Cornu 1c884fa4e5 provisioners/ansible: Show Ansible command when VAGRANT_LOG=debug 2014-11-25 08:12:43 +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 a8fa4bccc7 Add Chef::Config#install and Chef::Config#version options 2014-11-07 15:56:21 -05:00
Seth Vargo 8f35ecaa6f Extract runner-specific Chef configs into their own subclass
This separates the truly basic pieces of Chef (like install url and
log_level) from the runner pieces of Chef (like provisioning_path). This
is necessary because the Chef Apply provisioner does not actually need
most of the Chef configuration options.
2014-11-07 15:56:21 -05:00
Seth Vargo 59eb0ad2e8 Add Chef Apply provisioner 2014-10-30 15:32:15 -04:00
Seth Vargo 514101816b Fix alignment in the Chef Client config 2014-10-30 15:32:10 -04:00
Seth Vargo af9177550a Properly handle empty/nil values in Chef Solo config 2014-10-30 13:43:26 -04:00
Seth Vargo 7e71d72db8 Check for empty chef_server_url and validation_key_path 2014-10-30 13:43:25 -04:00
Seth Vargo 721edf70b9 Make Chef Zero lowercase in validation (conforms to other keys) 2014-10-30 13:43:25 -04: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
Teemu Matilainen dec5dcdda3 provisioners/chef: Add `chef_zero` provisioner
Add Chef Zero provisioner using `local_mode` configuration for
chef-solo/chef-client.
2014-10-30 13:43:24 -04:00
Mitchell Hashimoto da91741b7c provisioners/shell: fix typo 2014-10-23 22:49:26 -07:00
Mitchell Hashimoto a7d3458abc provisioners/shell: retry getting SSH info a few times [GH-3924] 2014-10-23 22:48:48 -07:00
Gilles Cornu 1e324093a5 provisioners/ansible: spare machine.ssh_info calls
As a result of #4670 and the safe decision to not memoize
machine.ssh_info (see 89a4a29d65 and
5036d16461), it is preferable to store the
ssh_info hashes and avoid multiple function calls when generating the
ansible inventory.
2014-10-23 22:58:01 +02:00
Mitchell Hashimoto 37a04b4bfc provisioners/puppet: use correct error class [GH-4520] 2014-10-23 10:46:11 -07:00
Mitchell Hashimoto 4b4255c6d1 Merge pull request #4492 from tboerger/feature/suse-fixes
SUSE naming and capability fixes
2014-10-23 10:11:28 -07:00
Mitchell Hashimoto 3f01a99148 provisioners/shell: rename shell_args to powershell-args 2014-10-23 09:53:14 -07:00
Mitchell Hashimoto f0a4e26d27 Merge pull request #4548 from ebelew/shellargs
Update powershell provisioning to fix #4547
2014-10-23 09:50:50 -07:00
Mitchell Hashimoto abb9e5478a provisioners/docker: get GPG key via SSL [GH-4597] 2014-10-23 09:34:24 -07:00
Mitchell Hashimoto 29df3c733b Merge pull request #4596 from miguel250/patch-1
Use HTTPS to download docker's gpg key.
2014-10-23 09:32:54 -07:00
Mitchell Hashimoto d28a7806ea Merge pull request #4472 from abele/fix/master/salt-retcode-passthrough
Fix state.highstate run when using salt master
2014-10-22 22:03:46 -07:00
Mitchell Hashimoto 18c76f0a86 provisioners/docker: search for Docker in multiple paths [GH-4580] 2014-10-21 16:19:02 -07:00
Miguel Perez 307c670154 Use SSL to download docker gpg key.
Fixed #4569
2014-10-21 17:29:49 -04:00
Ben Hines 3321a6da11 Make environment path param more canonical with an underscore 2014-10-19 21:34:54 -07:00
Ben Hines 16870d72d1 Some work in progress environment support 2014-10-19 21:28:38 -07:00
Anton D fdbf3366ce Check whether Salt bootstrap script exists before attempting to delete it. GH-4614 2014-10-10 23:20:50 +13:00
Eris Belew 7a73f5bd7c Update shell provisioner for powershell to add "shell_args", saner defaults and more useful detail in logging output; Add Eclipse .project file to .gitignore IDE section 2014-09-23 12:46:25 -07:00
Ben Hines 1a6805d469 Use the more canonical require_relative to include files 2014-09-15 21:49:37 -07:00
Thomas Boerger 31b6d69127 Fixed suse naming for fcengine cap and refined install command 2014-09-11 10:51:34 +02:00
Jānis Ābele fe16352267 Fix state.highstate run when using salt master
retcode-passthrough option is available only for masterless salt-call.
2014-09-07 20:03:17 +03:00
James Shubin 4763506b89 Remove erroneous yum upgrade.
This upgrade shouldn't be part of the docker setup process. If an
upgrade is needed, it should be done independently of the docker setup.
Do it to your base image, or if needed, as a shell provisioner step.
2014-09-02 12:44:46 -04:00
Mitchell Hashimoto ee70bdd028 provisioners/docker: fix ruby typo 2014-08-30 22:46:57 -07:00
Mitchell Hashimoto 6074a63683 guests/redhat: install Docker on EL7 properly [GH-4402] 2014-08-30 22:44:48 -07:00
Mitchell Hashimoto aae3d93afe Merge pull request #4377 from sumkincpp/patch-1
provisioner/docker: Verbose output for docker provisioner
2014-08-29 10:29:17 -07:00
Mitchell Hashimoto c29f7dd981 Merge pull request #4335 from nmische/GH-4315
provisioners/cfengine: Changing default repo URL.
2014-08-29 09:53:24 -07:00
Mitchell Hashimoto b842a3ed62 Merge pull request #4379 from s7726/master
Update Windows Salt provisioner version
2014-08-29 09:51:24 -07:00
Veres Lajos 4ef996dca9 typofixes - https://github.com/vlajos/misspell_fixer 2014-08-25 20:12:25 +01:00
Gavin Swanson 59826264b8 Update Windows Salt provisioner version 2014-08-23 15:36:52 -07:00
Fedor Sumkin f2c7dc05a1 Verbose output for docker provisioner
Verbose output for docker build and pull tasks
2014-08-22 19:41:01 +04:00
Nathan Mische 70d060cc85 Changing default repo URL. 2014-08-11 21:13:12 -04:00
Mitchell Hashimoto b516881d47 provisioners/puppet: don't repeat output when prov fails [GH-4303] 2014-08-06 11:11:12 -07:00
Mitchell Hashimoto 1cc78dc224 provisioners/salt: use exit code to detect failure [GH-4304] 2014-08-06 11:07:09 -07:00
Mitchell Hashimoto 3bc5ecfbd0 provisioners/salt: whitespace 2014-08-06 11:05:03 -07:00
Mitchell Hashimoto e82d425719 Merge pull request #4087 from zr40/fix/master/prevent-double-output
Don't output stdout and stderr twice when shell provisioner fails
2014-08-06 10:32:13 -07:00
Mitchell Hashimoto 7fb153a2ef Merge pull request #3932 from marnovdm/feature/salt-modular-version
provisioners/salt: Updates Salt Minion version in Salt Bootstrap script for Windows
2014-08-06 10:25:58 -07:00
Mitchell Hashimoto 2cdcc29902 provisioners/chef: put global lock around knife exec 2014-08-06 10:24:05 -07:00
Mitchell Hashimoto 22395e5cb4 Merge pull request #4099 from mitchellh/fix-issue-2476-chef-client-node-cleanup
provisioners/chef: clean bundle env when executing chef client
2014-08-06 10:13:37 -07:00
Mitchell Hashimoto e1ea304884 Merge pull request #4169 from schauer/patch-1
provisioners/puppet: manifest file can be a dir too
2014-08-06 09:56:24 -07:00
Ben Dean dbb92ae412 change the shell provision config to make all the args strings
specifically arrays could contain `Fixnum` args and those wouldn't get turned into strings.
2014-07-22 15:41:01 -04:00