https://github.com/openstack/requirements/blame/master/README.rst#L95-L100 <https://github.com/openstack/requirements/blame/master/README.rst#L95-L100>
Doug, Is it still relevant? I’m just trying to understand how to enforce upper-constraints.txt in the best way for our jobs like py27, py34 etc. Renat Akhmerov @Nokia > On 19 May 2016, at 12:15, Renat Akhmerov <renat.akhme...@gmail.com> wrote: > >> >> On 18 May 2016, at 22:51, Joshua Harlow <harlo...@fastmail.com >> <mailto:harlo...@fastmail.com>> wrote: >> >> Roman Dobosz wrote: >>> On Tue, 17 May 2016 21:41:11 -0700 >>> Joshua Harlow<harlo...@fastmail.com <mailto:harlo...@fastmail.com>> wrote: >>> >>>>>> Options I see: >>>>>> Constrain oslo.messaging in global-requirements.txt for >>>>>> stable/mitaka with 4.6.1. Hard to do since it requires wide >>>>>> cross-project coordination. >>>>>> Remove that hack in stable/mitaka as we did with master. It may >>>>>> be bad because this was wanted very much by some of the users >>>>>> >>>>>> Not sure what else we can do. >>>>> You could set up your test jobs to use the upper-constraints.txt >>>>> file in >>>>> the requirements repo. >>>>> >>>>> What was the outcome of the discussion about adding the >>>>> at-least-once >>>>> semantics to oslo.messaging? >>>> So there are a few options I am seeing so far (there might be more >>>> that I don't see also), others can hopefully correct me if they are >>>> wrong (which they might be) ;) >>>> >>>> Option #1 >>>> >>>> Oslo.messaging (and the dispatcher part that does this) stays as is, >>>> doing at-most-once for RPC (notifications are in a different >>>> category here so let's not discuss them) and doing at-most-once well >>>> and battle-hardened (it's current goal) across the various backend >>>> drivers it supports. >>>> >>>> At that point at-least-once will have to done via some other library >>>> where this kind of semantics can be placed, that might be tooz via >>>> https://review.openstack.org/#/c/260246/ >>>> <https://review.openstack.org/#/c/260246/> (which has similar >>>> semantics, but is not based on a kind of RPC, instead it's more like >>>> a job-queue). >>>> >>>> Option #2 >>>> >>>> Oslo.messaging (and the dispatcher part that does this) changes >>>> (possibly allowing it to be replaced with a different type of >>>> dispatcher, ie like in https://review.openstack.org/#/c/314732/ >>>> <https://review.openstack.org/#/c/314732/>); >>>> the default class continues being great at for RPC (notifications >>>> are in a different category here so let's not discuss them) and >>>> doing at-most-once well and battle-hardened (it's current goal) >>>> across the various backend drivers it supports. If people want to >>>> provide an alternate class with different semantics they are >>>> somewhat on there own (but at least they can do this). >>>> >>>> Issues raised: this though may not be wanted, as some of the >>>> oslo.messaging folks do not want the dispatcher class to be exposed >>>> at all (and would prefer to make it totally private, so exposing it >>>> would be against that goal); though people are already 'hacking' >>>> this kind of functionality in, so it might be the best we can get at >>>> the current time? >>>> >>>> Option #3 >>>> >>>> Do nothing. >>>> >>>> Issues raised: everytime oslo.messaging changes this *mostly* >>>> internal dispatcher API a project will have to make a new 'hack' to >>>> replace it and hope that the semantics that it has 'hacked' in will >>>> continue to be compatible with the various drivers in >>>> oslo.messaging. Not IMHO a sustainable way to keep on working (and >>>> I'd be wary of doing this in a project if I was the owner of one, >>>> because it's ummm, 'dirty'). >>>> >>>> My thoughts on what could work: >>>> >>>> What I'd personally like to see is a mix of option #1 and #2, where >>>> we have commitment from folks (besides myself, lol) to work on >>>> option #1 and we temporarily move forward with option #2 with a >>>> strict-statement that the functionality we would be enabling will >>>> only exist for say a single release (and then it will be removed). >>>> >>>> Thoughts from others? >>> >>> Option #4 >>> >>> (Which might be obvious) Directly use RabbitMQ driver, like >>> pika/kombu, which can expose all the message queue features to the >>> project. >>> >>> Issues raised: Pushback from the community due not using >>> oslo.messaging and potential necessity for implementing it for other >>> drivers/transports, or forcing to use particular message queue/driver >>> in every project. >>> >> >> Isn't this similar/same as to option #1? Nothing about option #1 says (from >> my understanding) that it must be implemented via oslo.messaging (and in all >> likely-hood it can't be). > > > We’ll most likely proceed with #1 (special case is #4) for now just for > progress sake. > > It seems to me that we as a community may just need to accumulate more > data/experience/patterns well realized so that we could explain value of > certain patterns more clearly. Through our endeavours and researches > hopefully we’ll be able to communicate our thoughts better. As far as > semantical differences RPC vs Messaging vs Jobs vs Notifications vs Concrete > implementation of any of those, it’s simply a matter of how we want to do it, > less a matter of what is right. I’m just saying this that it’s OK for now > that we can’t come to a consensus. We need to keep in touch and exchange our > ideas. Excuse me, it’s just a lyric digression. > > Renat Akhmerov > @Nokia
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev