[Kimchi-devel] [RFC] Split Kimchi into Base Framework and Virtualization layers

Lucio Correia luciojhc at linux.vnet.ibm.com
Wed Apr 1 18:09:40 UTC 2015


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




More information about the Kimchi-devel mailing list