Merge branch 'master' of github.com:mitchellh/vagrant into winrm_error_handling
Conflicts: plugins/communicators/winrm/config.rb plugins/communicators/winrm/shell.rb test/unit/plugins/communicators/winrm/shell_test.rb
This commit is contained in:
commit
583254b2b7
|
@ -14,6 +14,7 @@ BUG FIXES:
|
||||||
- provisioners/ansible: fix SSH settings to support more than 5 ssh keys [GH-5017]
|
- provisioners/ansible: fix SSH settings to support more than 5 ssh keys [GH-5017]
|
||||||
- provisioners/ansible: increase ansible connection timeout to 30 seconds [GH-5018]
|
- provisioners/ansible: increase ansible connection timeout to 30 seconds [GH-5018]
|
||||||
- provisioners/docker: use docker.com instead of docker.io [GH-5216]
|
- provisioners/docker: use docker.com instead of docker.io [GH-5216]
|
||||||
|
- pushes/atlas: send additional box metadata [GH-5283]
|
||||||
|
|
||||||
## 1.7.2 (January 6, 2015)
|
## 1.7.2 (January 6, 2015)
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ module VagrantPlugins
|
||||||
cmd << "-vcs" if config.vcs
|
cmd << "-vcs" if config.vcs
|
||||||
cmd += config.includes.map { |v| ["-include", v] }
|
cmd += config.includes.map { |v| ["-include", v] }
|
||||||
cmd += config.excludes.map { |v| ["-exclude", v] }
|
cmd += config.excludes.map { |v| ["-exclude", v] }
|
||||||
|
cmd += metadata.map { |k,v| ["-metadata", "#{k}=#{v}"] }
|
||||||
cmd += ["-address", config.address] if config.address
|
cmd += ["-address", config.address] if config.address
|
||||||
cmd += ["-token", config.token] if config.token
|
cmd += ["-token", config.token] if config.token
|
||||||
cmd << config.app
|
cmd << config.app
|
||||||
|
@ -40,8 +41,7 @@ module VagrantPlugins
|
||||||
# @return [String]
|
# @return [String]
|
||||||
def uploader_path
|
def uploader_path
|
||||||
# Determine the uploader path
|
# Determine the uploader path
|
||||||
uploader = config.uploader_path
|
if uploader = config.uploader_path
|
||||||
if uploader
|
|
||||||
return uploader
|
return uploader
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -53,6 +53,26 @@ module VagrantPlugins
|
||||||
|
|
||||||
return Vagrant::Util::Which.which(UPLOADER_BIN)
|
return Vagrant::Util::Which.which(UPLOADER_BIN)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# The metadata command for this push.
|
||||||
|
#
|
||||||
|
# @return [Array<String>]
|
||||||
|
def metadata
|
||||||
|
box = env.vagrantfile.config.vm.box
|
||||||
|
box_url = env.vagrantfile.config.vm.box_url
|
||||||
|
|
||||||
|
result = {}
|
||||||
|
|
||||||
|
if !box.nil? && !box.empty?
|
||||||
|
result["box"] = box
|
||||||
|
end
|
||||||
|
|
||||||
|
if !box_url.nil? && !box_url.empty?
|
||||||
|
result["box_url"] = Array(box_url).first
|
||||||
|
end
|
||||||
|
|
||||||
|
return result
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,9 +9,9 @@ describe VagrantPlugins::AtlasPush::Push do
|
||||||
let(:bin) { VagrantPlugins::AtlasPush::Push::UPLOADER_BIN }
|
let(:bin) { VagrantPlugins::AtlasPush::Push::UPLOADER_BIN }
|
||||||
|
|
||||||
let(:env) do
|
let(:env) do
|
||||||
double("env",
|
iso_env = isolated_environment
|
||||||
root_path: File.expand_path("..", __FILE__)
|
iso_env.vagrantfile("")
|
||||||
)
|
iso_env.create_vagrant_env
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:config) do
|
let(:config) do
|
||||||
|
@ -99,6 +99,29 @@ describe VagrantPlugins::AtlasPush::Push do
|
||||||
config.token = "atlas_token"
|
config.token = "atlas_token"
|
||||||
subject.execute("foo")
|
subject.execute("foo")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "when metadata is available" do
|
||||||
|
let(:env) do
|
||||||
|
iso_env = isolated_environment
|
||||||
|
iso_env.vagrantfile <<-EOH
|
||||||
|
Vagrant.configure(2) do |config|
|
||||||
|
config.vm.box = "hashicorp/precise64"
|
||||||
|
config.vm.box_url = "https://atlas.hashicorp.com/hashicorp/precise64"
|
||||||
|
end
|
||||||
|
EOH
|
||||||
|
iso_env.create_vagrant_env
|
||||||
|
end
|
||||||
|
|
||||||
|
it "sends the metadata" do
|
||||||
|
expect(Vagrant::Util::SafeExec).to receive(:exec).
|
||||||
|
with("foo", "-vcs", "-metadata", "box=hashicorp/precise64",
|
||||||
|
"-metadata", "box_url=https://atlas.hashicorp.com/hashicorp/precise64",
|
||||||
|
"-token", "atlas_token", app, env.root_path.to_s)
|
||||||
|
|
||||||
|
config.token = "atlas_token"
|
||||||
|
subject.execute("foo")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "#uploader_path" do
|
describe "#uploader_path" do
|
||||||
|
|
|
@ -28,7 +28,7 @@ Gem::Specification.new do |s|
|
||||||
s.add_dependency "rb-kqueue", "~> 0.2.0"
|
s.add_dependency "rb-kqueue", "~> 0.2.0"
|
||||||
s.add_dependency "rest-client", ">= 1.6.0", "< 2.0"
|
s.add_dependency "rest-client", ">= 1.6.0", "< 2.0"
|
||||||
s.add_dependency "wdm", "~> 0.1.0"
|
s.add_dependency "wdm", "~> 0.1.0"
|
||||||
s.add_dependency "winrm", "~> 1.3.0"
|
s.add_dependency "winrm", "~> 1.3"
|
||||||
s.add_dependency "winrm-fs", "~> 0.1.0"
|
s.add_dependency "winrm-fs", "~> 0.1.0"
|
||||||
|
|
||||||
# We lock this down to avoid compilation issues.
|
# We lock this down to avoid compilation issues.
|
||||||
|
|
|
@ -22,3 +22,8 @@ accepts.
|
||||||
In depth documentation and use cases of various Vagrant commands is
|
In depth documentation and use cases of various Vagrant commands is
|
||||||
available by reading the appropriate sub-section available in the left
|
available by reading the appropriate sub-section available in the left
|
||||||
navigational area of this site.
|
navigational area of this site.
|
||||||
|
|
||||||
|
You may also wish to consult the
|
||||||
|
[documentation](/v2/other/environmental-variables.html) regarding the
|
||||||
|
environmental variables that can be used to configure and control
|
||||||
|
Vagrant in a global way.
|
||||||
|
|
|
@ -5,8 +5,8 @@ sidebar_current: "gettingstarted-projectsetup"
|
||||||
|
|
||||||
# Project Setup
|
# Project Setup
|
||||||
|
|
||||||
The first step for any project to use Vagrant is to configure Vagrant
|
The first step in configuring any Vagrant project is to create a
|
||||||
using a [Vagrantfile](/v2/vagrantfile/index.html). The purpose of the
|
[Vagrantfile](/v2/vagrantfile/index.html). The purpose of the
|
||||||
Vagrantfile is twofold:
|
Vagrantfile is twofold:
|
||||||
|
|
||||||
1. Mark the root directory of your project. A lot of the configuration
|
1. Mark the root directory of your project. A lot of the configuration
|
||||||
|
|
|
@ -9,6 +9,14 @@ Vagrant has a set of environmental variables that can be used to
|
||||||
configure and control it in a global way. This page lists those environmental
|
configure and control it in a global way. This page lists those environmental
|
||||||
variables.
|
variables.
|
||||||
|
|
||||||
|
## VAGRANT\_CHECKPOINT\_DISABLE
|
||||||
|
|
||||||
|
Vagrant does occasional network calls to check whether the version of Vagrant
|
||||||
|
that is running locally is up to date. We understand that software making remote
|
||||||
|
calls over the internet for any reason can be undesirable. To surpress these
|
||||||
|
calls, set the environment variable `VAGRANT_CHECKPOINT_DISABLE` to any
|
||||||
|
non-empty value.
|
||||||
|
|
||||||
## VAGRANT\_CWD
|
## VAGRANT\_CWD
|
||||||
|
|
||||||
`VAGRANT_CWD` can be set to change the working directory of Vagrant. By
|
`VAGRANT_CWD` can be set to change the working directory of Vagrant. By
|
||||||
|
|
|
@ -36,10 +36,22 @@ a single push definition.
|
||||||
The Vagrant Push Local Exec strategy is defined in the `Vagrantfile` using the
|
The Vagrant Push Local Exec strategy is defined in the `Vagrantfile` using the
|
||||||
`local-exec` key:
|
`local-exec` key:
|
||||||
|
|
||||||
|
Remote path:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
config.push.define "local-exec" do |push|
|
config.push.define "local-exec" do |push|
|
||||||
push.inline = <<-SCRIPT
|
push.inline = <<-SCRIPT
|
||||||
scp . /var/www/website
|
scp -r . server:/var/www/website
|
||||||
|
SCRIPT
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
Local path:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
config.push.define "local-exec" do |push|
|
||||||
|
push.inline = <<-SCRIPT
|
||||||
|
cp -r . /var/www/website
|
||||||
SCRIPT
|
SCRIPT
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
|
@ -15,10 +15,29 @@ Fusion, and `vmware_workstation` for VMware Workstation.
|
||||||
The Vagrant VMware provider does not support parallel execution at this time.
|
The Vagrant VMware provider does not support parallel execution at this time.
|
||||||
Specifying the `--parallel` option will have no effect.
|
Specifying the `--parallel` option will have no effect.
|
||||||
|
|
||||||
<p>
|
To get started, create a new `Vagrantfile` that points to a VMware box:
|
||||||
To get started, a 64-bit Ubuntu 12.04 LTS VMware box is available at:
|
|
||||||
<a href="http://files.vagrantup.com/precise64_vmware.box">http://files.vagrantup.com/precise64_vmware.box</a>
|
```ruby
|
||||||
</p>
|
# vagrant init hashicorp/precise64
|
||||||
|
Vagrant.configure(2) do |config|
|
||||||
|
config.vm.box = "hashicorp/precise64"
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
VMware Fusion users should then run:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ vagrant up --provider vmware_fusion
|
||||||
|
```
|
||||||
|
|
||||||
|
VMware Workstation users should then run:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ vagrant up --provider vmware_workstation
|
||||||
|
```
|
||||||
|
|
||||||
|
This will download and bring up a new VMware Fusion/Workstation virtual machine
|
||||||
|
in Vagrant.
|
||||||
|
|
||||||
<div class="alert alert-info">
|
<div class="alert alert-info">
|
||||||
<p>
|
<p>
|
||||||
|
|
Loading…
Reference in New Issue