def get_expected_acls(self):
        """Query the neutron DB for Security Groups and Rules

        Groups and rules are returned as a dict of rule sets:
        {<eos_acl1_name>: set([<eos_acl1_rules>]),
         <eos_acl2_name>: set([<eos_acl2_rules>]),
         ...,
        }
        """
        security_groups = db_lib.get_security_groups()

        expected_acls = collections.defaultdict(set)
        for sg in security_groups:
            in_rules, out_rules = self._format_rules_for_eos(sg['rules'])
            ingress_acl_name = self._acl_name(sg['id'],
                                              n_const.INGRESS_DIRECTION)
            egress_acl_name = self._acl_name(sg['id'],
                                             n_const.EGRESS_DIRECTION)
            expected_acls[ingress_acl_name].update(in_rules)
            expected_acls[egress_acl_name].update(out_rules)
        return expected_acls
Query the neutron DB for Security Groups and Rules

        Groups and rules are returned as a dict of rule sets:
        {<eos_acl1_name>: set([<eos_acl1_rules>]),
         <eos_acl2_name>: set([<eos_acl2_rules>]),
         ...,
        }