Commit Graph

8795 Commits

Author SHA1 Message Date
Mitchell Hashimoto b79f0bb7a9 Merge pull request #6260 from samphippen/samphippen/bugfix/6065
Samphippen/bugfix/6065
2015-09-13 11:02:13 -07:00
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
Sam Phippen 379dcfa568 Add a failing test for #6065 2015-09-12 14:31:49 +01:00
Philip Wigg 33b4d6a63d Fix verify_binary for Puppet for Windows guests. 2015-09-11 20:06:21 +01:00
Kristoffer Grönlund 1911586832 Better NFS status check command for SUSE 2015-09-10 10:05:14 +02:00
Mitchell Hashimoto 4967623417 Merge pull request #6249 from samphippen/samphippen/bugfix/5605
samphippen/bugfix/5605
2015-09-09 01:06:40 -07:00
Sam Phippen eeb750cd33 Catch encoding problems with sources provided to Vagrant::Config::Loader#set
Here we implement a naive solution to #5605 which catches the case that
a provided source contains an object which cannot be inspected, because
an object contained within in has an #inspect string that returns a
string that is incompatible with the encoding in
`Encoding.default_external` or a string which cannot be downcast to
7-bit ascii.

The Ruby VM implementation of "#inspect" implements this checking on
these lines of code: http://git.io/vZYNS. A Ruby level override of
this method does not cause this problem. For example:

```ruby
class Foo
  def inspect
    "😍".encode("UTF-16LE")
  end
```

will not cause the problem, because that's a Ruby implementation and the
VM's checks don't occur.

However, if we have an Object which **does** use the VM implementation
of inspect, that contains an object that has an inspect string which
returns non-ascii, we encounter the bug. For example:

```ruby
class Bar
  def inspect
    "😍".encode("UTF-16LE")
  end
end

class Foo
  def initialize
     @bar = Bar.new
  end
end

Foo.new.inspect
```

Will cause the issue.

The solution this patch provides basically catches the encoding error
and inserts a string which attempts to help the user work out which
object was provided without blowing up. Most likely, this was caused
by a user having a weird encoding coming out of one of the sources
passed in, but without a full repro case, it's not clear whether a patch
should be applied to a different object in the system.

Closes #5605.
2015-09-08 17:30:50 +01:00
Sam Phippen 790fa9f8e2 Add a failing test for #5605 2015-09-08 17:15:51 +01:00
Jeff Kwan 4b32744424 Use a .NET API call instead of a Win8+ cmdlet
The root cause is that Windows 7 doesn't have Get-NetIPAddress (
see:
https://stackoverflow.com/questions/19529442/gather-ip-address-information
)
but the change was to try and solve the bug that the VPN IP
addresses
aren't visible detailed
here:
https://support.microsoft.com/en-us/kb/2549091

Resolved using the
2nd solution
from
http://serverfault.com/questions/145259/powershell-win32-networkadapterconfiguration-not-seeing-ppp-adapter
2015-09-03 16:54:41 -04:00
Paul Hinze 1e84cc4d6a communicators/winrm: respect boot_timeout when fetching winrm_info
We gained a ton of improvemnts to WinRM error handling in
https://github.com/mitchellh/vagrant/pull/4943, but we also got one bug.

The new code raises an exception when `winrm_info` does not return right
away. This was preventing us from catching the retry/timout logic that's
meant to wait until boot_timeout for the WinRM communicator to be ready.

This restores the proper behavior by rescuing the WinRMNotReady
exception and continuing to retry until the surrounding timeout fires.
2015-09-02 16:36:23 -05:00
Jeff Goldschrafe c7186236f1 Better Ubuntu systemd detection
Check the running process at PID 1 to determine which init system is currently in use.
2015-08-31 17:24:13 -04:00
Jeremy Roberts c844a9c4fd Adding WinRM execution_time_limit to log. 2015-08-31 11:42:35 -04:00
Jeremy Roberts 44154c92a9 Fixing WinRM communicator unit test. 2015-08-31 11:42:34 -04:00
Jeremy Roberts 18d229ca82 Added execution_time_limit for WinRM.
Adds a configurable value for WinRm and the elevated permission shell ExecutionTimeLimit.

