vagrant-windows 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6373e5fcaeafb284ed319640b162f38d2c1fbb42
4
- data.tar.gz: f292ab1b6c18eb837fd7b5d8f9b2bc34dfda6aad
3
+ metadata.gz: e8275a55fe7f1a0a294fbe31a81a6e6e6a6014b2
4
+ data.tar.gz: dc9745a62fe13ee73cb65812e4698051f726508c
5
5
  SHA512:
6
- metadata.gz: e86f29b4b5661bd43041cda843cf062735b3f66ca80a20a0c097724572a3124a4131bb809201bc8e77767e845c2a998350be3af2028108eb40c6e781dd6d0c96
7
- data.tar.gz: 770f88ccf1d8bc53f22921a56dc1a27c5176b93c6bc8e4eab9336ab21d19706558a1c1f02ac3136302110313518d8275c207074db8ad5b2b76ade076edeca977
6
+ metadata.gz: ad5f812d845fce099340ba355bef6b6e041576125483e706b989c6b092005f0aa45375f0f4a24981834710eebaadde495eda90c499a943fded37783fe75e6b18
7
+ data.tar.gz: 7f504f4eb7aac168441142cb90225fbf22f6535f330c33c384f9eac2bc29238faddd886715235c4a4f3ed88760ddad13ab900e3a42f27774f972e1bb18e8b2e4
data/Gemfile CHANGED
@@ -1,5 +1,11 @@
1
- source :rubygems
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in my_gem.gemspec
4
4
  gemspec
5
5
 
6
+ group :development do
7
+ # We depend on Vagrant for development, but we don't add it as a
8
+ # gem dependency because we expect to be installed within the
9
+ # Vagrant environment itself using `vagrant plugin`.
10
+ gem "vagrant", :git => "git://github.com/mitchellh/vagrant.git"
11
+ end
data/Gemfile.lock CHANGED
@@ -1,32 +1,60 @@
1
+ GIT
2
+ remote: git://github.com/mitchellh/vagrant.git
3
+ revision: 52448c97cc1ee506bacdff4bd679ca497bd7cf1c
4
+ specs:
5
+ vagrant (1.2.3.dev)
6
+ childprocess (~> 0.3.7)
7
+ erubis (~> 2.7.0)
8
+ i18n (~> 0.6.0)
9
+ json (>= 1.5.1, < 1.8.0)
10
+ log4r (~> 1.1.9)
11
+ net-scp (~> 1.1.0)
12
+ net-ssh (~> 2.6.6)
13
+
1
14
  PATH
2
15
  remote: .
3
16
  specs:
4
- vagrant-windows (0.2.0)
17
+ vagrant-windows (1.0.1)
5
18
  highline
6
19
  winrm (~> 1.1.1)
7
20
 
8
21
  GEM
9
- remote: http://rubygems.org/
22
+ remote: https://rubygems.org/
10
23
  specs:
11
24
  akami (1.2.0)
12
25
  gyoku (>= 0.4.0)
13
26
  nokogiri (>= 1.4.0)
14
- builder (3.0.4)
27
+ builder (3.2.0)
28
+ childprocess (0.3.9)
29
+ ffi (~> 1.0, >= 1.0.11)
30
+ diff-lcs (1.1.3)
31
+ erubis (2.7.0)
15
32
  ffi (1.4.0)
16
33
  gssapi (1.0.3)
17
34
  ffi (>= 1.0.1)
18
- gyoku (0.4.6)
35
+ gyoku (1.0.0)
19
36
  builder (>= 2.1.2)
20
- highline (1.6.15)
37
+ highline (1.6.16)
21
38
  httpclient (2.2.0.2)
22
39
  httpi (0.9.7)
23
40
  rack
41
+ i18n (0.6.4)
42
+ json (1.7.7)
24
43
  little-plugger (1.1.3)
44
+ log4r (1.1.10)
25
45
  logging (1.6.2)
26
46
  little-plugger (>= 1.1.3)
27
- nokogiri (1.5.6)
28
- nori (1.1.3)
47
+ net-scp (1.1.0)
48
+ net-ssh (>= 2.6.5)
49
+ net-ssh (2.6.7)
50
+ nokogiri (1.5.9)
51
+ nori (1.1.5)
29
52
  rack (1.5.2)
