On 03/31/2015 11:26 PM, Royce Lv wrote:
On 03/26/2015 09:56 PM, Lucio Correia wrote:
(...)
>
> The remaining generic stuff on the "backend" side, usable or already
> in use by other plugins, would be:
>
> backend
> |___model
> | |___model.py
> | |___plugins.py
> | |___tasks.py
> |___control
> | |___base.py
> | |___plugins.py
> | |___tasks.py
> | |___utils.py
> |___xmlutils
> | |___network.py
> | |___disk.py
> | |___utils.py
> | |___graphics.py
> | |___qemucmdline.py
> | |___interface.py
> |___asynctask.py
> |___auth.py
> |___basemodel.py
> |___cachebust.py
> |___distroloader.py
> |___exception.py
> |___i18n.py
> |___netinfo.py
> |___network.py
> |___objectstore.py
> |___proxy.py
> |___repositories.py
> |___rollbackcontext.py
> |___root.py
> |___screenshot.py
> |___server.py
> |___sslcert.py
> |___swupdate.py
> |___template.py
> |___utils.py
> |___vnc.py
>
> We don't want to make this a too long e-mail and lose the focus on the
> idea. We have further technical details to discuss in a follow up.
>
> Please let us know your thoughts on that, any directions and
> requirements you have on this, and how could we proceed with that plan.
>
I really favor the idea of splitting http server framework with
applications kimchi manages. Basically, I wish we can refer the
framework of Django to isolate cache, session, authentication, DB access
to framework, and other application related to applications(or we call
it plugin).
I liked the idea of refer to consolidated frameworks like Django. Due to
the nature of this change, our idea, for a first release, is to do the
minimal code changes need to have kimchi running as a plugin (mostly
renames and imports).
From my view, kimchi web server current manage 3 types of
application--host management application under host tab(host stats
collection, software repository configuration, sos), virtualization,
platform specific application (ginger). Some host management application
listed above, like swupdate.py, repositories.py, netinfo.py,and
screenshot.py is related to virtualization. I would suggest these part
to be moved out too.
We initially kept those files in base framework because they are pretty
good generic code that could be used by other plugins. Of course they
are not related to web framework business, but perhaps the framework
could offer a host management utilities module to its plugins.
For example, netinfo.py is already in use by ginger's
models/interfaces.py. If we move it to plugin, we will need to replicate
it in ginger as well.
Bricks welcome:)
Thanks Royce, appreciate your feedback.
--
Lucio Correia
Software Engineer
IBM LTC Brazil