congress/congress
Eric K d635bad1ae Exclude atomic rule from dependency graph
Dependency graph used by agnostic excludes positive literals
of type compile.Literal. But when a policy is deleted, the facts
in the policy are deleted as atomic rules of type compile.Rule. As
a result, some nodes in the dependency graph are prematurely deleted
because the deleting of facts (type compile.Rule) via policy delete
decreased ref counters that had not been correspondingly increased
by the adding of those same facts (type compile.Literal). When a
dependency graph is thus corrupted, congress gives Internal Server
Error on all future attempts to add/delete/sync rules.

This patch fixes the problem by having agnostic treat an atomic rule
(type compile.Rule) the same way it treats an atom
(type compile.Literal) in the dependency graph -- ignore both.

Closes-Bug: 1662809

Change-Id: I8080cbb7c375d90259f7b8a2a62d714ebe4aee5f
2017-02-17 08:10:34 +00:00
..
api specify webob Response charset 2017-01-17 23:45:22 -08:00
common Merge "Lock table and sync rule before each rule insert" 2017-01-30 07:44:04 +00:00
datalog Exclude atomic rule from dependency graph 2017-02-17 08:10:34 +00:00
datasources Supress ceilometer event list error 2017-02-02 12:37:01 +05:30
db Update and add haht rule test cases for locking 2017-01-30 20:22:39 +00:00
dse2 fix delete-missing-driver-datasources function 2017-02-15 03:50:13 +00:00
policy_engines Add tables contributed by atomic rules 2017-02-02 02:45:29 +00:00
server Update and add haht rule test cases for locking 2017-01-30 20:22:39 +00:00
synchronizer Merge "Lock table and sync rule before each rule insert" 2017-01-30 07:44:04 +00:00
tests Exclude atomic rule from dependency graph 2017-02-17 08:10:34 +00:00
__init__.py Use python3 print, division, import 2016-01-20 15:31:02 -08:00
auth.py Moved CORS middleware configuration into oslo-config-generator 2016-03-14 10:55:49 -07:00
context.py Define context.roles with base class 2016-04-06 11:53:04 -04:00
exception.py Fix check that policy-names are valid IDs in the grammar 2017-01-12 18:57:03 -08:00
harness.py Refactor datasource synchronizer 2017-01-16 12:13:06 +05:30
opts.py Fixes congress.conf.sample file generation 2017-01-20 08:01:43 -06:00
service.py Use only strings in paste.deploy.loadapp global_conf 2016-09-15 18:00:11 +00:00
utils.py Remove distributed_architecture flag 2016-09-05 11:03:13 +05:30
version.py Use python3 print, division, import 2016-01-20 15:31:02 -08:00