Datasource drivers do not send proper deltas
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
congress |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Currently the datasource drivers are decomposing complex objects into flat tables by generating UUIDs as names for complex subobjects. For example,
Car(field1=1, field2=
becomes
Car(field1=1, field2=<newuuid>), Wheel(<newuuid>, field2)
Because the UUIDs are new each time the decomposition is run, the contents of the tables changes EVERY time the data is polled. That means the policy engine cranks through changes every time data is polled.
There are 2 pieces of functionality that the datasource driver must carry out: decomposing complex objects into flat tables and computing the delta on flat tables that needs to be sent to the policy engine. We would like to make it easy for people to write datasource drivers. I see two options. (i) People write deterministic decomposition algorithms. In this case, the framework can implement delta computation. (ii) People write both pieces of functionality and are responsible for ensuring that deltas are only sent when they need to be.
As a first cut, we should fix the Neutron and Nova drivers.
Changed in congress: | |
assignee: | nobody → Tim Hinrichs (thinrichs) |
assignee: | Tim Hinrichs (thinrichs) → nobody |
Changed in congress: | |
importance: | Undecided → High |
importance: | High → Medium |
Changed in congress: | |
status: | New → Fix Committed |
Changed in congress: | |
milestone: | none → kilo-3 |
status: | Fix Committed → Fix Released |