vagrant-vmware-esxi 1.1.3 → 1.1.4

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: 8a4b0a4a1d1fb0d75a31e089a5768c08f39e4a97
4
- data.tar.gz: f05e33dc43287a63abe340df0129a6fe1bcaf4b3
3
+ metadata.gz: 594eb32be88981dfc5c975160b86c593020bc751
4
+ data.tar.gz: '0134082a6cea29094f8ae207b32614e9c1ac0b84'
5
5
  SHA512:
6
- metadata.gz: d7cc652733e6811873f6fa2d1abc282120adc43fefee116f271ab96890d236d014b2ce9bf89a3b6b886ab69000d4b4f9b38e522f00bf644f9ff5c8659d641efb
7
- data.tar.gz: 2c5590cb4815ef1a793f8f1c2e74dbda26d13d635a92f2c96d1b193f84b1a6ca69c71e5043c30fd5334eb772d7ffee1712bba54a33db0ae508364504793f6195
6
+ metadata.gz: b0065f5d6e9764cb4035d52304d17748a9e8e10f1d929acc96ea66b32f7fe7e39b6e63ba76aadb9eb6a37978df55d89729b370f8c4cc788a9a2efe68dedfd917
7
+ data.tar.gz: 2de9336efcd152ff7aadfb84ef6f7802a1bfb27c18cddb66937a04faafcdebbb826e33009555cf7dad227a0b5ab2363290c6e4a420ab1fb17038aff6679c1c16
data/README.md CHANGED
@@ -110,9 +110,9 @@ Vagrant.configure("2") do |config|
110
110
  # Default port 22
111
111
  #esxi.esxi_hostport = 22
112
112
 
113
- # REQUIRED! Virtual Network
114
- # You MUST specify a Virtual Network!
115
- # The default is fail if no Virtual Network is set!
113
+ # HIGHLY RECOMMENDED! Virtual Network
114
+ # You should specify a Virtual Network!
115
+ # The default is to use the first found!
116
116
  esxi.virtual_network = "vmnet_example"
117
117
 
118
118
  # OPTIONAL. Specify a Disk Store
@@ -64,9 +64,9 @@ Vagrant.configure("2") do |config|
64
64
  # Default port 22
65
65
  #esxi.esxi_hostport = 22
66
66
 
67
- # REQUIRED! Virtual Network
68
- # You MUST specify a Virtual Network!
69
- # The default is fail if no Virtual Network is set!
67
+ # HIGHLY RECOMMENDED! Virtual Network
68
+ # You should specify a Virtual Network!
69
+ # The default is to use the first found!
70
70
  esxi.virtual_network = "vmnet_example"
71
71
 
72
72
  # OPTIONAL. Specify a Disk Store
@@ -76,10 +76,14 @@ module VagrantPlugins
76
76
  #
77
77
  # Figure out DataStore
78
78
  r = ssh config.esxi_hostname,
79
- 'esxcli storage filesystem list | '\
80
- 'grep "/vmfs/volumes/.*true VMFS" | sort -nk7'
79
+ 'df | grep "^[VMFS|NFS]" | sort -nk4 |'\
80
+ 'sed "s|.*/vmfs/volumes/||g" | tail +2'
81
81
 
82
- availvolumes = r.stdout.dup
82
+ availvolumes = r.stdout.dup.split(/\n/)
83
+ if (config.debug =~ %r{true}i) ||
84
+ (config.debug =~ %r{yes}i)
85
+ puts "Available DS Volumes: #{availvolumes}"
86
+ end
83
87
  if (r == '') || (r.exit_code != 0)
84
88
  raise Errors::ESXiError,
85
89
  message: 'Unable to get list of Disk Stores:'
@@ -92,26 +96,20 @@ module VagrantPlugins
92
96
  desired_ds = config.vm_disk_store.to_s
93
97
  end
94
98
 
95
- for line in availvolumes.each_line do
96
- if line =~ %r{ #{desired_ds} }
97
- guestvm_ds = line.split(' ')[0].to_s
98
- guestvm_dsname = line.split(' ')[1]
99
- break
100
- end
101
- guestvm_ds = line.split(' ')[0].to_s
102
- guestvm_dsname = line.split(' ')[1]
99
+ if availvolumes.include? desired_ds
100
+ guestvm_dsname = desired_ds
101
+ else
102
+ guestvm_dsname = availvolumes.last
103
103
  end
104
104
 
105
105
  if (guestvm_dsname != desired_ds) &&
106
106
  !config.vm_disk_store.nil?
107
107
  env[:ui].info I18n.t('vagrant_vmware_esxi.vagrant_vmware_esxi_message',
108
- message: 'WARNING : '\
108
+ message: 'WARNING : '\
109
109
  "#{config.vm_disk_store} not "\
110
- "found, using #{guestvm_dsname}.")
110
+ "found, using #{guestvm_dsname}")
111
111
  end
