Commit Graph

794 Commits

Author SHA1 Message Date
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
schauer 8a45485de4 Update puppet.rb
The main manifest may be a single file or a directory of .pp files. 
docs.puppetlabs.com/puppet/latest/reference/dirs_manifest.html#with-puppet-master
https://github.com/mitchellh/vagrant/issues/4039
2014-07-09 21:37:55 +02: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
Matthijs van der Vleuten 1091b4cb54 Don't output stdout and stderr twice when shell provisioner fails
[GH-4086]
2014-06-23 11:35:40 +02:00
Brett Porter 0c7c143ad1 fix escaping of powershell variable
As this is nested in a powershell variable $command, it must be escaped
otherwise it is evaluated when the variable is created, giving an error that
"The term 'True' is not recognized as the name of a cmdlet, function,
script". This prevented using a puppet.working_directory on Windows.
2014-06-18 16:05:17 +10:00
Ben Hines 7d52f0e14d Backtick-escape the facter env command in powershell. Fixes issue 3958 2014-06-02 19:37:29 -07:00
Marno van der Molen 127ef683e7 make sure C:\tmp\ exists before downloading salt installer 2014-05-28 15:24:47 +02:00
Marno van der Molen d93a2c0e55 Made Salt Minion version to install a variable - ideally Salt would offer a -latest.exe or something for Windows 2014-05-28 11:09:59 +02:00
Emiliano Ticci 6bd7359c1b provisioners/puppet: run in elevated mode on Win guests 2014-05-26 11:23:14 +02:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Marno van der Molen 500c40fd42 Now wait for service to be registered before trying to start it 2014-05-19 19:00:18 +02:00
Marno van der Molen 6c97874839 Wait for to be populated & explicitly check for Running status of service 2014-05-19 17:50:22 +02:00
Marno van der Molen fc3a2106fd Only try to copy keys & config if they have been uploaded 2014-05-19 15:52:20 +02:00
Marno van der Molen 1ddef49185 minor indentation fix 2014-05-19 14:10:58 +02:00
Marno van der Molen 6d0dd22864 Also copy minion config in bootstrap-salt.ps1 & update Salt docs to mention syndic/master not supported on Windows 2014-05-19 14:01:31 +02:00
Marno van der Molen 7cb50f8a12 Remove Salt Master & Salt Syndic changes - not supported on Windows by Salt 2014-05-19 14:00:46 +02:00
Marno van der Molen fbd919d52c Retries starting the salt-minion service several times and adds elevated: true to salt calls 2014-05-19 13:14:25 +02:00
Marno van der Molen 01f2c52251 sometimes salt-minion wouldn't start - this seems stable so far across 10 deploys 2014-05-17 03:38:57 +02:00
Marno van der Molen 2ddffa4fc6 redirect output of mkdir statement to out-null in bootstrap-salt.ps1 2014-05-17 03:31:24 +02:00
Marno van der Molen 02f40b35fa Adds minimal implementation to deploy a Salt minion on Windows including support for pre-seeding the keys 2014-05-17 02:19:34 +02:00
Paul Cooper @ Agile Barbecue 573683ef00 fix windows guest with puppet and a facter block
Powershell doesn't understand the unix-style ENV=thing command syntax, the old vagrant-windows plugin monkey patched the provisioner to put semicolons between statements to set the variables before running puppet - this fixes the issue inside a windows? block leaving the normal non-windows code path working - therefore works for me on both unix and windows provisions with a facter block in place
2014-05-13 17:31:31 +01:00
Mitchell Hashimoto 39eaaf3664 provisioners/puppet: windows module sep [GH-3731] 2014-05-09 09:22:36 -07:00
Fabio Rehm 1eec62cb9e provisioners/shell: Fix shell provisioning when config.binary is set to false [GH-3712]
The `config` in use was the Shell provisioner config that does not expose
access to the VM configs.

References https://github.com/fgrehm/vagrant-lxc/issues/284
2014-05-08 18:55:07 -03:00
Gilles Cornu 52a44de10c provisioners/ansible: show ansible-playbook in use
Motivation:
By printing out the ansible command used behind the scene, we can ease
the support effort to very quickly identify whether a problem is due to
Vagrant provisioner or Ansible itself.
2014-05-04 22:54:12 +02:00
deyk 567af495d4 Add colorization and log_level support to salt provisioner.
This commit adds two new options to the salt provisioner:

