chef-provisioning-vsphere 0.5.7.dev2 → 0.5.7.dev3

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: 0ac4e44b90a73a34582f910658b09f1e2ad5f00a
4
- data.tar.gz: 3c107f070e95134e88e1228ef526eaae75e9830e
3
+ metadata.gz: 0f778a9ae4af6203b2d0eb7f5663c1b1b8abada3
4
+ data.tar.gz: c8faca15f12bd087a48a16fd8748c089e7bc71b5
5
5
  SHA512:
6
- metadata.gz: 98f85721b24298d0bf5b5338583ccd3546915f475457ce0644042f64a153d73ab30eb67a170f128f84b6c5b30f286bdcd78fec7a7481dc531af6f8aea930dbcf
7
- data.tar.gz: 4645e6b4504f0459e9f9af212b5c1e2ce23e28badbca0369abb4f300fc587b0777258105dbafe214e3341d0bab98d7f83d5a42cbda2cf4db53ec71bbb0f747e5
6
+ metadata.gz: 08b07fcb55fadc5d25b1f747c40a6aa342147f797b81095760e545bc8af7e87844260e6fad8c36280409eb70a13aa694cb01a09fdc08aac7dc9563cf4262f621
7
+ data.tar.gz: df5967c9c2654ca2a40705248c9cd88c450f1a338a8635df26838177ebd7996190e7d4e92f66ab38deb7f4309dcbe40586e7f7726fb4ed6c5a09b679bca0a52e
@@ -1,3 +1,3 @@
1
1
  module ChefProvisioningVsphere
2
- VERSION = '0.5.7.dev2'
2
+ VERSION = '0.5.7.dev3'
3
3
  end
@@ -47,14 +47,6 @@ module ChefProvisioningVsphere
47
47
  )
48
48
  end
49
49
 
50
- def vm_started?(vm, wait_on_port = 22)
51
- return false if vm.nil?
52
- state = vm.runtime.powerState
53
- return false unless state == 'poweredOn'
54
- return false unless port_ready?(vm, wait_on_port)
55
- return true
56
- end
57
-
58
50
  def vm_stopped?(vm)
59
51
  return true if vm.nil?
60
52
  state = vm.runtime.powerState
@@ -78,31 +70,6 @@ module ChefProvisioningVsphere
78
70
  end
79
71
  end
80
72
 
81
- def port_ready?(vm, port)
82
- vm_ip = vm.guest.ipAddress
83
- return false if vm_ip.nil?
84
-
85
- begin
86
- tcp_socket = TCPSocket.new(vm_ip, port)
87
- readable = IO.select([tcp_socket], nil, nil, 5)
88
- if readable
89
- true
90
- else
91
- false
92
- end
93
- rescue Errno::ETIMEDOUT
94
- false
95
- rescue Errno::EPERM
96
- false
97
- rescue Errno::ECONNREFUSED
98
- false
99
- rescue Errno::EHOSTUNREACH, Errno::ENETUNREACH
100
- false
101
- ensure
102
- tcp_socket && tcp_socket.close
103
- end
104
- end
105
-
106
73
  #folder could be like: /Level1/Level2/folder_name
107
74
  def find_folder(folder_name)
108
75
  base = datacenter.vmFolder
@@ -139,56 +106,6 @@ module ChefProvisioningVsphere
139
106
  vm.config.hardware.device.select {|d| d.is_a?(RbVmomi::VIM::VirtualEthernetCard)}
140
107
  end
141
108
 
