[Openstack] Multi-Plugin Support for Quantum (Folsom)

Trinath Somanchi trinath.somanchi at gmail.com
Wed Jan 9 08:44:49 UTC 2013


Hi Eugene-

Thanks for the reply.. I forgot to click reply-all.. now added the mailing
list

The first doubt was.

Like we have agents for core-plugins, how the service-plugin agents differ
from these core-plugin agents?

One doubt:

Will this loadbalance.py be a starting point to write a test
service-plugin? Can you comments on this. this might be helpful for any
fresh starters who are interested in writing service plugins..

thanks in advance.

-
Trinath


On Wed, Jan 9, 2013 at 2:07 PM, Eugene Nikanorov <enikanorov at mirantis.com>wrote:

> Trinath,
>
> 1. I don't quite understand the question
>
> 2. Request routing is usually done with "extensions" mechanism. Quantum
> has a directory where files with API extensions are kept.
> During startup quantum iterates through them and adds to REST API those
> extensions which are supported by some loaded plugin.
> E.g. it implies 1:1 mapping between API extension and plugin which
> implements it.
> Extension defines a handler to calls that it exposes. Usually such handler
> is a "plugin", e.g. a core plugin, but advanced services extensions need to
> specify corresponding service plugin, .e.g.
> something like QuantumManager.get_service_plugins()['service_type']
> Currently there is
> https://github.com/openstack/quantum/blob/master/quantum/extensions/loadbalancer.pyextension utilizing this.
>
> 3. Not sure what you mean by mapping service agents to plugins.
> Usually any kind of agent is waiting on MQ for some notifications/requests
> and makes corresponding changes on hardware appliances.
> E.g. beside the fact that agents are different for different plugins, they
> are listening for different topic in MQ.
>
> 4. Plugins are essentially an implementation of some REST APIs - either
> exposed by corresponding extension or Core API.
>
> Please remember to use mailing list. There could be other people willing
> to answer your questions.
>
> Thanks,
> Eugene.
>
>
>
> On Wed, Jan 9, 2013 at 12:12 PM, Trinath Somanchi <
> trinath.somanchi at gmail.com> wrote:
>
>> Hi Eugene-
>>
>> Thanks a lot for the reply...
>>
>> Can you kindly guide me on following doubts
>>
>> [1] How different are the services plugin agents requests from
>> core-plugin agents requests?
>>
>> [2] How is Routing of requests is taken care here in the services plugins
>> functionality?
>>
>> I understand this way.
>>
>> The plugins are loaded by the quantum manager using the service_plugin
>> configuration from the quantum.conf.
>> The requests are some how routed to the plugins and there they are served.
>>
>> But then,
>>
>> [1] want to understand on how these services-agents requests are mapped
>> to plugins ?
>>
>> [2] How different is the implementation of Service-Plugins to
>> Core-Plugins ?
>>
>> Can you kindly help me in understanding the above doubts..
>>
>> Thanks in advance
>>
>> -
>> Trinath
>>
>>
>> On Wed, Jan 9, 2013 at 1:24 PM, Eugene Nikanorov <enikanorov at mirantis.com
>> > wrote:
>>
>>> Trinath,
>>>
>>> 1. We need to update the file once service type is added.
>>> Say, if we add firewall service, we need to add corresponding service
>>> type constant.
>>>
>>> 2. This constants are keys in the dictionary that keeps loaded plugins.
>>> So currently it's 1 plugin per service type.
>>> E.g. core API can have only 1 plugin.
>>>
>>> Regarding running multiple plugins for core API: there is "metaplugin"
>>> plugin that was created for such purpose of running several core plugins
>>> simultaneously.
>>> So metaplugin is that single plugin for core API, but it loads other
>>> quantum plugins and then routes API calls to them according to flavor.
>>> You can find more information here:
>>> https://github.com/openstack/quantum/tree/master/quantum/plugins/metaplugin
>>>
>>>
>>> Thanks,
>>> Eugene.
>>>
>>> On Wed, Jan 9, 2013 at 11:08 AM, Trinath Somanchi <
>>> trinath.somanchi at gmail.com> wrote:
>>>
>>>> Hi Eugene-
>>>>
>>>> Thanks a lot for the reply..
>>>>
>>>> I have few doubts regarding the file
>>>> /quantum/plugins/common/constants.py
>>>>
>>>> [1] Do we need to update this file when any new plugin is added?
>>>>
>>>> [2] How this file and its macros are utilized for servicing the
>>>> multiple plugins?
>>>>
>>>> Also, I'm thinking on using OVS plugin and cisco plugin at a time. Will
>>>> this additions to the Folsom source code, does the same task as I'm
>>>> thinking on?
>>>>
>>>> Can you kindly guide me on how this can be achieve the above setup.....
>>>>
>>>> Can you kindly comment on the above doubts.
>>>>
>>>> Thanks in advance.
>>>>
>>>> -
>>>> Trinath
>>>>
>>>>
>>>>
>>>> On Tue, Jan 8, 2013 at 4:23 PM, Eugene Nikanorov <
>>>> enikanorov at mirantis.com> wrote:
>>>>
>>>>> Hi Trinath,
>>>>>
>>>>> You might want to check https://review.openstack.org/#/c/15733/
>>>>> It's the patch implementing multi-plugin support that already have
>>>>> been merged into quantum's master branch.
>>>>>
>>>>> Thanks,
>>>>> Eugene.
>>>>>
>>>>>
>>>>> On Tue, Jan 8, 2013 at 2:33 PM, Trinath Somanchi <
>>>>> trinath.somanchi at gmail.com> wrote:
>>>>>
>>>>>> Hi Stackers-
>>>>>>
>>>>>> How to support multiple service plugins in the Quantum (Folsom)?
>>>>>>
>>>>>> I have gone through this link,
>>>>>> https://review.openstack.org/#/c/15881/1
>>>>>>
>>>>>> Will checking out this code base and integrating the same to the
>>>>>> folsom code base help me in multi-plugin feature for the Quantum (Folsom)
>>>>>>
>>>>>> Please help me out in this regard.
>>>>>>
>>>>>> --
>>>>>> Regards,
>>>>>> ----------------------------------------------
>>>>>> Trinath Somanchi,
>>>>>> +91 9866 235 130
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Regards,
>>>> ----------------------------------------------
>>>> Trinath Somanchi,
>>>> +91 9866 235 130
>>>>
>>>
>>>
>>
>>
>> --
>> Regards,
>> ----------------------------------------------
>> Trinath Somanchi,
>> +91 9866 235 130
>>
>
>


-- 
Regards,
----------------------------------------------
Trinath Somanchi,
+91 9866 235 130
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20130109/a205dac9/attachment.html>


More information about the Openstack mailing list