Add Jenkins as a ConfigProvider
Opened this issue · 0 comments
Use Case: Corporate Environment (without Cloud and all the nowadays cool stuff) and E2E UI Testing
The Jenkins Server is Highly Available and is used for Coordinating Automated Deployments and Tests in a Corporate Environment. (This is a good point)
Automated UI Tests may run on 10+ agents parallely (they are not web tests, they need a real Desktop - Windows) - this is our weak spot.
The zookeeper ensemble is also running on these agents which are not Highly Available. They fall out sometimes.
In Jenkins we could define a label and apply it on agents that can take part in the zookeeper ensemble.
Exhibitor could read that and make sure the ensemble quorum can always be reached (if possible).
(environmentVariable)NodeProperties could be used for further client specific config (like Port Numbers)
Concrete Example:
4 projects with 10 Agents Each is 40 agents alltogether that are also potential Zookeeper ensemble members.
Let's assume we nominate from each project the best 5 Computers only.
4 * 5 = 20 potential computers for the ZK ensemble.
We want an ensemble of 7 Computers to be always kept.
** our ZK clients are using Curator so the Curator --> Exhibitor-->Jenkins chain would guarantee a much needed availability and monitoring / management of the Zookeeper Ensemble