如何使用rbvmomi gem快速搜索VM,因为递归会花费太多时间?

时间:2019-11-29 08:55:41

标签: ruby vsphere rbvmomi

我对红宝石很陌生。任何帮助将不胜感激。

我试图使用rbvmomi gem增加vm的磁盘空间,但是发现vm占用太多时间,因为要在每个文件夹和子文件夹中查找vm 还有其他快速找到虚拟机的方法吗?

代码-

require 'rubygems'
require 'rbvmomi'
def find_vms(folder,dc)

  folder.childEntity.each do |x|
     vm_name, junk = x.to_s.split('(')
     case vm_name
      when "Folder"
       find_vms(x,dc)
      when "VirtualMachine"
       if x.name=="VMNAME"

        # code for disk expansion

      end
   end
  end
end


vim = RbVmomi::VIM.connect :host =>'--hostname--', :user => '--username', :password => '--password--', :insecure => true
VIM = RbVmomi::VIM

root_folder = vim.serviceInstance.content.rootFolder

#  list of datacenters
dcs=['dc-1','dc-2']

dcs.each do |dc|
 find_vms(vim.serviceInstance.find_datacenter(dc).vmFolder,dc)     
end

0 个答案:

没有答案