- `colorize`: controls color output. Defaults to no-color (present behavior).
- `log_level`: controls log level. Defaults to `debug` (present behavior).

Docs included!
2014-05-01 11:10:09 -07:00
Shawn Neal cc905d7923 Fix remote/downloaded shell scripts
The temporary shell script that we downloaded the script too was being deleted twice, thus causing an error on the secondary delete.
2014-04-30 19:39:37 -07:00
Shawn Neal 392269a8eb Default the WinRM shell provisioner to privileged (elevated) 2014-04-30 19:35:02 -07: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
Mitchell Hashimoto f80fdfa32a privisoners/salt: proper bootstrap URL [GH-3583] 2014-04-30 15:32:20 -07:00
Timothy Messier 513a9bf1ab Set u+w perms on private keys in tmp dir.
This should allow additional `vagrant provision` calls to work when
using the salt provisioner and providing private keys. See #3542.
2014-04-29 11:13:12 -04:00
Mitchell Hashimoto 91c7fb7749 Merge pull request #3554 from mitchellh/chef-provisioner-cleanup
provisioner/chef: Chef provisioner cleanup with Windows
2014-04-27 15:51:30 -07:00
Timothy Messier adeaf29487 Fixed missing end to if 2014-04-27 12:36:01 -04:00
Timothy Messier b93c6df956 The various `install` args should always be passed to salt-bootstrap.
Even when preforming config only, the install flags (i.e. -M, -S, -N),
are used by the bootstrap to determine which configs to copy.

This should help with #3542 and should supersede #3548.
2014-04-27 12:34:24 -04:00
Shawn Neal cf71634813 DRY'd up Chef command building
There's very little difference between the command building on Linux and Windows other than path formatting. All Chef provisioners support the --no-color argument now.

Added unit tests to verify changes.
2014-04-26 21:07:26 -07:00
Shawn Neal ebca0e7e44 Fixed bug in CommandBuilderWindows
CommandBuilderWindows would not include the Chef binary in the command when the binary_path was specified in the config.

Backfilled unit tests for CommandBuilderWindows
2014-04-26 21:07:26 -07:00
Shawn Neal 68ce06561a Removed old unused WinRM chef provisioner scripts 2014-04-26 21:07:26 -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
jjshoe 7ef8477e43 provisioners/ansible: Don't run with two --limits
Conflicts:
	test/unit/plugins/provisioners/ansible/provisioner_test.rb
