Commit Graph

439 Commits

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