-
Story
-
Resolution: Won't Do
-
Critical
-
None
-
None
-
None
-
13
-
False
-
None
-
False
-
-
Story (Required)
As Pipelines admin I want the load to be balanced between Pipelines controllers when configuring multiple replicas and optimizing the pipeline for performance.
Background (Required)
In Konflux, configured with two Pipelines controller replicas, when one replica is restarted, all leases are acquired by the active replica. Once the second replica comes back online, it does not acquire any lease and does not share the load.
Out of scope
<Defines what is not included in this story>
Approach (Required)
- Add a new "pipelines leases" controller to the Pipelines operator.
- The leases controller will watch the leases for the Pipelines controllers.
- Check the distribution of leases across replicas
- The number of leases should match the number of buckets defined in the configuration.
- These leases should be equally distributed across all replicas.
- If the leases are not evenly distributed, the controller should rebalance the leases by deleting the lease from one controller, allowing it to be reacquired by another replica
- if n be the total number of buckets, which is also the total number of leases.
- m be the number of replicas (Pipelines controller instances).
- Each replica should hold approximately n/m leases to balance the load evenly across replicas
Dependencies
<Describes what this story depends on. Dependent Stories and EPICs should be linked to the story.>
Acceptance Criteria (Mandatory)
<Describe edge cases to consider when implementing the story and defining tests>
<Provides a required and minimum list of acceptance tests for this story. More is expected as the engineer implements this story>
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
Legend
Unknown
Verified
Unsatisfied
Done Checklist
- Code is completed, reviewed, documented and checked in
- Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
- Continuous Delivery pipeline(s) is able to proceed with new code included
- Customer facing documentation, API docs etc. are produced/updated, reviewed and published
- Acceptance criteria are met
1.
|
Poc for leases watcher | Closed | Unassigned |