diff options
author | Randall Burt <randall.burt@rackspace.com> | 2015-11-04 12:25:36 -0600 |
---|---|---|
committer | Jason Dunsmore <jasondunsmore@gmail.com> | 2015-11-05 14:04:05 -0600 |
commit | 693e8605fb697583f2ac0679a61a2945eab44d00 (patch) | |
tree | 5ef645a96480041e27b2680085805185533c09c3 /contrib | |
parent | 2fd73674753455a23871e9bcfb47078e498e9c97 (diff) | |
download | heat-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.py | 13 | ||||
-rw-r--r-- | contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py | 3 |
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) |