vagrant-vmware-esxi 2.0.5 → 2.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b27af15025065ae2b975b2dace40a65ad09aadab
4
- data.tar.gz: 8d7b51d2ee434aca4c1acb52496907fcf30c9a93
3
+ metadata.gz: 4b492ed5cff029e4fd8de183ed3fe60bb2cf7fa2
4
+ data.tar.gz: 398277bd2f8d457495d20364d02f8af7920e15d3
5
5
  SHA512:
6
- metadata.gz: 7ffacc56f89bcdcba403c52a151bfa92c5ba3dcbfeaf69abc6a0e5ebb2db140d1b1bdd3a16bd5f3792625b05d174bf7705f138a986dd20e3ef6f6f8acf90df23
7
- data.tar.gz: 02f91eb5356872ea1d301e1e027940f1a960c3ec136d6cc1e406349eab36e2f65a13998725e533e0e119652f4f8d92de8756c6b0fdcf7576266bea8f6a0d77a9
6
+ metadata.gz: fb9b631795bd52722a72fe6d2da9409a461680e90c4b2192867f4f0c46438b64b3c13885e0985e78442f1ad834ec14972fac0510d154c39458ae8882cac27827
7
+ data.tar.gz: 20c7f5420df573bd8b954fe4b31845129066c88b59b5ae4495c11d3f2f841e555f10df8c6ec638eb82555176101c28048f7c3fb3d5846545629166fdc6779664
data/Gemfile CHANGED
@@ -1,14 +1,9 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in vagrant-exsi.gemspec
4
- #gemspec
5
-
6
3
  group :development do
7
4
  gem 'vagrant', git: 'https://github.com/hashicorp/vagrant.git'
8
- #gem 'vagrant-vmware-esxi', path: '.'
9
5
  end
10
6
 
11
7
  group :plugins do
12
- #gem 'vagrant-vmware-esxi', path: '.'
13
8
  gemspec
14
9
  end
data/README.md CHANGED
@@ -258,10 +258,16 @@ Known issues with vmware_esxi
258
258
  * Cleanup doesn't always destroy a VM that has been partially built. Use the local_allow_overwrite = 'True' option if you need to force a rebuild, or you can delete the vm using the VSphere client.
259
259
  * ovftool installer for windows doesn't put ovftool.exe in your path. You can manually set your path, or install ovftool in the \HashiCorp\Vagrant\bin directory.
260
260
  * In general I find the vagrant NFS synced folders a little 'flaky'...