112
112
 
113
- dst_dir = "#{guestvm_ds}/#{guestvm_vmname}"
114
- @logger.info("vagrant-vmware-esxi, createvm: dst_dir: #{dst_dir}")
115
113
  @logger.info('vagrant-vmware-esxi, createvm: '\
116
114
  "guestvm_dsname: #{guestvm_dsname}")
117
115
 
@@ -122,27 +120,39 @@ module VagrantPlugins
122
120
  'esxcli network vswitch standard list |'\
123
121
  'grep Portgroups | sed "s/^ Portgroups: //g" |'\
124
122
  'sed "s/,.*$//g"'
125
- availnetworks = r.stdout.dup
123
+ availnetworks = r.stdout.dup.split(/\n/)
124
+ if (config.debug =~ %r{true}i) ||
125
+ (config.debug =~ %r{yes}i)
126
+ puts "Available Networks: #{availnetworks}"
127
+ end
126
128
  if (availnetworks == '') || (r.exit_code != 0)
127
129
  raise Errors::ESXiError,
128
130
  message: "Unable to get list of Virtual Networks:\n"\
129
131
  "#{r.stderr}"
130
132
  end
131
133
 
132
- guestvm_network = nil
133
- availnetworkslist = availnetworks.dup
134
- for line in availnetworks.each_line do
135
- if line =~ %r{#{config.virtual_network}}
136
- guestvm_network = config.virtual_network
137
- end
134
+ if config.virtual_network.nil?
135
+ guestvm_network = availnetworks.first
136
+ elsif availnetworks.include? config.virtual_network
137
+ guestvm_network = config.virtual_network
138
+ else
139
+ guestvm_network = availnetworks.first
138
140
  end
139
141
 
140
- if guestvm_network.nil?
141
- raise Errors::ESXiConfigError,
142
- message: "You MUST specify a valid virtual network.\n"\
143
- "virtual_network (#{config.virtual_network}).\n"\
144
- "Available Virtual Networks:\n#{availnetworkslist}"
142
+ if guestvm_network != config.virtual_network
143
+ if config.virtual_network.nil?
144
+ env[:ui].info I18n.t('vagrant_vmware_esxi.vagrant_vmware_esxi_message',
145
+ message: 'WARNING : '\
146
+ "config.virtual_network not "\
147
+ "set, using #{availnetworks.first}")
148
+ else
149
+ env[:ui].info I18n.t('vagrant_vmware_esxi.vagrant_vmware_esxi_message',
150
+ message: 'WARNING : '\
151
+ "#{config.virtual_network} not "\
152
+ "found, using #{availnetworks.first}")
153
+ end
145
154
  end
155
+
146
156
  @logger.info('vagrant-vmware-esxi, createvm: '\
147
157
  "virtual_network: #{guestvm_network}")
148
158
 
@@ -275,6 +285,10 @@ module VagrantPlugins
275
285
 
276
286
  # Security bug if unremarked! Password will be exposed in log file.
277
287
  # @logger.info("vagrant-vmware-esxi, createvm: ovf_cmd #{ovf_cmd}")
288
+ if (config.debug =~ %r{true}i) ||
289
+ (config.debug =~ %r{yes}i)
290
+ puts "ovftool command: #{ovf_cmd}"
291
+ end
278
292
  unless system "#{ovf_cmd}"
279
293
  raise Errors::OVFToolError, message: ''
280
294
  end
@@ -20,6 +20,7 @@ module VagrantPlugins
20
20
  attr_accessor :numvcpus
21
21
  attr_accessor :custom_vmx_settings
22
22
  attr_accessor :allow_overwrite
23
+ attr_accessor :debug
23
24
  attr_accessor :system_private_keys_path
24
25
  def initialize
25
26
  @esxi_hostname = nil
@@ -38,6 +39,7 @@ module VagrantPlugins
38
39
  @numvcpus = UNSET_VALUE
39
40
  @custom_vmx_settings = UNSET_VALUE
40
41
  @allow_overwrite = 'False'
42
+ @debug = 'False'
41
43
  @system_private_keys_path = [
42
44
  '~/.ssh/id_rsa',
43
45
  '~/.ssh/id_ecdsa',
@@ -1,6 +1,6 @@
1
1
  # VERSION
2
2
  module VagrantPlugins
3
3
  module ESXi
4
- VERSION = '1.1.3'
4
+ VERSION = '1.1.4'
5
5
  end
6
6
  end
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: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Senkerik