سؤال

Trying and trying to do something very simple in fog 1.9 with the vsphere provider. The examples in the little documentation there is not working for me.

I want to list all VMs in a folder. Simple eh?

Tried...

credentials = {
    :provider => "vsphere",
    :vsphere_username => user,
    :vsphere_password=> pass,
    :vsphere_server => "vc_name",
    :vsphere_ssl    => true,
    :vsphere_expected_pubkey_hash => "1466f20c1b3f990a2a018dc2ca22a79fc2d0284ab4aac534c47blah"
}

compute = Fog::Compute.new(credentials)
vms = compute.servers.all('folder' => '/Datacenters/Ewl/Self-Service')

pp vms

This connects and churns away and RETURNS ALL VMs IN THE DATACENTER and not just the folder. Grr.

I've tried lots of variations on the folder variable e.g.

vms = compute.servers.all('folder' => '/Hosts & Clusters/Ewl1_vm/Self-Service')
vms = compute.servers.all('folder' => 'Self-Service')
vms = compute.servers.all('folder' => 'Self-Service','datacenter' => 'Ewl')

But all do the same thing.

I've worked through the code and it's not helped me really.

Help!

هل كانت مفيدة؟

المحلول

If I'm understanding what your datacenter and folder name are, then the simple way to do this is:

vms = compute.list_virtual_machines(datacenter: 'Ewl', folder: 'Self-Service')

'folder' in the .servers.all filter hypothetically should work, but you are bound to find surprises with hidden paths, more than 1 datacenter, etc.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top