fog / fog-vsphere

Fog for vSphere
MIT License
35 stars 62 forks source link

list_resource_pools returns incorrect resource pool name #256

Closed rlazoryshchak closed 3 years ago

rlazoryshchak commented 3 years ago

When folder_path(resource_pool) for example '/Datacenters/DC1/host/vc-qa-DC1-cluster1/Resources/RP1/Resources' Then we get unexpected resource pool name:

[2] pry(main)> path='/Datacenters/DC1/host/vc-qa-DC1-cluster1/Resources/RP1/Resources'
=> "/Datacenters/DC1/host/vc-qa-DC1-cluster1/Resources/RP1/Resources"
[3] pry(main)> path.gsub(/^.*Resources(\/|)/, '')
=> ""
[4] pry(main)> path.sub(/^.*Resources(\/|)/, '')
=> ""

But should be "RP1/Resources"

rlazoryshchak commented 3 years ago

@ezr-ondrej or @chris1984 could someone of you check this:

fog-vsphere/lib/fog/vsphere/requests/compute/list_resource_pools.rb:39

name = folder_path(resource_pool).gsub(/^.*Resources(\/|)/, '')
name = 'Resources' if name.empty?

could be replaced by:

path = folder_path(resource_pool)
name = /(?<=Resources\/)(.+)/.match(path) ? $1 : 'Resources'