kanku is designed to give you a better integration of your kiwi images built by the Open Build Service (OBS) in your development and testing workflow.
The idea is to refactor kanku-scheduler so it can use distributed workers for more scalability using the following technologies:
- RabbitMQ - for task distribution
- The master server sends out an job-advertisement for the current job (including needed resources)
- The workers calculate their used/free resources
- Workers with enough free resources send out an job-application with it`s used/free resources to the master
- The master decides based on the given resources information which worker should get the job and sends out an job-confirmation to the selected worker.
- The master starts the job and sends the information for specific tasks in this job to worker
- Tasks can be
- dedicated to the master (like updating the git cache)
- dedicated to the worker (like downloading the image)
- dedicated to all workers (like deleting old data like VM's)
- The worker sends back the results/job context to the master
- Open vSwitch - for a distributed network over all workers
- Refactor of Taskhandlers:
- CreateDomain -> PortForwarding
This project is one of its kind!