vagrant-vmware-esxi 1.1.3 → 1.1.4

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