diff --git a/contrib/rackspace/rackspace/resources/cloud_loadbalancer.py b/contrib/rackspace/rackspace/resources/cloud_loadbalancer.py index f75af3c8d3..b356428884 100644 --- a/contrib/rackspace/rackspace/resources/cloud_loadbalancer.py +++ b/contrib/rackspace/rackspace/resources/cloud_loadbalancer.py @@ -789,6 +789,7 @@ class CloudLoadBalancer(resource.Resource): return False def _access_list_needs_update(self, old, new): + old = [{key: al[key] for key in self._ACCESS_LIST_KEYS} for al in old] old = set([frozenset(s.items()) for s in old]) new = set([frozenset(s.items()) for s in new]) return old != new diff --git a/contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py b/contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py index d5fb7ab2a0..f8cb8a6050 100644 --- a/contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py +++ b/contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py @@ -680,6 +680,10 @@ class LoadBalancerTest(common.HeatTestCase): 'type': 'ALLOW'}, {'address': '172.165.3.43', 'type': 'DENY'}] + api_access_list = [{"address": '192.168.1.1/0', 'id': 1234, + 'type': 'ALLOW'}, + {'address': '172.165.3.43', 'id': 3422, + 'type': 'DENY'}] template = self._set_template(self.lb_template, accessList=access_list) @@ -688,7 +692,7 @@ class LoadBalancerTest(common.HeatTestCase): self.expected_body) self.m.StubOutWithMock(fake_lb, 'get_access_list') fake_lb.get_access_list().AndReturn([]) - fake_lb.get_access_list().AndReturn(access_list) + fake_lb.get_access_list().AndReturn(api_access_list) self.m.StubOutWithMock(fake_lb, 'add_access_list') fake_lb.add_access_list(access_list)