Please see mitchellh/vagrant#5506

Ex: config.winrm.execution_time_limit = "P1D"
2015-08-31 11:42:25 -04:00
Seth Vargo 3b7117b689 Merge pull request #6212 from modernlegend/typo_fix
fix typo, adjust wording for clarity
2015-08-31 09:53:24 -04:00
modernlegend 75a7fabaea fix typo, adjust wording for clarity 2015-08-30 19:42:42 -04:00
Gilles Cornu f3b31c8c9c Update CHANGELOG
@mitchellh @sethvargo: I hope it is okay for you that I started this new
entry, and I let you set the upcoming version.
2015-08-29 14:11:20 +02:00
konomae ad9a7324c5 Fix invalid ini entry error when ansible_ssh_private_key_file contains spaces 2015-08-29 18:00:20 +09:00
Dusty Mabe be90f6b1da Fix Fedora /etc/hosts bug
Update so that localhost entries don't get deleted when the hostname
gets added to the 127.0.0.1 line. Closes #6202
2015-08-27 16:53:21 -04:00
Arlo Louis O'Keeffe af0f267b50 Check if Schedule.Service com object is available 2015-08-26 00:15:03 +02:00
Seth Vargo c84e05fd06 Merge pull request #6192 from mitchellh/sethvargo/vmware_up
Bump VMware information
2015-08-25 12:42:40 -04:00
Seth Vargo aaf679d92b Bump VMware information 2015-08-25 12:41:53 -04:00
Seth Vargo 788b84aa0e Merge pull request #6190 from gajdaw/destroy-documentation-link-fix
Fixed link in destroy command documentation
2015-08-25 10:51:50 -04:00
Włodzimierz Gajda 2f5b4f0958 Fixed link in destroy command documentation 2015-08-25 16:40:16 +02:00
Elan Ruusamäe f71b27ff27 fix network detection on pld-linux
pld linux uses redhat as base, but lacks :flavour
this will add it
2015-08-21 12:49:36 +03:00
Chris Bednarski e7ca6acbfe Revert heading change and add note about CHECKPOINT_DISABLE 2015-08-20 14:34:23 -07:00
Chris Bednarski d11ff32370 Change docs for checkpoint environment variable to reflect the not-vagrant-specific version CHECKPOINT_DISABLE 2015-08-19 11:21:43 -07:00
Seth Vargo 3fed57043d Merge pull request #6164 from issyl0/fix_typo
Fix typo
2015-08-19 09:59:02 -04:00
Lonnie VanZandt b897fd7365 Scrub Guest Paths for Windows Rsync leaving Dirty Paths for Winrm Mkdir
Windows offers no out-of-the-box rsync utility. By far, the most
commonly used external utilities for Windows rsync are built with the
GNU Cygwin libraries. The cost for this convenience is that rsync on
Windows has to be provided paths that begin “/cygdrive/c” rather than
“c:/“ like other Windows-API utilities. Compounding the situation,
rsync doesn’t create paths/to/sub/targets and so the vagrant plugin
code, when performing an rsync, is responsible for creating
intermediate directories in guest paths if there are any. Furthermore,
the mkdir utility in Windows is not another Cygwin utility like rsync
but the routine mkdir of Windows command.com. Therefore, while rsync
needs the /cygwin paths, mkdir uses the Windows paths. Later, the
chef_solo.rp provisioner running within the guest will expect to find
Windows-style paths in its solo.rb configuration file. Due to all this,
vagrant has to keep track of both the original, possibly dirty Windows
guest path and the cygwin-scrubbed guest path.
2015-08-18 10:56:13 -06:00
Seth Vargo ce08fc155d Merge pull request #6136 from StefanScherer/update-winrm-fs
Update winrm-fs to fix Windows 10 problems
2015-08-17 14:50:51 -04:00
Jack Pearkes cda90ba859 Merge pull request #6155 from justincampbell/docs-link-atlas-base-boxes
website/docs: Link to Atlas docs for base boxes
2015-08-17 09:58:42 -07:00
Justin Campbell c58c9a1ffc website/www: Add Atlas box search to nav 2015-08-17 11:29:46 -04:00
Justin Campbell 0f8a88f497 website/www: Fix logos/copyright alignment
Before:

