Basic High Availability
Congress needs to support high availability (HA) for API requests so that clients can continue to make successful API requests to Congress even if a congress server becomes unavailable. This proposal describes a basic HA solution that replicates the entire Congress server as-is. Each replica runs the policy engine, contains all the table data, and runs the datasource drivers, meaning that the datasources will send data once for each replica.
Blueprint information
- Status:
- Complete
- Approver:
- Tim Hinrichs
- Priority:
- High
- Drafter:
- Alexander Yip
- Direction:
- Approved
- Assignee:
- Alexander Yip
- Definition:
- Approved
- Series goal:
- Accepted for mitaka
- Implementation:
- Implemented
- Milestone target:
- mitaka-2
- Started by
- Tim Hinrichs
- Completed by
- Tim Hinrichs
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Add datasource synchronizer
Addressed by: https:/
Add datasource synchronizer
Capturing a discussion from IRC about race-conditions on rule-writes. Two options. (1) single-master for rule/policy writes. (2) when doing policy rule writes, we need to open a transaction, sync the PE with the DB, then do all the safety checks, and write the new rule(s) if the checks pass, finally closing the transaction. This is necessary to ensure there are no race-conditions that produce a DB in an invalid state--i.e. one that the PE can't handle, such as recursive rules.
Addressed by: https:/
Add synchronizer for policies and rules
Addressed by: https:/
Revert "Code re-org for distributed architecture"
Addressed by: https:/
Add a script to start and monitor children processes