vagrant 1.0.6 → 1.0.7

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.
@@ -1,4 +1,17 @@
1
- ## 1.0.6 (unreleased)
1
+ ## 1.0.7 (March 13, 2013)
2
+
3
+ - Detect if a newer version of Vagrant ran and error if it did,
4
+ because we're not forward-compatible.
5
+ - Check for guest additions version AFTER booting. [GH-1179]
6
+ - Quote IdentityFile in `ssh-config` so private keys with spaces in
7
+ the path work. [GH-1322]
8
+ - Fix issue where multiple Puppet module paths can be re-ordered [GH-964]
9
+ - Shell provisioner won't hang on Windows anymore due to unclosed
10
+ tempfile. [GH-1040]
11
+ - Retry setting default VM name, since it sometimes fails first time. [GH-1368]
12
+ - Support setting hostname on Suse [GH-1063]
13
+
14
+ ## 1.0.6 (December 21, 2012)
2
15
 
3
16
  - Shell provisioner outputs proper line endings on Windows [GH-1164]
4
17
  - SSH upload opens file to stream which fixes strange upload issues.
@@ -49,6 +49,7 @@ module Vagrant
49
49
  use VM::SaneDefaults
50
50
  use VM::Customize
51
51
  use VM::Boot
52
+ use VM::CheckGuestAdditions
52
53
  end
53
54
  end
54
55
 
@@ -104,7 +105,6 @@ module Vagrant
104
105
  use VM::CheckAccessible
105
106
  use VM::CheckBox
106
107
  use VM::Import
107
- use VM::CheckGuestAdditions
108
108
  use VM::DefaultName
109
109
  use VM::MatchMACAddress
110
110
  use registry.get(:start)
@@ -427,7 +427,7 @@ module Vagrant
427
427
  end
428
428
 
429
429
  def set_name(name)
430
- execute("modifyvm", @uuid, "--name", name)
430
+ execute("modifyvm", @uuid, "--name", name, :retryable => true)
431
431
  end
432
432
 
433
433
  def share_folders(folders)
@@ -446,6 +446,11 @@ module Vagrant
446
446
  DEFAULT_HOME))
447
447
  @logger.info("Home path: #{@home_path}")
448
448
 
449
+ # If the setup_version file exists, then we can't load because we're
450
+ # not forward compatible. It means they ran a future version of Vagrant.
451
+ raise Errors::IncompatibleWithFutureVersion, :path => @home_path.to_s if \
452
+ @home_path.join("setup_version").file?
453
+
449
454
  # Setup the array of necessary home directories
450
455
  dirs = [@home_path]
451
456
  dirs += HOME_SUBDIRS.collect { |subdir| @home_path.join(subdir) }
@@ -198,6 +198,10 @@ module Vagrant
198
198
  error_key(:home_dir_not_accessible)
199
199
  end
200
200
 
201
+ class IncompatibleWithFutureVersion < VagrantError
202
+ error_key(:incompatible_with_future_version)
203
+ end
204
+
201
205
  class ForwardPortAutolistEmpty < VagrantError
202
206
  status_code(27)
203
207
  error_key(:auto_empty, "vagrant.actions.vm.forward_ports")
@@ -4,6 +4,14 @@ module Vagrant
4
4
  def network_scripts_dir
5
5
  '/etc/sysconfig/network/'
6
6
  end
7
+ def change_host_name(name)
8
+ # Only do this if the hostname is not already set
9
+ if !vm.channel.test("sudo hostname | grep '#{name}'")
10
+ vm.channel.sudo("echo #{name} > /etc/HOSTNAME")
11
+ vm.channel.sudo("hostname #{name}")
12
+ vm.channel.sudo("sed -i 's@^\\(127[.]0[.]0[.]1[[:space:]]\\+\\)@\\1#{name} #{name.split('.')[0]} @' /etc/hosts")
13
+ end
14
+ end
7
15
  end
8
16
  end
9
17
  end
@@ -117,9 +117,9 @@ module Vagrant
117
117
  end
118
118
 
119
119
  def set_module_paths
120
- @module_paths = {}
120
+ @module_paths = []
121
121
  @expanded_module_paths.each_with_index do |path, i|
