On Tue, 24 Jan 2012 12:27:14 +0100, Zygmunt Krynicki zygmunt.krynicki@linaro.org wrote:
Hi.
This a brainstorm message. I'd like to hear your pros and cons on merging the scheduler and dashboard.
I agree its worth thinking about whether the division into components we currently have is right. I do think that it's a much more subtle question than just mashing the code bases together though!
For me the advantages outweigh the disadvantages:
Pros:
- A simple model for tracking a result back to a job, without having
to jump through javascript hoops and hard synchronization/availability issues (and back!)
Well. Maybe. The thing here is that currently the job file we give to the scheduler and on to the dispatcher specifies the dashboard to submit to -- we don't *know* if it is submitting jobs to the same dashboard as we are hosting! If we don't want to support this, we shouldn't allow it, by overwriting/validating/inserting the server portion of the job json file before giving to the dispatcher.
- A stronger case that lava-{dashboard,scheduler} has all the key
models - devices, tests, results - all in one place. Easier for extension developers to target as their backend.
- Less fuss for extension developers that don't really consider the
implications of this distributed system
- Easier workflow, one less component to release ;-)
- We get to clean up dashboard_app and rename it to lava-*
Cons:
- We may need to do a flag day when we have one big migration that
will rename tables, etc
- This will break sql-based reports (but I don't think that we really
care about them anymore)
- I'm not sure what we'd do with the lava-dashboard, lava-scheduler
projects on launchpad
You're missing the biggest con IMHO which is the conceptual separation. Currently the scheduler is about getting the jobs run and the dashboard is about displaying the results of said jobs. I like this distinction, and would generally like to preserve it. You know the slogan "loosly coupled but tightly integrated"?
PS: We could move this a step forward and consider merging with lava-server (at the source code repo level) where we''d have clear separation from the core (server,scheduler,dashboard) and extensions that build on the core.
Cheers, mwh