![](http://cl.ly/image/2g2h0v1Z371r/Screen%20Shot%202015-08-17%20at%2011.22.48%20AM.png)

After:

![](http://cl.ly/image/0s1e2a272o2q/Screen%20Shot%202015-08-17%20at%2011.21.31%20AM.png)
2015-08-17 11:22:27 -04:00
Justin Campbell 278d08fee4 website/docs: Link to Atlas docs for base boxes 2015-08-17 11:14:26 -04:00
issyl0 d7220ac0c4 Fix typo
- This was referring to the current project's Vagrantfile, so "projects"
  needed a possessive apostrophe.
2015-08-16 16:43:10 +00:00
Victor Costan 4425d91d86 Don't warn about an .1 IP for DHCP networks
When the network's type is :dhcp, the :ip option is used to derive the DHCP server configuration, and it doesn't actually indicate the IP that will be received by the VM(s).
2015-08-15 06:53:01 -04:00
Victor Costan 6f59c8bb54 The docs typo'd the nic_type parameter
The parameter name in the VirtualBox provider source is nic_type, not nictype.

The typo is probably caused by the fact that the parameter maps to nictype args in the VirtualBox CLI.
2015-08-15 06:19:51 -04:00
Stefan Scherer 73a7b1d11e Update winrm-fs to fix Win10 problems 2015-08-13 07:57:28 +02:00
Seth Vargo cd25b820c4 Merge pull request #6135 from mitchellh/sethvargo/ssl
Ensure all assets are served over SSL
2015-08-12 19:35:53 -04:00
Seth Vargo d1043b41e3 Ensure all assets are served over SSL 2015-08-12 19:33:26 -04:00
Seth Vargo 2f782a95ba Merge pull request #6080 from driskell/patch-1
Fix broken masterless minion configuration
2015-08-12 10:53:14 -04:00
Manuel Pöter 2a2f0a4751 Use hash of machine name for lock file to avoid problems with invalid characters for file names. 2015-08-12 14:25:54 +02:00
Mike Averto 587c88e65a Fix Win 10 Enterprise Vagrant Error
This fixes error for Win 10 Enterprise:

An error occurred while executing a PowerShell script. This error
is shown below. Please read the error message and see if this is
a configuration error with your system. If it is not, then please
report a bug.

Script: get_vm_status.ps1
Error:

C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\providers\hyperv\scripts\get_vm_status.ps1 : Unable to
find type [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException].
At line:1 char:1
+ &('C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\prov ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Microsoft.Hyper...FailedException:TypeName) [get_vm_status.ps1], Ru
   ntimeException
    + FullyQualifiedErrorId : TypeNotFound,get_vm_status.ps1
2015-08-09 12:44:49 -04:00
Seth Vargo 186f3f25e3 Merge pull request #6105 from evverx/bash-completion
Update bash-completion
2015-08-07 10:28:06 -04:00
Evgeny Vereshchagin 06d4d23662 Update bash-completion
Add command: push
Add subcommands for box: outdated, update
2015-08-07 02:07:30 +03:00
Seth Vargo fd526ad3d9 Mention that only X.Y.Z is valid for versions in semver
Fixes #6052
2015-08-06 16:06:31 -04:00
Seth Vargo a4a77f279b Update docs to say Vagrant 1.5+ is required
Fixes #6084
2015-08-06 15:51:20 -04: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
Casey Lang f13220cd74 Clarify config.ssh.insert_key docs
Modified the description of `config.ssh.insert_key` a bit to improve readability.
2015-07-31 14:10:57 -04:00