261
+ * V2.0.1 - 2.0.5 is not compatible with Windows (to support ed25519 ssh keys, net-ssh requires libsodium but it's not compatible with Windows). Update to a newer version.
261
262
 
262
263
 
263
264
  Version History
264
265
  ---------------
266
+ * 2.0.6 Fix Windows compatibility by not supporting ed25519 ssh keys. When net-ssh 5.x is released AND vagrant allows it's use, I will support ed25519 again.
267
+ Fix, encode '/' in esxi passwords.
268
+ Fix, Get local IP address for NFS syncd folders. Filter out localhost 127.0.0.0/8.
269
+ Work-around 'prompt:' issues with unsupported consoles. Cygwin & gitbash, for example.
270
+
265
271
  * 2.0.5 Performance enhancement. Guest IP caching
266
272
  Performance enhancement. Optimize esxi connectivity checks.
267
273
  Performance enhancement & bugfix. Get local IP address for NFS syncd folders.
@@ -473,6 +473,7 @@ module VagrantPlugins
473
473
  " Please download and "\
474
474
  ' install from http://www.vmware.com.'
475
475
  end
476
+
476
477
  ovf_cmd = "ovftool --noSSLVerify #{overwrite_opts} "\
477
478
  "#{netOpts} -dm=#{guest_disk_type} #{local_laxoption} "\
478
479
  "-ds=\"#{@guestvm_dsname}\" --name=\"#{desired_guest_name}\" "\
@@ -487,7 +488,11 @@ module VagrantPlugins
487
488
  @logger.info("vagrant-vmware-esxi, createvm: ovf_cmd #{ovf_cmd}")
488
489
  puts "ovftool command: #{ovf_cmd}"
489
490
  elsif config.debug =~ %r{true}i
490
- ovf_cmd_nopw = ovf_cmd.gsub(/#{$encoded_esxi_password}/, '******')
491
+ if $encoded_esxi_password == ''
492
+ ovf_cmd_nopw = ovf_cmd
493
+ else
494
+ ovf_cmd_nopw = ovf_cmd.gsub(/#{$encoded_esxi_password}/, '******')
495
+ end
491
496
  puts "ovftool command: #{ovf_cmd_nopw}"
492
497
  end
493
498
  unless system "#{ovf_cmd}"
@@ -33,12 +33,25 @@ module VagrantPlugins
33
33
  # Prompt for password
34
34
  #
35
35
  begin
36
- print "#{config.esxi_hostname} password:"
36
+ print "#{config.esxi_username}@#{config.esxi_hostname} password:"
37
37
  $esxi_password = STDIN.noecho(&:gets).chomp
38
38
  puts ''
39
39
  rescue
40
- raise Errors::ESXiError,
41
- message: 'Prompt for password error???'
40
+ begin
41
+ # There is something funky with STDIN... (unsupported console)
42
+ puts ''
43
+ puts ''
44
+ puts 'Error! Your console doesn\'t support hiding input. We\'ll ask for'
45
+ puts 'input again below, but we WILL NOT be able to hide input. If this'
46
+ puts 'is a problem for you, ctrl-C / [ENTER] to exit and fix your stdin.'
47
+ puts ''
48
+ print "#{config.esxi_username}@#{config.esxi_hostname} password:"
49
+ $esxi_password = $stdin.readline().chomp
50
+ puts ''
51
+ rescue
52
+ raise Errors::ESXiError,
53
+ message: 'Prompt for password error???'
54
+ end
42
55
  end
43
56
  elsif config.esxi_password =~ %r{^env:}i
44
57
  #
@@ -84,9 +97,7 @@ module VagrantPlugins
84
97
  #
85
98
  $esxi_password = ''
86
99
  esxi_password_key = config.esxi_password.gsub(/key:/i, '').chomp
87
- if esxi_password_key.empty?
88
- config.local_private_keys = config.system_private_keys_path
89
- else
100
+ unless esxi_password_key.empty?
90
101
  config.local_private_keys = esxi_password_key
91
102
  end
92
103
  else
@@ -106,7 +117,8 @@ module VagrantPlugins
106
117
  '/', '%2f').gsub('\\','%5c').gsub(\
107
118
  '"', '%22').gsub('\'','%27').gsub(\
108
119
  '*', '%2a').gsub('?', '%3f').gsub(\
109
- '$', '%24').gsub(' ', '%20')
120
+ '$', '%24').gsub(' ', '%20').gsub(\
121
+ '/', '%2f')
110
122
 
111
123
  @logger.info('vagrant-vmware-esxi, connect_esxi: local_private_keys: '\
112
124
  "#{config.local_private_keys}")
@@ -115,7 +127,9 @@ module VagrantPlugins
115
127
  # Test ESXi host connectivity
116
128
  #
117
129
  begin
130
+ puts "RUBY_PLATFORM: #{RUBY_PLATFORM}" if config.debug =~ %r{true}i
118
131
  puts "Testing esxi connectivity" if config.debug =~ %r{ip}i
132
+ puts "esxi_ssh_keys: #{config.local_private_keys}" if config.debug =~ %r{ip}i
119
133
  Net::SSH.start(config.esxi_hostname, config.esxi_username,
120
134
  password: $esxi_password,
121
135
  port: config.esxi_hostport,
@@ -33,7 +33,7 @@ module VagrantPlugins
33
33
  puts "Get local IP address for NFS. (alt)" if env[:machine].provider_config.debug =~ %r{ip}i
34
34
  # Alt method. Get list of ip_addresses on system and use the first.
35
35
  Socket.ip_address_list.each do |ip|
36
- if (ip.ip_address =~ /^(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})$/) && (ip.ip_address !~ /^127.0.0/)
36
+ if (ip.ip_address =~ /^(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})$/) && (ip.ip_address !~ /^127./)
37
37
  env[:nfs_host_ip] = ip.ip_address
