WIth the release of Mageia 2 (in fact, on the day of the release), I used it to set up a computing cluster for the IT department of my University. (20 nice shiny new machines).
A lot of the set up was handled very very nicely, particularly on the controller/gateway by MCC, but there were some very obvious deficiencies that really don't have any easy fix, and I would like to start discussions on how these issues could be addressed in the long term, bandaid fixes are fine for short term, but I think a grander view may be worth considering.
The main problem
Curses version is a second rate citizen, and Gui is all GTK
MCC is great, and I would love to be able admin using it regardless of whether I am using text interface or gtk/qt.
The interface is completely different in curses than gtk interfaces.
Alot of the tools are not available in curses interface, for instance, I dont see a way to install software or managing repositories.
It would be nice to have qt version as well as gtk (not a major issue, but would be nice)
Possible solution
I have thought how this could be addressed and feel that in the long term, the best solution would be to have the interface layer abstracted. So when developing a module, you use the mcc UI library, so you may call for instance mccGui.pushButton then if you are running in curses it creates a curses button, if you are in KDE it creates a QPushButton, if you are in Gnome it creates a GTKButton. This would take a great deal of work, so I started looking around to find any existing libraries. The first place I looked was openSuSE as Yast does exactly what I am describing. In yast, the interface is layed out and works the same way whether you are using curses, Gtk or KDE. To my surprise they have put a lot of work into seperating their Ui library from the Yast tools. You can use the library to write curses/gtk/qt programs that use the appropriate widget as needed, independent of Yast.
We could use the Yast Back end, and adapt our front end to use it. This option would take the least amount of work, as there are perl bindings to the yast libraries, and so it would only be the gui layer that would need reworking. The current gtk only modules could become curses/qt/gtk modules by changing the gtk calls to yast backend calls.
Just to be clear, I am not suggesting that we port Yast to Mageia, I am suggesting we use its Ui abstraction only. I use Mageia over openSuse for many reasons, but I do admire how well Yast works, and would love to see similar in Mageia. Perhaps we could start planning the next generation of MCC ??
Smaller problem
Missing Modules
WIth a couple more modules, the entire gateway, central authentication, clustering and batching system could have been set up in MCC.
This of course can be fixed by people (and I am pointing at myself here) contributing with said modules.
Just a quick note: Cluster scripts looked nice, but in practice is too limiting and is not appropriate for most of the clusters I have seen, its choice of software is somewhat dated as well.
What do you think?
What I have written is just my own thoughts, I would love to hear what others think.
If nothing else, the Gui vs curses inconsistencies is something a number of people have commented on to me.
Are there any plans for the Next Generation MCC ??