Sam Phippen
53714abfa3
Handle encoding errors in shell provisioner newline normalization.
...
The problem demonstrated in #6065 is that a string has incorrectly been
encoded with US-ASCII even though it contains invalid US-ASCII byte
sequences (any byte with the most significant bit on is invalid in the
US-ASCII encoding).
The thing about doing newline normalization is that it is not actually
sensitive to the presence of US-ASCII byte sequenzes. Additionally, it
is very unlikely that a user will ever be using an encoding where \r\n
is not encoded the same as it would be in ASCII.
This patch first tries the existing method of normalizing the newlines
in the provided script file, if that fails for any reason it force
encodes the string to ASCII-8BIT (which allows the most significant bit
to be on in any individual byte) and then performs the substitution in
that byte space.
2015-09-12 14:36:54 +01:00
Philip Wigg
33b4d6a63d
Fix verify_binary for Puppet for Windows guests.
2015-09-11 20:06:21 +01:00
konomae
ad9a7324c5
Fix invalid ini entry error when ansible_ssh_private_key_file contains spaces
2015-08-29 18:00:20 +09:00
Jason Woods
ff941ef4e8
Fix broken masterless minion configuration
2015-08-03 12:11:32 +01:00
John Syrinek
ea7b277f41
Prevent fatal error caused by attempting to upload minion config to
...
privileged directory
2015-07-31 16:05:55 -05:00
Ben Hines
3f29be0de2
Fix string parse error in the environment path missing error message.
2015-07-28 11:16:20 -07:00
Brian Dwyer
e4cdb473bd
Bring back `nodes_path` support for the Chef Zero provisioner
2015-07-28 12:41:51 -04:00
지훈
287831dd2e
Fix for Issue #6006 - cfengine will now install
2015-07-20 02:08:13 -07:00
Pat O'Shea
d34bc38bf3
Updated salt-minion and call ext on windows guest
...
Salt-minion and salt-call are batch files on a windows guest, not executables.
2015-07-18 20:53:46 -06:00
Mattias Appelgren
f349a58a1e
provisioners/puppet: Fix Puppet environment default manifest
...
Also parse the puppet variables $codedir and $environment when
resolving a manifest path from environment.conf
2015-07-18 14:48:03 +02:00
Mitchell Hashimoto
4b217e2128
Merge pull request #5980 from PatOShea/PatOShea-ConfigDir-Typo
...
Fixed salt minion configuration directory typo
2015-07-17 12:37:44 -07:00
Pat O'Shea
a4eede0c42
fixed typo for config_dir
...
Only exposed when calling highstate with config_dir being set
2015-07-16 18:45:59 -06:00
Pat O'Shea
956bbf011c
Changed minion config path for windows
...
Copy of minion is wrong on windows. Moved to sub-dir, conf.
2015-07-16 18:37:36 -06:00
Mitchell Hashimoto
ce5a30b264
provisioners/puppet: fix config merging [GH-5958]
2015-07-15 10:59:34 -07:00
Mitchell Hashimoto
3476491881
update CHANGELOG
2015-07-15 10:57:38 -07:00
Ben Hines
46eedb6491
Back to using 'which' when no path is defined since the winrm communicator overrides it anyway.
2015-07-14 23:55:09 -07:00
Ben Hines
8c2ddac2cd
Check for nil config_path.
2015-07-14 23:26:55 -07:00
Ben Hines
8c1ff5ee26
Fix custom puppet.binary_path to work properly on windows.
...
Fix automatic puppet path detection on windows
2015-07-14 23:21:46 -07:00
William Kral
27d7518636
Fix alignment of initializer
2015-07-11 10:40:17 -07:00
William Kral
ccd7354665
Initialize the install_command salt config var
2015-07-11 10:31:19 -07:00
Seth Vargo
516d475f16
Checksum args to each docker container in local data
...
This allows Vagrant to calculate if a container's arguments (such as the run
arguments) have changed in the Vagrantfile since the original run.
Fixes GH-3055
2015-07-10 11:32:02 -06:00
Seth Vargo
3e3037f313
Add a space before args
2015-07-10 10:49:21 -06:00
Gilles Cornu
3842a1f710
provisioners/ansible: provide ssh identities via ANSIBLE_SSH_ARGS (when necessary)
...
When provisioning multiple machines in sequence (the default vagrant
behaviour), it doesn't make sense to require to provide the private ssh
key(s) via the custom ansible inventory script/file.
To align with the handling of multiple ssh keys per machine, we won't
rely any longer on `--private-key` command line argument, but only pass
the keys via `ANSIBLE_SSH_ARGS` environment variable.
Note that when vagrant generates the ansible inventory and that only one
key is associated to a VM, this step would be redundant, and therefore
won't be applied.
This change fixes the breaking change introduced by 3d62a91.
2015-07-10 08:51:17 +02:00
Luis Pabón
f0718d620d
provisioners/ansible: Put ssh key in the inventory
...
Vagrant 1.7.1 creates and injects new ssh keys for each virtual machine.
When it started ansible with the "parallel provisioning trick",
it would only send the ssh key of the targeted virtual machine.
With this change, vagrant now stores the ssh key for each virtual
machines directly in the generated ansible inventory, and thus allow
ansible parallelism.
Note that this change is not sufficient, as it would break vagrant
configuration based on a custom inventory (file or script). This issue
will be addressed in a next commit.
Signed-off-by: Luis Pabón <lpabon@redhat.com>
2015-07-10 08:39:49 +02:00
Seth Vargo
4b1847acf3
Use Chef Client for Chef Zero
...
Fixes GH-5619
2015-07-09 21:23:42 -06:00
Seth Vargo
40b94afeb5
Update command builder now that provisioning_path has moved to runtime
2015-07-09 17:46:39 -06:00
Seth Vargo
60330218fb
Merge pull request #5913 from mitchellh/sethvargo/windows_chef_paths
...
Use windows-specific Chef paths
2015-07-09 17:05:40 -06:00
Seth Vargo
e9bcf147f0
Prefix with guest_
2015-07-09 17:01:36 -06:00
Seth Vargo
0e039159a6
Calculate Chef paths at provision time
2015-07-09 16:55:55 -06:00
Nicholas Randon
eb6aa2ac8c
Allow Ansible provisioner to run reliably in parallel
...
The Ansible Vagrant provisioner has a race where the inventory file is
updated every time the provisioner runs unless a file is provided.
Therefore if Ansible attempts to provision two nodes in parallel, you
may see the following race:
* System A writes the inventory file and calls Ansible.
* System B starts to provision and truncates the file before
creating a new one.
* Ansible on system A now attempts to read the inventory
file, which is blank. Ansible bombs out with "ERROR: provided
hosts list is empty".
To fix this, we only allow Vagrant to update the inventory file if
it needs to.
2015-07-10 00:53:59 +02:00
Seth Vargo
742d47c4cf
No longer need subprocess wrapping there :)
2015-07-09 16:06:03 -06:00
Mitchell Hashimoto
d51c5fbc69
Merge pull request #5435 from juiceinc/bugfix/salt-provisioner
...
Update Salt provisioner to allow more flexibility in passing arguments to the bootstrap script
2015-07-09 15:02:34 -06:00
Mitchell Hashimoto
300b9c9109
provisioners/chef: don't check existing set, unique ID
...
[GH-5199]
2015-07-09 14:04:12 -06:00
Mitchell Hashimoto
9dd5640324
provisioners/docker: for debian, chmod the var lib docker folder
2015-07-08 12:13:25 -06:00
Gilles Cornu
839a2e6fa6
provisioners/ansible: show ansible-playbook only when the verbose option is enabled
...
Revert 1c884fa4e5
which introduced the
following bug:
Instead of allowing to dump the `ansible-playbook` command details when
VAGRANT_LOG=debug was defined, it was then impossible to disable this
console output when VAGRANT_LOG was undefined (in such case,
``@logger.debug ? systematically returns `true`)
In order to keep things simple and focused, it is preferable to drop the
bad idea to mix Ansible verbosity and Vagrant log level.
Fix #5803
2015-07-07 22:37:06 +02:00
Mitchell Hashimoto
9c7f666e48
provisioners/docker: support restart flag [GH-4477]
2015-07-07 12:17:24 -06:00
Pat O'Shea
da67824a53
Adding run_service and minion/master ids for windows
2015-07-07 00:24:23 -06:00
Mitchell Hashimoto
4d2e8fd591
Merge pull request #5860 from arthurvanduynhoven/docker-provisioner-deb-fix
...
provisioner/docker: Docker Provisioner fails on Debian [ubuntu/trusty64]
2015-07-06 15:16:03 -06:00
Mitchell Hashimoto
cc2d393611
Merge pull request #5892 from PatOShea/master
...
provisioner/salt: Updated version for windows and added passing in version via vagrantfile
2015-07-06 15:11:08 -06:00
Mitchell Hashimoto
2fc8d99f6d
provisioners/file: validate source relative to Vagrantfile path
...
[GH-5252]
2015-07-06 14:22:00 -06:00
Jeff Quast
1ac3d17773
bugfix: undefined local variable or method `dir'
...
resolves bug introduced in 74d22069d4
2015-07-06 11:39:07 -07:00
Mitchell Hashimoto
fec6ef11c8
provisioners/puppet: just quiet the NFS errors for Puppet [GH-5456]
2015-07-06 11:19:32 -06:00
Mitchell Hashimoto
e64cef9d31
provisioners/chef: fix crash if run list is somehow nil [GH-5545]
2015-07-05 17:30:29 -07:00
Pat O'Shea
eab702da83
Adding config to set version to install
2015-07-04 01:25:31 -06:00
arthurvanduynhoven
94549ab755
Need to do update before installing linux-image-extra kernel in case system is outdated.
2015-06-24 14:56:28 +02:00
Seth Vargo
b92d4b21a1
Add UI::Interface#color?
2015-06-01 11:49:09 -04:00
Tim O'Guin
72e63767ac
Salt Provisioner: refactor custom install_type option to add install_command instead
2015-06-01 10:37:41 -05:00
Tim O'Guin
0b24866537
merged in master and resolved conflict in Salt provisioner docs
2015-06-01 10:07:28 -05:00
Gilles Cornu
f7894d9c8c
provisioners/ansible: fix broken colorized output
...
After #5532 (e745436df3
), it was no longer
possible to enable ansible colorized output. Even though
`ANSIBLE_NOCOLOR` has no effect *at the moment* in vagrant+ansible
integration, I agree to keep it for clarity and consistence.
The new `--no-color` behaviour (bug fix #5531 ) is now covered by a unit
test.
//cc @marsam, @sethvargo
2015-06-01 08:36:09 +02:00
Seth Vargo
3017243a24
Merge pull request #5577 from luciddg/fix/master/docker-provisioner-restart-fix
...
Use service command to restart docker, not upstart.
2015-05-31 20:44:48 -07:00
Seth Vargo
6a48af6350
Merge pull request #5532 from marsam/fix/master/ansible-no-color
...
Disable color if in ansible provisioner if Vagrant has no color
2015-05-31 20:34:06 -07:00
Seth Vargo
f5c77765fa
Merge pull request #5437 from Jamezz/master
...
Fix issue #4152 : Salt minion bootstrapping
2015-05-31 20:08:32 -07:00
Seth Vargo
b90807648b
Style fixes
2015-05-31 10:19:03 -07:00
Seth Vargo
e34308ec12
Merge pull request #4371 from andrewmains12/salt_orchestrations
...
Added ability to run salt orchestrations to Salt provisioner
2015-05-31 10:17:54 -07:00
Seth Vargo
01ce48ea9e
Merge pull request #5669 from taliesins/ChefProviderWindowsSupport
...
Use powershell syntax for Chef provisioner when using windows guest
2015-05-30 21:31:43 -07:00
John Cooper
7f716f4b63
Added synced_folder_args to puppet provisioner
2015-05-30 21:26:05 -07:00
Seth Vargo
042928db9f
Merge pull request #5601 from benh57/environments_wip
...
Puppet 4 and Puppet environments support
2015-05-30 21:04:48 -07:00
Seth Vargo
50c0c487fb
Style cleanup for new name option
2015-05-30 20:57:49 -07:00
Seth Vargo
afc02ed681
Merge pull request #5607 from purpleidea/feat/named-shell
...
Add :name attribute to shell provisioner.
2015-05-30 20:54:34 -07:00
Seth Vargo
464e3f5bec
Merge pull request #5749 from jeremyplichta/patch-1
...
change to https in sources.list.d
2015-05-30 11:59:05 -07:00
Seth Vargo
dadee77730
Merge pull request #5637 from paul-krohn/config-not-found-error
...
Provide path to missing file.
2015-05-30 11:55:25 -07:00
David Cournapeau
3528af2db9
ENH: simpler masterless configuration.
2015-05-30 11:42:15 -07:00
Seth Vargo
0b85e04399
Minor style fixes for salt config_dir
2015-05-30 11:39:24 -07:00
David Cournapeau
74d22069d4
BUG: naive attempt at fixing #2970 .
2015-05-30 11:39:23 -07:00
Jeremy Plichta
db1bd8d8c1
change to https in sources.list.d
...
I started having this problem when running the docker provisioner (Vagrant 1.7.2):
Err http://get.docker.io docker/main amd64 Packages
Undetermined Error
Err http://get.docker.io docker/main i386 Packages
Undetermined Error
Ign http://get.docker.io docker/main Translation-en_US
Ign http://get.docker.io docker/main Translation-en
Stderr from the command:
stdin: is not a tty
W: Failed to fetch http://get.docker.io/ubuntu/dists/docker/main/binary-amd64/Packages Undetermined Error
W: Failed to fetch http://get.docker.io/ubuntu/dists/docker/main/binary-i386/Packages Undetermined Error
Changing this to https seemed to fix the problem for now.
2015-05-22 15:18:11 -06:00
Taliesin Sisson
9233e22974
Use powershell syntax for Chef provisioner when using windows
2015-05-02 16:21:32 +01:00
Ben Hines
9bbfbef977
Be a bit more robust when parsing environment.conf
2015-04-27 23:09:07 -07:00
Paul Krohn
c7f32e6159
When you can't find the salt minion or master config, say what you were looking for.
2015-04-26 11:34:34 -07:00
James Shubin
b16b85aa7d
Add :name attribute to shell provisioner.
...
This allows the display of friendly output to the user when we think an
important action should be labeled a certain way. This makes vagrant
output a lot more useful when many inline shell provisioners are
present.
2015-04-18 00:35:21 -04:00
Ben Hines
602227ca7d
Remove debug spam from development.
2015-04-16 00:50:53 -07:00
Shawn Neal
9de3c481de
Salt bootstrap ps1 should be idempotent
...
- WinRM communicator error detection was tightened up thus exposing an issue in the salt bootstrap script creating directories that already exist.
2015-04-14 05:57:16 -07:00
Ben Hines
ffcb58bcd9
When using environments, allow specifying the 'main manifest' using manifest_path and manifest_file.
2015-04-12 12:31:31 -07:00
Ben Hines
0efb9a3932
Fix resolution of puppet path for <4.0
2015-04-12 12:29:50 -07:00
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