122
- @module_paths[path] = File.join(config.pp_path, "modules-#{i}")
122
+ @module_paths << [path, File.join(config.pp_path, "modules-#{i}")]
123
123
  end
124
124
  end
125
125
 
@@ -136,7 +136,8 @@ module Vagrant
136
136
 
137
137
  def run_puppet_client
138
138
  options = [config.options].flatten
139
- options << "--modulepath '#{@module_paths.values.join(':')}'" if !@module_paths.empty?
139
+ module_paths = @module_paths.map { |_, to| to }
140
+ options << "--modulepath '#{module_paths.join(':')}'" if !@module_paths.empty?
140
141
  options << @manifest_file
141
142
  options = options.join(" ")
142
143
 
@@ -68,6 +68,7 @@ module Vagrant
68
68
  begin
69
69
  file.write(config.inline)
70
70
  file.fsync
71
+ file.close
71
72
  yield file.path
72
73
  ensure
73
74
  file.close
@@ -2,5 +2,5 @@ module Vagrant
2
2
  # This will always be up to date with the current version of Vagrant,
3
3
  # since it is used to generate the gemspec and is also the source of
4
4
  # the version for `vagrant -v`
5
- VERSION = "1.0.6"
5
+ VERSION = "1.0.7"
6
6
  end
@@ -5,7 +5,7 @@ Host <%= host_key %>
5
5
  UserKnownHostsFile /dev/null
6
6
  StrictHostKeyChecking no
7
7
  PasswordAuthentication no
8
- IdentityFile <%= private_key_path %>
8
+ IdentityFile "<%= private_key_path %>"
9
9
  IdentitiesOnly yes
10
10
  <% if forward_agent -%>
11
11
  ForwardAgent yes
@@ -74,6 +74,18 @@ en:
74
74
  directory that Vagrant uses must be both readable and writable.
75
75
 
76
76
  You specified: %{home_path}
77
+ incompatible_with_future_version: |-
78
+ It appears that you've ran a newer version of Vagrant on this
79
+ computer. Unfortunately, newer versions of Vagrant change internal
80
+ directory layouts that cause older versions to break. This version
81
+ of Vagrant cannot properly run.
82
+
83
+ If you'd like to start from a clean state, please remove the
84
+ Vagrant state directory: %{path}
85
+
86
+ Warning that this will remove all your boxes and potentially corrupt
87
+ existing Vagrant environments that were running based on the future
88
+ version.
77
89
  interrupted: |-
78
90
  Vagrant exited after cleanup due to external interrupt.
79
91
  multi_vm_required: |-
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_dependency "childprocess", "~> 0.3.1"
19
19
  s.add_dependency "erubis", "~> 2.7.0"
20
20
  s.add_dependency "i18n", "~> 0.6.0"
21
- s.add_dependency "json", "~> 1.5.1"
21
+ s.add_dependency "json", ">= 1.5.1", "< 1.8.0"
22
22
  s.add_dependency "log4r", "~> 1.1.9"
23
23
  s.add_dependency "net-ssh", "~> 2.2.2"
24
24
  s.add_dependency "net-scp", "~> 1.0.4"
metadata CHANGED
@@ -1,271 +1,273 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vagrant
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.7
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 6
10
- version: 1.0.6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Mitchell Hashimoto
14
9
  - John Bender
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2013-01-24 00:00:00 -08:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
23
- requirement: &id001 !ruby/object:Gem::Requirement
13
+ date: 2013-03-14 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: archive-tar-minitar
17
+ requirement: !ruby/object:Gem::Requirement
24
18
  none: false
25
- requirements:
26
- - - "="
27
- - !ruby/object:Gem::Version
28
- hash: 15
29
- segments:
30
- - 0
31
- - 5
32
- - 2
19
+ requirements:
20
+ - - '='
21
+ - !ruby/object:Gem::Version
33
22
  version: 0.5.2
34
- version_requirements: *id001
35
- name: archive-tar-minitar
36
- prerelease: false
37
23
  type: :runtime
38
- - !ruby/object:Gem::Dependency
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - '='
29
+ - !ruby/object:Gem::Version
30
+ version: 0.5.2
31
+ - !ruby/object:Gem::Dependency
32
+ name: childprocess
33
+ requirement: !ruby/object:Gem::Requirement
40
34
  none: false
