[openstack-dev] LBaaS Pool Member API

Ilya Shakhat ishakhat at mirantis.com
Wed Jan 30 13:37:14 UTC 2013


Hi Srini,

The current LBaaS API can be thought as low-level API. I agree that there
should be one more layer that handles VM Group and whenever it changes
calls LBaaS API and modifies members. That layer may also handle things
like monitoring (restart hanging instances), performance (expand VM group),
etc. I suppose it is an area we need to consider for the post-grizzly
release.

Thanks,
Ilya

2013/1/29 Addepalli Srini-B22160 <B22160 at freescale.com>

>  Thanks Anand and Ilya****
>
> ** **
>
> I understood your answer.  From  you answer, I understand that there would
> be some other layer of API on top of the currently defined API.****
>
> ** **
>
> But as I understand the API defined here
> http://wiki.openstack.org/Quantum/LBaaS/API_1.0 it is expected to be used
> by Horizon.  If that is indeed the case,   don’t you think this is the API
>  where “VM Group” configuration should go as part of pool member
> definition?    I am thinking  that there would be some  other logic in
> plugin or driver to enumerate the IP addresses of “VM Group” and configure
> the LB device or LB VM.    Is there a need for additional layer of API on
> top of this?****
>
> ** **
>
> ** **
>
> Thanks****
>
> Srini****
>
> ** **
>
> ** **
>
> *From:* Ilya Shakhat [mailto:ishakhat at mirantis.com]
> *Sent:* Monday, January 28, 2013 7:15 AM
> *To:* OpenStack Development Mailing List
> *Subject:* Re: [openstack-dev] LBaaS Pool Member API****
>
> ** **
>
> Hi Ravi, ****
>
> ** **
>
> During discussions of API we considered several use cases and chose more
> specific case when member is specified by IP address. This makes API more
> low-level and covers case when user balances between existing VMs. To
> implement the use case of "elastic" members it will be needed additional
> layer, that communicates with Nova and Quantum core from one side and LBaaS
> API on the other. That solution is subject of future feature requests. ***
> *
>
> ** **
>
> Thanks,****
>
> Ilya****
>
> 2013/1/28 Ravi Chunduru <ravivsn at gmail.com>****
>
> I am posting this question on behalf of Srini as per his request that his
> mail got rejected. Discard if original mail is received.****
>
> Hi,****
>
> ** **
>
> I am not sure this question was answered earlier.****
>
> ** **
>
> Pool Member API as defined http://wiki.openstack.org/Quantum/LBaaS/API_1.0 =****
>
>  is shown below for easy reference.****
>
> ** **
>
> "address" parameter is IP address of VM that is expected to take up the loa=****
>
> d.****
>
> ** **
>
> In Openstack environment,  application VMs'  IP addresses are assigned dyna=****
>
> mically by Quantum IPAM.    This API (Add Pool member) seems to be expectin=****
>
> g IP address.   Admin configuring LB may not know the IP address. Moreover =****
>
> these application VMs are brought up dynamically upon the load and also bro=****
>
> ught down when load goes down.  That is, pool members need to be added or r=****
>
> emoved dynamically.   So, my question is who would be calling this API? It =****
>
> can't  be through Horizon pages  as user don't know the IP addresses.****
>
> ** **
>
> To make client and GUI development easier,  is it not good to take "VM grou=****
>
> p"  instead of "address"?     Internally, quantum can figure out the IP add=****
>
> resses of VMs in the VM group (by monitoring VM bring up/down events)  and =****
>
> program the LB device dynamically with the IP addresses.****
>
> ** **
>
> My understanding is that in openstack world,  VM grouping is typically achi=****
>
> eved using "metadata" that is passed to 'nova boot'.    "Role" metadata key=****
>
>  is normally used to represent the role of VM.  If that is indeed the case,=****
>
>   "role" value can be taken as input to this API (Add Pool Member) function=****
>
> .    For example, tenant can use  VM group called "Web-Server-Group-10".  W=****
>
> hen tenant brings up webserver VM that need to participate in taking up the=****
>
>  load,  it can be given "Web-Server-Group-10" as "role".    Tenant can also=****
>
>  configure the LB with "Web-Server-Group-10" as pool member.    As long as =****
>
> quantum LB plugin has intelligence to enumerate the IP addresses of VMs tha=****
>
> t are brought up with "Web-Server-Group_10",  it should be able to configur=****
>
> e load balancer device using appropriate LB drivers.****
>
> ** **
>
> I am not sure whether this is a valid concern.  If it is not, can somebody =****
>
> point me to right place on how this problem is solved?****
>
> ** **
>
>             Create Pool Members****
>
> Verb    URI     Description****
>
> POST    /v1.0/members   Add members to pools.****
>
> ** **
>
>             Normal Response Code(s): 202****
>
>             Error Response Code(s): serviceFault (500), serviceUnavailable =****
>
> (503), unauthorized (401), badRequest (400), overLimit (413)****
>
>             When a member is created, it is assigned a unique identifier th=****
>
> at can be used for mutating operations such as changing the admin_state or =****
>
> the weight of a member, or removing the member from the pool.****
>
>             The caller of this operation must specify at least the followin=****
>
> g attributes of the Pool:****
>
> *       tenant_id: only required if the caller has an admin role and wants =****
>
> to create a pool for another tenant.****
>
> *       address: the IP address of the pool member on the pool's network.****
>
> *       port: The port on which the pool member listens for requests or con=****
>
> nections.****
>
> *       pool_id: The pool to which the member belongs.****
>
> ** **
>
> ** **
>
> ** **
>
> Thanks****
>
> Srini****
>
> ** **
>
> ** **
>
> Ravi****
>
>
> _______________________________________________
> OpenStack-dev mailing list
> 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
> 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/20130130/ae814b04/attachment.html>


More information about the OpenStack-dev mailing list