2014-04-26 11:55:59 +02:00
Timothy Messier c4ae0badc3 Force overwrite of salt configs and keys.
This will tell the salt-bootstrap script to overwrite the master/minion
configs and/or keys each time provision is called. #3524 #3176
2014-04-24 11:56:54 -04:00
Mitchell Hashimoto 1c7faae1ee provisioners/*: prefix the output 2014-04-21 13:56:19 -07:00
Emilien Kenler b77bd3e6bb Unit test + vault password file existence check 2014-04-21 13:56:16 -07:00
Emilien Kenler dd06dffe85 Ansible Vault support
Add the following options to the Ansible provisioner:
- ask_vault_pass
- vault_password_file
2014-04-21 13:56:15 -07:00
Mitchell Hashimoto bed34a730b provisioners/docker: fix module name for new docker provider 2014-04-21 13:54:35 -07:00
Mitchell Hashimoto 2929f7a853 provisoiners/chef: windows command builder 2014-04-21 13:54:08 -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
Mitchell Hashimoto 427d49402d provisioners/cfengine: fix typo 2014-04-21 13:54:04 -07:00
Mitchell Hashimoto 72030d2180 Note provisioners that don't work on Windows guests 2014-04-21 13:54:02 -07:00
Mitchell Hashimoto bd51c16700 provisioners/puppet: execute properly with WinRM 2014-04-21 13:54:00 -07:00
Mitchell Hashimoto 1a0cb9b4c1 privisioners/puppet: wait for reboot on Windows 2014-04-21 13:53:59 -07:00
Mitchell Hashimoto bec2cbbf4d provisioners/shell: check for winrm should be on machine config 2014-04-21 13:53:56 -07:00
Mitchell Hashimoto 4145aa6bcd privisioners/shell: wait for reboot if we can 2014-04-21 13:53:54 -07:00
Mitchell Hashimoto 4fc6fbeef6 privisioners/shell: fix syntax error 2014-04-21 13:53:53 -07:00
Mitchell Hashimoto 286fd2f2f8 provisioners/shell: friendly output if winrm shell provisioning 2014-04-21 13:53:52 -07:00
Mitchell Hashimoto bddc7928ad provisioner/shell: proper extension on temporary file 2014-04-21 13:53:50 -07:00
Mitchell Hashimoto 89671974cf provisioners/shell: handle comm output in a uniform way 2014-04-21 13:53:49 -07:00
Mitchell Hashimoto cde5d0bafb privisioners/shell: execute windows script 2014-04-21 13:53:48 -07:00
Mitchell Hashimoto aca8c4f8f3 provisioners/shelL: don't replace windows lineendings for WinRM 2014-04-21 13:53:47 -07:00
Mitchell Hashimoto 15fe061004 provisioners/shell: cause provision_winrm if winrm 2014-04-21 13:53:46 -07:00
Fabio Rehm efc1122c42 provisioners/docker: Change to VagrantPlugins::DockerProvisioner namespace 2014-04-21 13:51:30 -07:00
Kenny Rasschaert fc95e77237 provisioners/salt: error if minion_config missing 2014-04-19 23:24:30 +02:00
Mitchell Hashimoto d0b0d5635c provisioners/docker: debian install should apt-get update 2014-04-15 13:04:07 -07:00
Mitchell Hashimoto 544f404037 provisioners/docker: configure autostart works if OS can't check status 2014-04-15 12:18:37 -07:00
Mitchell Hashimoto ac8d54132b provisioners/docker: UPDATE CHANGELOG 2014-04-15 12:15:14 -07:00
Henry Hsu 91555d0a86 Fixes not enough time for docker restart before continuing on to next
provisioning step
2014-04-15 11:32:05 -07:00
Mitchell Hashimoto 8a9bbdb71a provisioners/docker: fix linux cap for daemon running 2014-04-14 17:00:12 -07:00
Gilles Cornu 7ed17ae9ed provisioners/ansible: use strict boolean options
With this change, the ansible provisioner fully complies with
the current user documentation.
2014-04-12 13:48:15 +02:00
Mitchell Hashimoto 1144217e2d Merge pull request #3436 from gildegoma/ansible-inventory-path
provisioners/ansible: refer to directory that contains the generated inventory file
2014-04-11 21:16:14 -07:00
Mitchell Hashimoto 374d1c495a provisioners/docker: auto-assigned name shouldn't have / [GH-3216] 2014-04-11 18:50:02 -07:00
Gilles Cornu 0098b7604d provisioners/ansible: refer to inventory directory
By referring the directory that contains the generated inventory file,
users can easily provide more settings with additional files stored in
the same directory.
2014-04-11 08:20:32 +02:00
Mitchell Hashimoto f47213f9b2 guests/coreos: docker_daemon_running cap [GH-3425] 2014-04-10 13:42:12 -07:00
Mitchell Hashimoto e5d1d681d9 Update CHANGELOG 2014-04-09 14:17:51 -07:00
Bernhard Morgenstern 247a2470c0 Fixed error with empty shell provisioner
`read` returns nil on empty files, so the call to `valid_encoding` fails.
2014-04-09 22:56:15 +02:00
Martin Englund 53194f8e12 fix deprecated docker arguments 2014-03-29 22:49:52 -07:00
Mitchell Hashimoto b0f8d050f0 provisioners/salt: style nitpicks 2014-03-12 20:04:57 -07:00
Mitchell Hashimoto 24d8067c7b Merge pull request #3126 from bbinet/fix-salt-provisioning
provisioners/salt: allow master key with no minion key
2014-03-11 09:05:50 -07:00
Mitchell Hashimoto 5a3a501455 provisioners/ansible: request SSH info within provisoin [GH-3111] 2014-03-11 09:03:23 -07:00
Bruno Binet 9625957203 Fix salt provisioning validation
(mismatch between minion/master)
2014-03-11 15:18:24 +01:00
Gilles Cornu 1d09fc4a79 provisioners/ansible: add new option raw_ssh_args
Since the Ansible provisioner now potentially exports ANSIBLE_SSH_ARGS
variable, it is fair to allow to extend the content of this environment
variable (`ssh_args` parameters from ansible.cfg file have lower
priority)
2014-03-09 22:47:24 +01:00
Gilles Cornu 1c0bc20d21 Ansible: Re-enable ControlPersist defaults when ANSIBLE_SSH_ARGS is used
Solve problem discussed in [GH-2952]
2014-03-09 22:41:36 +01:00
Mitchell Hashimoto fa537740c6 provisioners/shell: use detail level output for running 2014-03-08 14:43:35 -08:00
Mitchell Hashimoto 4c9e6e46b2 provisioners/salt: don't use exteranl deep_merge [GH-2348] 2014-03-07 09:18:34 -08:00
Gilles Cornu 1d328f7021 provisioners/ansible: Disable host key checking
Close #3060
2014-03-06 23:55:08 +01:00
Mitchell Hashimoto ada5e8bf7f provisioners/docker: actual auto assign name logic 2014-03-04 07:32:25 -08:00
Mitchell Hashimoto 857b989c47 provisioners/docker: setting to not auto assign name 2014-03-04 07:31:13 -08:00
Matthias Kadenbach 8f76d5e2cd added as ``args << `` 2014-03-03 16:30:42 +01:00
Matthias Kadenbach f6db54b2dc Set param -name automatically (docker run)
``-name`` ist needed for linking containers, i.e. see http://docs.docker.io/en/latest/use/working_with_links_names/#working-with-links-names
2014-03-03 14:20:33 +01:00
Gilles Cornu cf8bfb2347 Ansible: Refactor handling of SSH vars/attributes
Avoid repetitions by using (sometimes lazy loaded) instance attributes
2014-02-28 09:07:52 +01:00
Gilles Cornu db490c5da5 Ansible: force 'ssh' connection only when needed
Remain in 'smart' mode, unless Multiple SSH identities or SSH-Forwarding
are in use.
2014-02-28 09:07:51 +01:00
Bryan Hunt 9480edf05a Ansible: Support SSH-Forwarding
Credits: Problem was originally reported in
dba02f3526
by @picsolvebryan
2014-02-28 09:07:51 +01:00
Gilles Cornu ca1e30d405 Ansible: Support multiple private keys
Note that this feature requires to force `--connection=ssh`. This is not
a big deal as `paramiko` mode is deprecated and in most cases `smart`
mode enables `ssh` mode.
2014-02-28 09:07:51 +01:00
Gilles Cornu a62d28fd7f provisioners/ansible: remove an unused variable
Sorry, I missed that point in GH-2991 review.

[ci skip]
2014-02-28 09:00:05 +01:00
Mitchell Hashimoto a1b29ca82b Merge pull request #2991 from gildegoma/review-pr2926
provisioner/ansible: Ansible single inventory file
2014-02-27 11:30:12 -08:00
Mitchell Hashimoto 12c740898c provisioners/puppet: append module path (default) [GH-2677] 2014-02-24 08:09:24 -08:00
Mitchell Hashimoto 32c45aa70b Revert "Merge pull request #2677 from purpleidea/fix_puppet_apply"
This reverts commit 9ac4ec85dd, reversing
changes made to 8dbad22d72.
2014-02-24 08:07:57 -08:00
Mitchell Hashimoto 6c5179602c provisioners/salt: error if minion_config missing [GH-2893] 2014-02-24 07:58:12 -08:00
Gilles Cornu 1cd2fe56a0 ansible: generate inventory in .vagrant/... 2014-02-24 16:52:38 +01:00
Mitchell Hashimoto a667893cbf provisioners/shell: error if invalid encoding [GH-3000] 2014-02-23 21:50:53 -08:00
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