summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorRandall Burt <randall.burt@rackspace.com>2015-11-04 12:25:36 -0600
committerJason Dunsmore <jasondunsmore@gmail.com>2015-11-05 14:04:05 -0600
commit693e8605fb697583f2ac0679a61a2945eab44d00 (patch)
tree5ef645a96480041e27b2680085805185533c09c3 /contrib
parent2fd73674753455a23871e9bcfb47078e498e9c97 (diff)
downloadheat-693e8605fb697583f2ac0679a61a2945eab44d00.tar.gz
Always process node addresses
Never return a node without an address, otherwise the call to CLB will fail. Change-Id: I443b568f509246f8d38a8ddcf0ce4b1d1fd0c689
Diffstat (limited to 'contrib')
-rw-r--r--contrib/rackspace/rackspace/resources/cloud_loadbalancer.py13
-rw-r--r--contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py3
2 files changed, 7 insertions, 9 deletions
diff --git a/contrib/rackspace/rackspace/resources/cloud_loadbalancer.py b/contrib/rackspace/rackspace/resources/cloud_loadbalancer.py
index fcd834fc8..079fbfa4c 100644
--- a/contrib/rackspace/rackspace/resources/cloud_loadbalancer.py
+++ b/contrib/rackspace/rackspace/resources/cloud_loadbalancer.py
@@ -503,14 +503,11 @@ class CloudLoadBalancer(resource.Resource):
return False
def _process_node(self, node):
- if not node.get(self.NODE_ADDRESSES):
- yield node
- else:
- for addr in node.get(self.NODE_ADDRESSES):
- norm_node = copy.deepcopy(node)
- norm_node['address'] = addr
- del norm_node[self.NODE_ADDRESSES]
- yield norm_node
+ for addr in node.get(self.NODE_ADDRESSES, []):
+ norm_node = copy.deepcopy(node)
+ norm_node['address'] = addr
+ del norm_node[self.NODE_ADDRESSES]
+ yield norm_node
def _process_nodes(self, node_list):
node_itr = six.moves.map(self._process_node, node_list)
diff --git a/contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py b/contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py
index d35890953..37a1f83c4 100644
--- a/contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py
+++ b/contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py
@@ -424,7 +424,8 @@ class LoadBalancerTest(common.HeatTestCase):
def test_process_node(self):
nodes = [{'addresses': ['1234'], 'port': 80, 'enabled': True},
{'addresses': ['4567', '8901', '8903'], 'port': 80,
- 'enabled': True}]
+ 'enabled': True},
+ {'addresses': [], 'port': 80, 'enabled': True}]
rsrc, fake_lb = self._mock_loadbalancer(self.lb_template,
self.lb_name,
self.expected_body)