vagrant-vmware-esxi 2.0.5 → 2.0.6

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: 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: []