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 2012/05/23 12:42:02 UTC

[4/4] git commit: fix nil error when load balancer has nothing attached (no groups)

fix nil error when load balancer has nothing attached (no groups)


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

Branch: refs/heads/master
Commit: 7d001b88ba5ee8950780f5245938757a37209e4b
Parents: 3cef495
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Sun May 20 09:53:12 2012 +1000
Committer: Michal fojtik <mf...@redhat.com>
Committed: Wed May 23 12:36:46 2012 +0200

----------------------------------------------------------------------
 server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb |   30 +++++++++------
 1 files changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7d001b88/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb b/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb
index e4a9d07..4d6f290 100644
--- a/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb
+++ b/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb
@@ -1073,20 +1073,26 @@ eofwopxml
           })
           begin
             slb_rule = client.get_efm_configuration(opts[:id], 'SLB_RULE')
-            slb_rule['efm'][0]['loadbalancer'][0]['groups'][0]['group'][0]['targets'][0]['target'].each do |server|
+            if slb_rule['efm'][0]['loadbalancer'][0]['groups']
 
-              balancer.instances << Instance::new(
-                :id                => server['serverId'][0],
-                :name              => server['serverName'][0],
-                :realm_id          => realm,
-                :private_addresses => [InstanceAddress.new(server['ipAddress'][0])]
-              )
+              slb_rule['efm'][0]['loadbalancer'][0]['groups'][0]['group'].each do |group|
+
+                group['targets'][0]['target'].each do |server|
+
+                  balancer.instances << Instance::new(
+                    :id                => server['serverId'][0],
+                    :name              => server['serverName'][0],
+                    :realm_id          => realm,
+                    :private_addresses => [InstanceAddress.new(server['ipAddress'][0])]
+                  )
 
-              balancer.add_listener({
-                :protocol           => slb_rule['efm'][0]['loadbalancer'][0]['groups'][0]['group'][0]['protocol'][0],
-                :load_balancer_port => slb_rule['efm'][0]['loadbalancer'][0]['groups'][0]['group'][0]['port1'][0],
-                :instance_port      => server['port1'][0]
-              })
+                  balancer.add_listener({
+                    :protocol           => slb_rule['efm'][0]['loadbalancer'][0]['groups'][0]['group'][0]['protocol'][0],
+                    :load_balancer_port => slb_rule['efm'][0]['loadbalancer'][0]['groups'][0]['group'][0]['port1'][0],
+                    :instance_port      => server['port1'][0]
+                  })
+                end
+              end
             end
 
             slb_vip = slb_rule['efm'][0]['slbVip'][0]