You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2013/03/01 11:04:40 UTC

git commit: VSphere: Added support for StoragePod

Updated Branches:
  refs/heads/master 868aa52a4 -> b922b16a1


VSphere: Added support for StoragePod

Signed-off-by: Michal fojtik <mf...@redhat.com>
TrackedAt: http://tracker.deltacloud.org/patch/a834bcdd870aa2c06e8604081718e7112cdd16a2


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/b922b16a
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/b922b16a
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/b922b16a

Branch: refs/heads/master
Commit: b922b16a1b8f5fe853d4cf4dd2e70b6274b57d6d
Parents: 868aa52
Author: Michal Fojtik <mf...@redhat.com>
Authored: Thu Dec 6 12:49:15 2012 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Fri Mar 1 11:02:14 2013 +0100

----------------------------------------------------------------------
 .../deltacloud/drivers/vsphere/vsphere_client.rb   |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/b922b16a/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb b/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb
index 07a41a7..a4b86ad 100644
--- a/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb
+++ b/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb
@@ -97,10 +97,15 @@ module Deltacloud::Drivers::VSphere
       rootFolder = vsphere.serviceInstance.content.rootFolder
       rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter).each do |dc|
         list_datastores(dc.datastoreFolder).each do  |datastore|
-          vms += datastore.vm.collect { |vm| { :instance => vm, :datastore => datastore.name } unless vm.nil? }
-          stored_tasks(datastore, vsphere) do |task|
-            if task.info.entity.class == RbVmomi::VIM::VirtualMachine
-              vms << { :stored_instance => load_serialized_instance(datastore, task.info.key), :datastore => datastore.name }
+          if datastore.class == RbVmomi::VIM::StoragePod
+            storagepod_name = datastore.summary['name']
+            vms += datastore.childEntity.grep(RbVmomi::VIM::VirtualMachine).collect { |vm| { :instance => vm, :datastore => storagepod_name } }
+          else
+            vms += datastore.vm.collect { |vm| { :instance => vm, :datastore => datastore.name } unless vm.nil? }
+            stored_tasks(datastore, vsphere) do |task|
+              if task.info.entity.class == RbVmomi::VIM::VirtualMachine
+                vms << { :stored_instance => load_serialized_instance(datastore, task.info.key), :datastore => datastore.name }
+              end
             end
           end
         end
@@ -116,6 +121,8 @@ module Deltacloud::Drivers::VSphere
       df.childEntity.each do |object|
         if object.class.to_s == 'Folder'
           datastores += list_datastores(object)
+        elsif object.class.to_s == 'StoragePod'
+          datastores += list_datastores(object)
         else
           datastores << object
         end