41
- requirements:
35
+ requirements:
42
36
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 17
45
- segments:
46
- - 0
47
- - 3
48
- - 1
37
+ - !ruby/object:Gem::Version
49
38
  version: 0.3.1
50
- version_requirements: *id002
51
- name: childprocess
52
- prerelease: false
53
39
  type: :runtime
54
- - !ruby/object:Gem::Dependency
55
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
56
42
  none: false
57
- requirements:
43
+ requirements:
58
44
  - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 19
61
- segments:
62
- - 2
63
- - 7
64
- - 0
65
- version: 2.7.0
66
- version_requirements: *id003
45
+ - !ruby/object:Gem::Version
46
+ version: 0.3.1
47
+ - !ruby/object:Gem::Dependency
67
48
  name: erubis
68
- prerelease: false
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.7.0
69
55
  type: :runtime
70
- - !ruby/object:Gem::Dependency
71
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
72
58
  none: false
73
- requirements:
59
+ requirements:
74
60
  - - ~>
75
- - !ruby/object:Gem::Version
76
- hash: 7
77
- segments:
78
- - 0
79
- - 6
80
- - 0
81
- version: 0.6.0
82
- version_requirements: *id004
61
+ - !ruby/object:Gem::Version
62
+ version: 2.7.0
63
+ - !ruby/object:Gem::Dependency
83
64
  name: i18n
84
- prerelease: false
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: 0.6.0
85
71
  type: :runtime
86
- - !ruby/object:Gem::Dependency
87
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
88
74
  none: false
89
- requirements:
75
+ requirements:
90
76
  - - ~>
91
- - !ruby/object:Gem::Version
92
- hash: 1
93
- segments:
94
- - 1
95
- - 5
96
- - 1
97
- version: 1.5.1
98
- version_requirements: *id005
77
+ - !ruby/object:Gem::Version
78
+ version: 0.6.0
79
+ - !ruby/object:Gem::Dependency
99
80
  name: json
100
- prerelease: false
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: 1.5.1
87
+ - - <
88
+ - !ruby/object:Gem::Version
89
+ version: 1.8.0
101
90
  type: :runtime
102
- - !ruby/object:Gem::Dependency
103
- requirement: &id006 !ruby/object:Gem::Requirement
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
104
93
  none: false
105
- requirements:
94
+ requirements:
95
+ - - ! '>='
96
+ - !ruby/object:Gem::Version
97
+ version: 1.5.1
98
+ - - <
99
+ - !ruby/object:Gem::Version
100
+ version: 1.8.0
101
+ - !ruby/object:Gem::Dependency
102
+ name: log4r
103
+ requirement: !ruby/object:Gem::Requirement
104
+ none: false
105
+ requirements:
106
106
  - - ~>
107
- - !ruby/object:Gem::Version
108
- hash: 1
109
- segments:
110
- - 1
111
- - 1
112
- - 9
107
+ - !ruby/object:Gem::Version
113
108
  version: 1.1.9
114
- version_requirements: *id006
115
- name: log4r
116
- prerelease: false
117
109
  type: :runtime
118
- - !ruby/object:Gem::Dependency
119
- requirement: &id007 !ruby/object:Gem::Requirement
110
+ prerelease: false
111
+ version_requirements: !ruby/object:Gem::Requirement
120
112
  none: false
121
- requirements:
113
+ requirements:
122
114
  - - ~>
123
- - !ruby/object:Gem::Version
124
- hash: 3
125
- segments:
126
- - 2
127
- - 2
128
- - 2
129
- version: 2.2.2
130
- version_requirements: *id007
115
+ - !ruby/object:Gem::Version
116
+ version: 1.1.9
117
+ - !ruby/object:Gem::Dependency
131
118
  name: net-ssh
132
- prerelease: false
119
+ requirement: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 2.2.2
133
125
  type: :runtime
134
- - !ruby/object:Gem::Dependency
135
- requirement: &id008 !ruby/object:Gem::Requirement
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
136
128
  none: false
137
- requirements:
129
+ requirements:
138
130
  - - ~>
