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 +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',
|