[openstack-dev] [Openstack-dev][Quantum][LBaaS] Quantum components needed for the LBaaS service

Youcef Laribi Youcef.Laribi at eu.citrix.com
Thu Dec 6 19:58:17 UTC 2012


Hi Eugene,

  1) We may think of scheduler as a just a part of device management plugin since it is nothing more than an algorithm working on device list.

This is why I want the confusion to be clarified. In your proposal, you had a scheduler per "service type". This implies that the scheduler is not for LBaaS specific, it is common to all Service Plugins, so it cannot live in the LBaaS plugin.

I also don't want us to confuse the scheduler with device management. They may share the same database, but they have different functions in the system.

2) We probably doesn't need separate "device agent" component and process. Any kind of device-specific task may be handled by common "advanced service agent" which routes messages from Adv Svc Plugins and Device Management Plugin to corresponding device-specific code.

That is the type of reaction I was expecting by drawing the diagram :) I agree with you that all device-specific code should be in the driver, but I'm not sure about having an "advanced service agent" routing to LBaaS plugin then to the LBaaS agent. But these are minor details we can discuss later.

So, let's first start clarifying the "service type" role. I think there is a lot of confusion here. Can we start sketching an API and payloads for creating them?

By the way, I thought that Salvatore was responsible for driving "service type" management, so I want to hear from him more on this, or whoever is now driving this piece.

Thanks
Youcef



From: Eugene Nikanorov [mailto:enikanorov at mirantis.com]
Sent: Thursday, December 6, 2012 11:05 AM
To: OpenStack Development Mailing List
Subject: Re: [openstack-dev] [Openstack-dev][Quantum][LBaaS] Quantum components needed for the LBaaS service

Youcef,

Thanks for the diagram, it quite close to what we are proposing.
A couple of additional notes:
1) We may think of scheduler as a just a part of device management plugin since it is nothing more than an algorithm working on device list.
2) We probably doesn't need separate "device agent" component and process. Any kind of device-specific task may be handled by common "advanced service agent" which routes messages from Adv Svc Plugins and Device Management Plugin to corresponding device-specific code.

You may also look at workflow of pool creation operation as well as component diagram:
http://wiki.openstack.org/Quantum/LBaaS/Architecture/Scheduler


Thanks,
Eugene.

On Thu, Dec 6, 2012 at 8:25 PM, John Gruber <john.t.gruber at gmail.com<mailto:john.t.gruber at gmail.com>> wrote:
Youcef,

Thank you for the block diagram. I had a couple of questions:

>From your drawing, can I infer that the scheduler is to be provided as a python module and class and not a proper service interface? The decoupling through queue seems to be one of synchronous / asynchronous task scaling only. Why not a scheduler queue as well to allow the vendor line to be completely handled through AMQP messaging? The LBaaS vendor could create as simple or as complex a management system to interact with LBaaS through messaging. What are your thought about forcing the schedule coupling?

Is it safe to say that the other issues of thorny coupling you are worried about can be isolated to discrete functional areas where proper interface definitions and RPC could avoid them?

I agree with you BTW.  I've been writing some 'glue' for a project and finding other areas in Quantum itself which are too tightly tied to the data model of VM interfaces and it created a few thorns. It was a time consuming exercise to make Quantum functionality live behind an interface which would work simply through other vendor's interfaces as well.

This is our trade-off of time vs complexity I know...

John


On Wed, Dec 5, 2012 at 5:01 PM, Youcef Laribi <Youcef.Laribi at eu.citrix.com<mailto:Youcef.Laribi at eu.citrix.com>> wrote:
The discussion on scheduling has prompted me to think that there are several inter-linked components that we have so far not discussed in detail, and I'm worried that diving into implementation without understanding how the different components will eventually fit together will create us problems later on. For example, we haven't so far discussed the APIs for "service type" management (and this is creating confusion in other thread discussions), or for device management, as these have impact on the LBaaS piece. We need to understand the big picture of the components that will be in place, their dependencies, and the vendor-specific pieces and where they would be located.

To start this discussion I have drawn an initial picture with the components that I think would need to be in place. So let's start discussing the need for each component, its functions, where does it live (is it a Quantum plugin? is it something else?), what are the dependencies on the other components (in terms of interactions or DB sharing). The component diagram is here: http://wiki.openstack.org/Quantum/LBaaS?action=AttachFile&do=view&target=Quantum+Services+components.png

I want us to discuss this in a little bit more detail, before we get too much into implementation and realize the thorny issues later on.

Thanks
Youcef

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org<mailto:OpenStack-dev at lists.openstack.org>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org<mailto:OpenStack-dev at lists.openstack.org>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20121206/2c33cf96/attachment.html>


More information about the OpenStack-dev mailing list