142
- def do_vm_clone(action_handler, vm_template, vm_name, options)
143
- deviceAdditions = []
144
-
145
- clone_spec = RbVmomi::VIM.VirtualMachineCloneSpec(
146
- location: relocate_spec_for(vm_template, options),
147
- powerOn: false,
148
- template: false,
149
- config: RbVmomi::VIM.VirtualMachineConfigSpec(
150
- :cpuHotAddEnabled => true,
151
- :memoryHotAddEnabled => true,
152
- :cpuHotRemoveEnabled => true,
153
- :deviceChange => Array.new)
154
- )
155
-
156
- clone_spec.customization = customization_options_from(action_handler, vm_template, vm_name, options)
157
-
158
- unless options[:annotation].to_s.nil?
159
- clone_spec.config.annotation = options[:annotation]
160
- end
161
-
162
- unless options[:num_cpus].to_s.nil?
163
- clone_spec.config.numCPUs = options[:num_cpus]
164
- end
165
-
166
- unless options[:memory_mb].to_s.nil?
167
- clone_spec.config.memoryMB = options[:memory_mb]
168
- end
169
-
170
- unless options[:network_name].nil?
171
- deviceAdditions, changes = network_device_changes(action_handler, vm_template, options)
172
- clone_spec.config.deviceChange = changes
173
- end
174
-
175
- vm_folder = find_folder(options[:vm_folder])
176
- vm_template.CloneVM_Task(
177
- name: vm_name,
178
- folder: vm_folder,
179
- spec: clone_spec
180
- ).wait_for_completion
181
-
182
- vm = find_vm(vm_folder, vm_name)
183
-
184
- if options[:additional_disk_size_gb].to_i > 0
185
- task = vm.ReconfigVM_Task(:spec => RbVmomi::VIM.VirtualMachineConfigSpec(:deviceChange => [virtual_disk_for(vm, options)]))
186
- task.wait_for_completion
187
- end
188
-
189
- vm
190
- end
191
-
192
109
  def add_extra_nic(action_handler, vm_template, options, vm)
193
110
  deviceAdditions, changes = network_device_changes(action_handler, vm_template, options)
194
111
 
@@ -314,7 +231,9 @@ module ChefProvisioningVsphere
314
231
  def find_entity(name, parent_folder, &block)
315
232
  parts = name.split('/').reject(&:empty?)
316
233
  parts.each do |item|
234
+ Chef::Log.debug("Identifying entity part: #{item} in folder type: #{parent_folder.class}")
317
235
  if parent_folder.is_a? RbVmomi::VIM::Folder
236
+ Chef::Log.debug('Parent folder is a folder')
318
237
  parent_folder = parent_folder.childEntity.find { |f| f.name == item }
319
238
  else
320
239
  parent_folder = block.call(parent_folder, item)
@@ -344,13 +263,21 @@ module ChefProvisioningVsphere
344
263
  end
345
264
 
346
265
  def find_pool(pool_name)
266
+ Chef::Log.debug("Finding pool: #{pool_name}")
347
267
  pool = find_entity(pool_name, datacenter.hostFolder) do |parent, part|
348
268
  case parent
349
269
  when RbVmomi::VIM::ClusterComputeResource || RbVmomi::VIM::ComputeResource
270
+ Chef::Log.debug("finding #{part} in a #{parent.class}: #{parent.name}")
271
+ Chef::Log.debug("Parent root pool has #{parent.resourcePool.resourcePool.count} pools")
272
+ parent.resourcePool.resourcePool.each { |p| Chef::Log.debug(p.name ) }
350
273
  parent.resourcePool.resourcePool.find { |f| f.name == part }
351
274
  when RbVmomi::VIM::ResourcePool
275
+ Chef::Log.debug("finding #{part} in a Resource Pool: #{parent.name}")
276
+ Chef::Log.debug("Pool has #{parent.resourcePool.count} pools")
277
+ parent.resourcePool.each { |p| Chef::Log.debug(p.name ) }
352
278
  parent.resourcePool.find { |f| f.name == part }
353
279
  else
280
+ Chef::Log.debug("parent of #{part} is unexpected type: #{patrent.class}")
354
281
  nil
355
282
  end
356
283
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-provisioning-vsphere
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7.dev2
4
+ version: 0.5.7.dev3
5
5
  platform: ruby
6
6
  authors:
7
7
  - CenturyLink Cloud
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-13 00:00:00.000000000 Z
11
+ date: 2015-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbvmomi