There is a number of possible improvements to the architecture of SUSE Manager / Salt integration that should be investigated in order to improve the reliability and scalability of the backend:
- Actions are currently scheduled in the minions using the schedule module of Salt. This brings problems with reliability as for instance a minion can be down at the specified schedule time which leads to actions not being executed. Scalability can be an issue as actions being scheduled for many minions might return results to the server at the same time. Instead it might be better to keep control over scheduled actions on the server to allow batching of actions as well as downtimes of minions or even the server. There is a work in progress branch to get started.
- For receiving action results we are currently relying on a websocket connection to the Salt event bus in order to receive job return events. This is problematic as the connection might be interrupted leading to the server missing events. Instead we could make use of a master-side returner to write the action results directly into the postgresql database. This would further allow to have setups with multiple Salt masters returning job results to the same database.
Looking for mad skills in:
susemanager salt backend java python postgresql
This project is part of:
Hack Week 15
SUSE Manager uses an ivy repository on the R&D ...
To teach myself Java coding and Android develop...