53
+ rake (10.0.4)
54
+ rspec-core (2.12.2)
55
+ rspec-expectations (2.12.1)
56
+ diff-lcs (~> 1.1.3)
57
+ rspec-mocks (2.12.2)
30
58
  rubyntlm (0.1.1)
31
59
  savon (0.9.5)
32
60
  akami (~> 1.0)
@@ -52,4 +80,9 @@ PLATFORMS
52
80
  ruby
53
81
 
54
82
  DEPENDENCIES
83
+ rake
84
+ rspec-core (~> 2.12.2)
85
+ rspec-expectations (~> 2.12.1)
86
+ rspec-mocks (~> 2.12.1)
87
+ vagrant!
55
88
  vagrant-windows!
data/README.md CHANGED
@@ -138,6 +138,19 @@ Contributing
138
138
  4. Push to the branch (git push origin my_feature_branch)
139
139
  5. Create a pull requst from your branch into master (Please be sure to provide enough detail for us to cipher what this change is doing)
140
140
 
141
+ Running tests
142
+ =============
143
+ Clone this repository and use [Bundler](http://gembundler.com) to get the dependencies:
144
+
145
+ ```
146
+ $ bundle install
147
+ ```
148
+
149
+ Once you have the dependencies, you can run the tests with `rake`:
150
+
151
+ ```
152
+ $ rake spec
153
+ ```
141
154
 
142
155
  References and Shout Outs
143
156
  =========================
@@ -155,3 +168,6 @@ Changelog
155
168
  0.1.3 - Added puppet provisioner.
156
169
 
157
170
  1.0.0 - Converted to Vagrant 1.1.x plugin architecture.
171
+
172
+ 1.1.1 - Fix #29 Monkey Patch the 4.2 driver to include read_mac_addresses.
173
+ use read_mac_addresses in all cases.
data/Rakefile CHANGED
@@ -1,2 +1,15 @@
1
- #!/usr/bin/env rake
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'rspec/core/rake_task'
4
+
5
+ # Change to the directory of this file.
6
+ Dir.chdir(File.expand_path("../", __FILE__))
7
+
8
+ # For gem creation and bundling
2
9
  require "bundler/gem_tasks"
10
+
11
+ # Install the `spec` task so that we can run tests.
12
+ RSpec::Core::RakeTask.new
13
+
14
+ # Default task is to run the unit tests
15
+ task :default => "build"
@@ -67,14 +67,7 @@ module VagrantWindows
67
67
 
68
68
  def configure_networks(networks)
69
69
  @logger.info("configure_networks: #{networks.inspect}")
70
-
71
- # The VBox driver 4.0 and 4.1 implement read_mac_addresses, but 4.2 does not?
72
- begin
73
- driver_mac_address = @machine.provider.driver.read_mac_addresses.invert
74
- rescue NoMethodError
75
- driver_mac_address = {}
76
- driver_mac_address[@machine.provider.driver.read_mac_address] = "macaddress1"
77
- end
70
+ driver_mac_address = @machine.provider.driver.read_mac_addresses.invert
78
71
 
79
72
  vm_interface_map = {}
80
73
 
@@ -0,0 +1,20 @@
1
+ module VagrantPlugins
2
+ module ProviderVirtualBox
3
+ module Driver
4
+ class Version_4_2
5
+ def read_mac_addresses
6
+ macs = {}
7
+ info = execute("showvminfo", @uuid, "--machinereadable", :retryable => true)
8
+ info.split("\n").each do |line|
9
+ if matcher = /^macaddress(\d+)="(.+?)"$/.match(line)
10
+ adapter = matcher[1].to_i
11
+ mac = matcher[2].to_s
12
+ macs[adapter] = mac
13
+ end
14
+ end
15
+ macs
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -16,6 +16,9 @@ require "vagrant-windows/errors"
16
16
  # Add Vagrant WinRM communication channel
17
17
  require "vagrant-windows/communication/winrmcommunicator"
18
18
 
19
+ # Monkey patch the Puppet provisioner to support PowerShell/Windows
20
+ require "vagrant-windows/monkey_patches/vbox_42_driver"
21
+
19
22
  # Monkey Patch the VM object to support multiple channels, i.e. WinRM
20
23
  require "vagrant-windows/monkey_patches/machine"
21
24
 
@@ -1,3 +1,3 @@
1
1
  module VagrantWindows
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -0,0 +1,58 @@
1
+ require "vagrant-windows/config/windows"
2
+ require "vagrant-windows/config/winrm"
3
+
4
+ describe VagrantWindows::Config::Windows do
5
+ let(:instance) { described_class.new }
6
+
7
+ describe "defaults" do
8
+ subject do
9
+ instance.tap do |o|
10
+ o.finalize!
11
+ end
12
+ end
13
+
14
+ its("halt_timeout") { should == 30 }
15
+ its("halt_check_interval") { should == 1 }
16
+ end
17
+
18
+ describe "overriding defaults" do
19
+ [:halt_timeout, :halt_check_interval].each do |attribute|
20
+ it "should not default #{attribute} if overridden" do
21
+ instance.send("#{attribute}=".to_sym, 10)
22
+ instance.finalize!
23
+ instance.send(attribute).should == 10
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+
30
+ describe VagrantWindows::Config::WinRM do
31
+ let(:instance) { described_class.new }
32
+
33
+ describe "defaults" do
34
+ subject do
35
+ instance.tap do |o|
36
+ o.finalize!
37
+ end
38
+ end
39
+
40
+ its("username") { should == "vagrant" }
41
+ its("password") { should == "vagrant" }
42
+ its("host") { should == "localhost" }
43
+ its("port") { should == 5985 }
44
+ its("guest_port") { should == 5985 }
45
+ its("max_tries") { should == 12 }
46
+ its("timeout") { should == 1800 }
47
+ end
48
+
49
+ describe "overriding defaults" do
50
+ [:username, :password, :host, :port, :guest_port, :max_tries, :timeout].each do |attribute|
51
+ it "should not default #{attribute} if overridden" do
52
+ instance.send("#{attribute}=".to_sym, 10)
53
+ instance.finalize!
54
+ instance.send(attribute).should == 10
55
+ end
56
+ end
57
+ end
58
+ end
@@ -17,4 +17,9 @@ Gem::Specification.new do |gem|
17
17
 
18
18
  gem.add_runtime_dependency "winrm", "~> 1.1.1"
19
19
  gem.add_runtime_dependency 'highline'
20
- end
20
+
21
+ gem.add_development_dependency "rake"
22
+ gem.add_development_dependency "rspec-core", "~> 2.12.2"
23
+ gem.add_development_dependency "rspec-expectations", "~> 2.12.1"
24
+ gem.add_development_dependency "rspec-mocks", "~> 2.12.1"
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-windows
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Morton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-30 00:00:00.000000000 Z
11
+ date: 2013-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: winrm
@@ -38,6 +38,62 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-core
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.12.2
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 2.12.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-expectations
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 2.12.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 2.12.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-mocks
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 2.12.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 2.12.1
41
97
  description: Windows Guest Support for Vagrant
42
98
  email:
43
99
  - pmorton@biaprotect.com
@@ -59,12 +115,14 @@ files:
59
115
  - lib/vagrant-windows/monkey_patches/chef_solo.rb
60
116
  - lib/vagrant-windows/monkey_patches/machine.rb
61
117
  - lib/vagrant-windows/monkey_patches/puppet.rb
118
+ - lib/vagrant-windows/monkey_patches/vbox_42_driver.rb
62
119
  - lib/vagrant-windows/plugin.rb
63
120
  - lib/vagrant-windows/scripts/command_alias.ps1
64
121
  - lib/vagrant-windows/scripts/mount_volume.ps1.erb
65
122
  - lib/vagrant-windows/scripts/ps_runas.ps1.erb
66
123
  - lib/vagrant-windows/version.rb
67
124
  - locales/en.yml
125
+ - spec/vagrant-windows/config_spec.rb
68
126
  - vagrant-windows.gemspec
69
127
  homepage: ''
70
128
  licenses: []
@@ -90,4 +148,5 @@ signing_key:
90
148
  specification_version: 4
91
149
  summary: A small gem that adds windows guest support to vagrant, uses WinRM as the
92
150
  Communication Channel
93
- test_files: []
151
+ test_files:
152
+ - spec/vagrant-windows/config_spec.rb