139
- - !ruby/object:Gem::Version
140
- hash: 31
141
- segments:
142
- - 1
143
- - 0
144
- - 4
145
- version: 1.0.4
146
- version_requirements: *id008
131
+ - !ruby/object:Gem::Version
132
+ version: 2.2.2
133
+ - !ruby/object:Gem::Dependency
147
134
  name: net-scp
148
- prerelease: false
135
+ requirement: !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ~>
139
+ - !ruby/object:Gem::Version
140
+ version: 1.0.4
149
141
  type: :runtime
150
- - !ruby/object:Gem::Dependency
151
- requirement: &id009 !ruby/object:Gem::Requirement
142
+ prerelease: false
143
+ version_requirements: !ruby/object:Gem::Requirement
152
144
  none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- hash: 3
157
- segments:
158
- - 0
159
- version: "0"
160
- version_requirements: *id009
145
+ requirements:
146
+ - - ~>
147
+ - !ruby/object:Gem::Version
148
+ version: 1.0.4
149
+ - !ruby/object:Gem::Dependency
161
150
  name: rake
162
- prerelease: false
151
+ requirement: !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ! '>='
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
163
157
  type: :development
164
- - !ruby/object:Gem::Dependency
165
- requirement: &id010 !ruby/object:Gem::Requirement
158
+ prerelease: false
159
+ version_requirements: !ruby/object:Gem::Requirement
166
160
  none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- hash: 31
171
- segments:
172
- - 0
173
- - 1
174
- - 2
175
- version: 0.1.2
176
- version_requirements: *id010
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ - !ruby/object:Gem::Dependency
177
166
  name: contest
178
- prerelease: false
167
+ requirement: !ruby/object:Gem::Requirement
168
+ none: false
169
+ requirements:
170
+ - - ! '>='
171
+ - !ruby/object:Gem::Version
172
+ version: 0.1.2
179
173
  type: :development
180
- - !ruby/object:Gem::Dependency
181
- requirement: &id011 !ruby/object:Gem::Requirement
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
182
176
  none: false
183
- requirements:
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: 0.1.2
181
+ - !ruby/object:Gem::Dependency
182
+ name: minitest
183
+ requirement: !ruby/object:Gem::Requirement
184
+ none: false
185
+ requirements:
184
186
  - - ~>
185
- - !ruby/object:Gem::Version
186
- hash: 25
187
- segments:
188
- - 2
189
- - 5
190
- - 1
187
+ - !ruby/object:Gem::Version
191
188
  version: 2.5.1
192
- version_requirements: *id011
193
- name: minitest
194
- prerelease: false
195
189
  type: :development
196
- - !ruby/object:Gem::Dependency
197
- requirement: &id012 !ruby/object:Gem::Requirement
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
198
192
  none: false
199
- requirements:
200
- - - ">="
201
- - !ruby/object:Gem::Version
202
- hash: 3
203
- segments:
204
- - 0
205
- version: "0"
206
- version_requirements: *id012
193
+ requirements:
194
+ - - ~>
195
+ - !ruby/object:Gem::Version
196
+ version: 2.5.1
197
+ - !ruby/object:Gem::Dependency
207
198
  name: mocha
208
- prerelease: false
199
+ requirement: !ruby/object:Gem::Requirement
200
+ none: false
201
+ requirements:
202
+ - - ! '>='
203
+ - !ruby/object:Gem::Version
204
+ version: '0'
209
205
  type: :development
210
- - !ruby/object:Gem::Dependency
211
- requirement: &id013 !ruby/object:Gem::Requirement
206
+ prerelease: false
207
+ version_requirements: !ruby/object:Gem::Requirement
208
+ none: false
209
+ requirements:
210
+ - - ! '>='
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ - !ruby/object:Gem::Dependency
214
+ name: rspec-core
215
+ requirement: !ruby/object:Gem::Requirement
212
216
  none: false
213
- requirements:
217
+ requirements:
214
218
  - - ~>
215
- - !ruby/object:Gem::Version
216
- hash: 47
217
- segments:
218
- - 2
219
- - 8
220
- - 0
219
+ - !ruby/object:Gem::Version
221
220
  version: 2.8.0
222
- version_requirements: *id013
223
- name: rspec-core
224
- prerelease: false
225
221
  type: :development
