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 +4 -4
- data/README.md +3 -3
- data/example_box/Vagrantfile +3 -3
- data/lib/vagrant-vmware-esxi/action/createvm.rb +41 -27
- data/lib/vagrant-vmware-esxi/config.rb +2 -0
- data/lib/vagrant-vmware-esxi/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 594eb32be88981dfc5c975160b86c593020bc751
|
4
|
+
data.tar.gz: '0134082a6cea29094f8ae207b32614e9c1ac0b84'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
#
|
114
|
-
# You
|
115
|
-
# The default is
|
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
|
data/example_box/Vagrantfile
CHANGED
@@ -64,9 +64,9 @@ Vagrant.configure("2") do |config|
|
|
64
64
|
# Default port 22
|
65
65
|
#esxi.esxi_hostport = 22
|
66
66
|
|
67
|
-
#
|
68
|
-
# You
|
69
|
-
# The default is
|
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
|
-
'
|
80
|
-
'
|
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
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
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.
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
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',
|