[openstack-dev] [Neutron][LBaaS] Which entities need status
Brandon Logan
brandon.logan at RACKSPACE.COM
Tue Jun 24 19:30:49 UTC 2014
Eugene,
Thanks for the feedback. I have a feeling thats where we will end up
going anyway so perhaps status on all entities for now is the proper way
to build into that. I just want my objections to be heard.
Thanks,
Brandon
On Tue, 2014-06-24 at 23:10 +0400, Eugene Nikanorov wrote:
> Hi lbaas folks,
>
>
> IMO a status is really an important part of the API.
> In some old email threads Sam has proposed the solution for lbaas
> objects: we need to have several attributes that independently
> represent different types of statuses:
> - admin_state_up
> - operational status
> - provisioning state
>
>
> Not every status need to be on every object.
> Pure-DB objects (like pool) should not have provisioning state and
> operational status, instead, an association object should have them. I
> think that resolves both questions (1) and (2).
> If some object is shareable, then we'll have association object
> anyway, and that's where provisioning status and operationl status can
> reside. For sure it's not very simple, but this is the right way to do
> it.
>
>
> Also I'd like to emphasize that statuses are really an API thing, not
> a driver thing, so they must be used similarly across all drivers.
>
>
> Thanks,
> Eugene.
>
>
> On Tue, Jun 24, 2014 at 10:53 PM, Doug Wiegley <dougw at a10networks.com>
> wrote:
> Hi Brandon,
>
> I think just one status is overloading too much onto the LB
> object (which
> is perhaps something that a UI should do for a user, but not
> something an
> API should be doing.)
>
> > 1) If an entity exists without a link to a load balancer it
> is purely
> > just a database entry, so it would always be ACTIVE, but not
> really
> > active in a technical sense.
>
>
> Depends on the driver. I don¹t think this is a decision for
> lbaas proper.
>
>
> > 2) If some of these entities become shareable then how does
> the status
> > reflect that the entity failed to create on one load
> balancer but was
> > successfully created on another. That logic could get
> overly complex.
>
>
> That¹s a status on the join link, not the object, and I could
> argue
> multiple ways in which that should be one way or another based
> on the
> backend, which to me, again implies driver question (backend
> could queue
> for later, or error immediately, or let things run degraded,
> orŠ)
>
> Thanks,
> Doug
>
>
>
>
> On 6/24/14, 11:23 AM, "Brandon Logan"
> <brandon.logan at RACKSPACE.COM> wrote:
>
> >I think we missed this discussion at the meet-up but I'd like
> to bring
> >it up here. To me having a status on all entities doesn't
> make much
> >sense, and justing having a status on a load balancer (which
> would be a
> >provisioning status) and a status on a member (which would be
> an
> >operational status) are what makes sense because:
> >
> >1) If an entity exists without a link to a load balancer it
> is purely
> >just a database entry, so it would always be ACTIVE, but not
> really
> >active in a technical sense.
> >
> >2) If some of these entities become shareable then how does
> the status
> >reflect that the entity failed to create on one load balancer
> but was
> >successfully created on another. That logic could get overly
> complex.
> >
> >I think the best thing to do is to have the load balancer
> status reflect
> >the provisioning status of all of its children. So if a
> health monitor
> >is updated then the load balancer that health monitor is
> linked to would
> >have its status changed to PENDING_UPDATE. Conversely, if a
> load
> >balancer or any entities linked to it are changed and the
> load
> >balancer's status is in a non-ACTIVE state then that update
> should not
> >be allowed.
> >
> >Thoughts?
> >
> >Thanks,
> >Brandon
> >
> >
> >_______________________________________________
> >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
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list