226
- - !ruby/object:Gem::Dependency
227
- requirement: &id014 !ruby/object:Gem::Requirement
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
228
224
  none: false
229
- requirements:
225
+ requirements:
230
226
  - - ~>
231
- - !ruby/object:Gem::Version
232
- hash: 47
233
- segments:
234
- - 2
235
- - 8
236
- - 0
227
+ - !ruby/object:Gem::Version
237
228
  version: 2.8.0
238
- version_requirements: *id014
229
+ - !ruby/object:Gem::Dependency
239
230
  name: rspec-expectations
240
- prerelease: false
231
+ requirement: !ruby/object:Gem::Requirement
232
+ none: false
233
+ requirements:
234
+ - - ~>
235
+ - !ruby/object:Gem::Version
236
+ version: 2.8.0
241
237
  type: :development
242
- - !ruby/object:Gem::Dependency
243
- requirement: &id015 !ruby/object:Gem::Requirement
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
244
240
  none: false
245
- requirements:
241
+ requirements:
246
242
  - - ~>
247
- - !ruby/object:Gem::Version
248
- hash: 47
249
- segments:
250
- - 2
251
- - 8
252
- - 0
243
+ - !ruby/object:Gem::Version
253
244
  version: 2.8.0
254
- version_requirements: *id015
245
+ - !ruby/object:Gem::Dependency
255
246
  name: rspec-mocks
256
- prerelease: false
247
+ requirement: !ruby/object:Gem::Requirement
248
+ none: false
249
+ requirements:
250
+ - - ~>
251
+ - !ruby/object:Gem::Version
252
+ version: 2.8.0
257
253
  type: :development
258
- description: Vagrant is a tool for building and distributing virtualized development environments.
259
- email:
254
+ prerelease: false
255
+ version_requirements: !ruby/object:Gem::Requirement
256
+ none: false
257
+ requirements:
258
+ - - ~>
259
+ - !ruby/object:Gem::Version
260
+ version: 2.8.0
261
+ description: Vagrant is a tool for building and distributing virtualized development
262
+ environments.
263
+ email:
260
264
  - mitchell.hashimoto@gmail.com
261
265
  - john.m.bender@gmail.com
262
- executables:
266
+ executables:
263
267
  - vagrant
264
268
  extensions: []
265
-
266
269
  extra_rdoc_files: []
267
-
268
- files:
270
+ files:
269
271
  - bin/vagrant
270
272
  - CHANGELOG.md
271
273
  - config/default.rb
@@ -678,41 +680,31 @@ files:
678
680
  - vagrant.gemspec
679
681
  - .gitignore
680
682
  - .yardopts
681
- has_rdoc: true
682
683
  homepage: http://vagrantup.com
683
684
  licenses: []
684
-
685
685
  post_install_message:
686
686
  rdoc_options: []
687
-
688
- require_paths:
687
+ require_paths:
689
688
  - lib
690
- required_ruby_version: !ruby/object:Gem::Requirement
689
+ required_ruby_version: !ruby/object:Gem::Requirement
691
690
  none: false
692
- requirements:
693
- - - ">="
694
- - !ruby/object:Gem::Version
695
- hash: 3
696
- segments:
691
+ requirements:
692
+ - - ! '>='
693
+ - !ruby/object:Gem::Version
694
+ version: '0'
695
+ segments:
697
696
  - 0
698
- version: "0"
699
- required_rubygems_version: !ruby/object:Gem::Requirement
697
+ hash: -4595047100771247865
698
+ required_rubygems_version: !ruby/object:Gem::Requirement
700
699
  none: false
701
- requirements:
702
- - - ">="
703
- - !ruby/object:Gem::Version
704
- hash: 23
705
- segments:
706
- - 1
707
- - 3
708
- - 6
700
+ requirements:
701
+ - - ! '>='
702
+ - !ruby/object:Gem::Version
709
703
  version: 1.3.6
710
704
  requirements: []
711
-
712
705
  rubyforge_project: vagrant
713
- rubygems_version: 1.6.2
706
+ rubygems_version: 1.8.23
714
707
  signing_key:
715
708
  specification_version: 3
716
709
  summary: Build and distribute virtualized development environments.
717
710
  test_files: []
718
-