38
38
  break
39
39
  end
@@ -87,12 +87,14 @@ module VagrantPlugins
87
87
  @debug = 'False'
88
88
  @saved_ipaddress = nil
89
89
  @saved_ipaddress_count = 0
90
- @system_private_keys_path = [
90
+ @system_private_keys = [
91
91
  '~/.ssh/id_rsa',
92
92
  '~/.ssh/id_ecdsa',
93
- '~/.ssh/id_ed25519',
94
93
  '~/.ssh/id_dsa'
95
94
  ]
95
+ #'~/.ssh/id_ed25519',
96
+ # Removed support for ed25519 because libsodium is not compatible with windows.
97
+ # Should be added back when net-ssh 5.0 is out of beta.
96
98
  @supported_guest_virtualhw_versions = [
97
99
  4,7,8,9,10,11,12,13
98
100
  ]
@@ -367,7 +369,7 @@ module VagrantPlugins
367
369
 
368
370
  @esxi_virtual_network = ['--NotSet--'] if @esxi_virtual_network.nil?
369
371
 
370
- @local_private_keys = @system_private_keys_path if @local_private_keys == nil
372
+ @local_private_keys = @system_private_keys if @local_private_keys == nil
371
373
 
372
374
  # @guest_virtualhw_version = @guest_virtualhw_version.to_i unless @guest_virtualhw_version.nil?
373
375
 
@@ -1,7 +1,7 @@
1
1
  # VERSION
2
2
  module VagrantPlugins
3
3
  module ESXi
4
- VERSION = '2.0.5'
4
+ VERSION = '2.0.6'
5
5
  $vagrant_vmware_esxi_version = VERSION
6
6
  end
7
7
  end
@@ -20,13 +20,10 @@ Gem::Specification.new do |s|
20
20
  s.add_runtime_dependency 'log4r', '~> 1.1'
21
21
  s.add_runtime_dependency "iniparse", '> 1.0'
22
22
  s.add_runtime_dependency "nokogiri", '> 1.5'
23
- #s.add_runtime_dependency "net-ssh", '> 4.0'
24
- s.add_runtime_dependency 'rbnacl', '>= 3.2', '< 4.0'
25
- s.add_runtime_dependency 'rbnacl-libsodium'
26
- s.add_runtime_dependency 'bcrypt_pbkdf', '>= 1.0'
27
23
 
28
- #s.add_development_dependency "bundler"
29
- #s.add_development_dependency "rspec-core"
24
+ # Needed only to support ed25519 ssh keys with net-ssh 4.x. Won't need this for net-ssh 5.x.
25
+ #s.add_runtime_dependency 'rbnacl', '>= 4.0', '< 5.0'
26
+ #s.add_runtime_dependency 'rbnacl-libsodium', '= 1.0.16.1'
27
+ #s.add_runtime_dependency 'bcrypt_pbkdf', '>= 1.0'
30
28
 
31
29
  end
32
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vmware-esxi
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Senkerik
@@ -66,54 +66,6 @@ dependencies:
66
66
  - - ">"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.5'
69
- - !ruby/object:Gem::Dependency
70
- name: rbnacl
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '3.2'
76
- - - "<"
77
- - !ruby/object:Gem::Version
78
- version: '4.0'
79
- type: :runtime
80
- prerelease: false
81
- version_requirements: !ruby/object:Gem::Requirement
82
- requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- version: '3.2'
86
- - - "<"
87
- - !ruby/object:Gem::Version
88
- version: '4.0'
89
- - !ruby/object:Gem::Dependency
90
- name: rbnacl-libsodium
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :runtime
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- - !ruby/object:Gem::Dependency
104
- name: bcrypt_pbkdf
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '1.0'
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '1.0'
117
69
  description: A Vagrant plugin that adds a VMware ESXi provider support
118
70
  email: josenk@jintegrate.co
119
71
  executables: []