16:01:31 #startmeeting Mistral 16:01:32 Meeting started Mon May 16 16:01:31 2016 UTC and is due to finish in 60 minutes. The chair is rakhmerov. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:01:33 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:01:35 The meeting name has been set to 'mistral' 16:02:05 hi 16:02:19 who is here? 16:02:37 o/ 16:02:59 O/ 16:03:06 hi guys 16:03:34 :) 16:03:41 1 sec 16:04:13 ok, let's start 16:04:17 #topic Review action items 16:04:21 no items ) 16:04:39 #Current status (progress, issues, roadblocks, further plans) 16:04:52 let's quickly tell our updates, if any 16:05:48 my status: working on several blueprints at the same time 16:05:49 https://blueprints.launchpad.net/mistral/+spec/mistral-engine-error-handling 16:06:44 https://blueprints.launchpad.net/mistral/+spec/mistral-action-result-processing-pipeline 16:07:01 it all came to the need to do pretty serious refactoring in Mistral engine 16:07:13 will get it done this week, 16:07:40 hey guys 16:07:50 besides that, other small activities like fixing gates, dealing with oslo.messaging issue (again) 16:07:53 hi Dawid 16:08:07 please let us know if you have any updates 16:08:52 I'm planning to work on custom actions API after my current tasks 16:09:01 unfortunetely no - I spend last week on sick leave but I'm starting to feeling better so I hope to be back at work tommorow or on Wednesday 16:09:15 rakhmerov: I'd like to contribute to that bp as well 16:09:25 ddeja: ooh, ok, I hope get better soon 16:09:32 rbrady: ok, sure 16:09:59 rbrady: do you think we need to create a spec for that? 16:10:16 we can discuss what we do together and you can actually take it 16:10:20 or part of it 16:10:20 rakhmerov: it might be a good idea and allow us a way to solicit more feedback 16:10:34 rakhmerov: ack 16:11:10 rakhmerov: I had wanted to start on it by now, but I ran into a bug that's taking my time (more on that in the open discussion) 16:11:16 rbrady: yes, my only concern is that I think when writing a spec it's usually hard to predict all cool things that you can come up with when actually implementing it 16:11:43 so maybe we need a spect but w/o an attempt to make it too detailed 16:11:57 rakhmerov: agreed. in a agile world the spec is a minimum viable product plan 16:12:06 only reflect main things and leave opportunities for extention 16:12:22 rbrady: we're on the same page then 16:12:23 perfect 16:13:01 let's move to the following topic then 16:13:06 #Discuss versioning issue 16:13:24 subtitle: The latest one is 2.0.0 but "pip install mistral' installs 2015.1.0 since it's greater 16:13:53 I just wanted to discuss with the team the best approach to solve this issue 16:14:19 we have multiple versions on PyPi: including 2015.1.0 which is actually older than 2.0.0 16:14:30 because we used to have year based versioning 16:14:40 but then we switched to regular schema 16:15:10 rakhmerov: do we know of anyone currently still depending on 2015.1.0? 16:15:16 and now if people use "pip install mistral" they get 2015.1.0 version because it's greater 16:15:26 rbrady: that's the exact issue :) 16:15:45 If I knew that nobody was using it I'd just remove it 16:16:06 so maybe you came across a similar situation? 16:16:09 rakhmerov: removing it is one way to conduct a survey of who's using it 16:16:13 what do people usually do? 16:16:21 survey? 16:16:23 how? 16:16:37 in ML? 16:17:11 rakhmerov: if you remove it from pypi, people may reach out to ask where it went. 16:17:19 rakhmerov: mailing list is probably a good option 16:17:25 yeah 16:17:43 maybe we could just rename the old versions? 16:17:53 there's also an option to remove 2015.1.0 and re-release it under say 1.2.0 16:18:16 ddeja: I need to check if PyPi allows that 16:19:07 but generally what rbrady says makes sense to me, if they find that it's removed they would likely just ask where it is 16:19:16 and what they should use instead 16:19:38 and if it's possible to keep it but under a different name then it would be ok 16:19:39 yeah, I'm ok with that 16:19:40 I think 16:19:58 hm.. ok, let me check it after it 16:20:06 what policy does mistral have for supporting previous releases? 16:20:22 rbrady: only previous stable version 16:20:45 2015.1.0 is not supported already 16:20:53 it's a year old 16:21:14 I think if we rename that release, the new name should look similar to humans. 16:21:32 mgershenzon: ideally yes, but how? 16:21:58 somehow we need to transform 2015.1.0 to something like 1.1.1 16:22:17 don't know how 16:22:31 is there a specific place on pypi where it displays older releases? I do not see it at https://pypi.python.org/pypi/mistral 16:22:41 #action rakhmerov: check if PyPi allows to rename releases 16:22:57 Maybe with concatenation? Adding "0." at the beginning. Is that a legal version? 16:23:05 yes, there's an admin interface 16:23:19 mgershenzon: not sure, need to check 16:23:56 you know, seems like it's possible to rename it 16:24:02 via PyPi UI 16:24:07 I just checked it 16:24:17 just as an average user, I'm not sure if they are able to see the release through the web ui at all. using the search I can only find mistralclient 16:24:37 0.2015.1looks similar to me, if we can't concatenate the full version. 16:24:38 rbrady: yeah, it's a bug in PyPi 16:24:44 they are working on it 16:24:45 rbrady: you can list all of the version of package after adding "/json" to the end of pypi URL 16:24:58 a bunch of packages are not searchable although they exist 16:25:17 ddeja: ooh really? 16:25:22 that's cool 16:25:33 it gives pure json 16:25:45 ok 16:25:54 with a lot of stuff like all package versions ;) 16:26:29 alright, I think I'll just rename it. Just need to pick a good name and announce it in ML I guess 16:26:42 with the policy of only supporting the previous stable version, removing anything prior to 1.0.0 should be okay then 16:27:17 and be ready to get piled with rotten tomatoes from our senior community members ) 16:28:06 rbrady: yes, I was just thinking about potential users who might be using it in some production clouds of older versions (kilo) 16:28:11 If we can rename, it is better than deleting 16:28:16 ack 16:28:17 yep 16:28:30 ok, I think it's kind of solved 16:28:49 #topic Discuss what to do with "at-least-once" 16:29:08 some background 16:29:30 oslo team recently released oslo.messaging 5.0.0 :) 16:29:47 and it broke our dirty hack in rpc.py 16:29:47 Oh 16:29:56 that was needed to implement at-least-once delivery 16:30:01 ddeja: yeah :( 16:30:22 but that's the consequence that we were aware of from the very beginning 16:30:52 (I was hoping for the oslo team to not be this fast) 16:31:09 the bad thing is that their classes and interfaces changed significantly and we need to spend time again to understand how to apply a similar hack 16:31:20 ddeja: yeah, me too 16:31:25 but it is what it is 16:31:55 so for now I sent a patch https://review.openstack.org/#/c/316578/ to remove that hack until we find a solution 16:32:45 options: 1) research their new code and do a similar hack 2) finally implement our rpc layer based on direct access to amqp 16:33:06 there's the 3rd: keep pushing that change to oslo.messaging to support at-least-once 16:33:40 here's my opinion: I don't like 1) and would prefer to go with 2) 16:34:10 +1 16:34:13 What about 3? Do we have a chance? 16:34:15 on my estimation it would take ~1 month to implement it, especially given that we already have patches that do that mostly 16:34:29 we can reexamine them and reuse if possible 16:34:54 mgershenzon: I think yes, but it will be a long process and we should be doing it in parallel 16:35:23 yup, using own rpc layer is still kind of hacky 16:35:30 ddeja: actually I was going to suggest you be working on that RPC impl ) 16:35:42 ddeja: why? 16:35:45 why hacky? 16:36:13 I was just going to say that after we have our own implementation we still should push on oslo 16:36:22 yes, true 16:36:25 so we can eventually start using it fully 16:36:53 becouse from my perspective it's better if openstack project uses only oslo messaging, not their own solution 16:37:06 but i totaly agree that option 2 is better than 1 :) 16:37:08 +1 16:37:18 but here's my thinking: we could make it configurable so that we explicitly declare that "Ok, we give you a choice to use either oslo.messaging based RPC impl but you won't get at-least-once or you can use AMQP directly with all bells and wistles" 16:37:34 yup 16:37:36 ddeja: yeah, right 16:38:10 another reason I'm saying this: we already spent a year trying to push it into oslo :) 16:38:14 w/o any luck 16:38:29 I'm only thinking if we are going to support only rabbit in our layer? 16:38:34 new people come to oslo, new ptls etc. and we have to start over again and again 16:39:22 ddeja: I think we should start with a flexible design in Mistral itself 16:39:22 what I mean is basically: 16:39:27 our RPC layer is nothing else but ~10 methods 16:39:35 im rpc.py 16:39:40 sure 16:39:51 it could be just an interface (or abstract class) 16:40:34 ok 16:40:58 and for it we could have different implementations like: amqp (could be actually splitted by driver types: say pika and kombu), zero mq, qpid 16:41:10 ok, cool 16:41:19 in practice, most of the time we'll need just rabbit (e.g. with pika) 16:41:29 but we'll have a pattern how to easily create new ones 16:41:49 ddeja: btw, that would allow us to implement that per-task delivery much easier 16:42:05 we could just have it in our design in the first place 16:42:05 I guess I can start with implementation, starting later this week, or in worst case scenario - from Monday 16:42:17 it's basically just another param in our rpc methods 16:42:24 rakhmerov: yup 16:42:28 ddeja: great! 16:42:32 ddeja: just one question 16:42:50 I remember that it was pretty urgent for you to get that hack in 16:43:32 and I wonder if it's critically important to keep it in the code for that month or so while we're working on a good solution? 16:43:38 I mean for you 16:43:41 not really 16:43:53 it was more about beeing in release 16:43:58 ok, then that's good ) 16:43:59 yeah 16:44:33 ddeja: as an option, I'd suggest to restore that hack (in a different form) in your own fork, if needed 16:44:47 if it's badly needed I can even help with it 16:44:57 but it'd be better not to have in master 16:44:58 there is no need for it on master branch ;) 16:45:04 yes 16:45:11 Mitaka is OK 16:45:16 ok 16:45:28 I feel a relief ) 16:45:48 the only thing is to make sure this feature would be also present in Newton :) 16:46:23 ddeja: ok, then ping me when you start working on it, we could first discuss those patches that we have and think over the plan 16:46:40 ddeja: it's feasible, I'm confident 16:46:45 one way or another 16:46:53 we just need to keep working on it 16:47:13 hi 16:47:14 okey, deal 16:47:18 hparekh__: hey ) 16:47:21 rakhmerov: I'll look at those patches first and I will for sure let you know after 16:47:41 my status is working on that bp 16:47:55 filtering one 16:47:58 ddeja: yeah, it's not that trivial and I already have some experience with that so please communicate 16:48:12 will post patch soon 16:48:14 hparekh__: ok, just wanted to ask you about your status ) 16:48:29 hparekh__: I reviewed your patch partially 16:48:40 sorry for the delay, will complete tomorrow 16:49:09 ok no issue 16:49:23 hparekh__: and I cherry picked that patch you pointed to 16:49:24 https://review.openstack.org/#/c/316961/ 16:49:35 I hope it'll help 16:49:41 to fix stable/liberty 16:49:51 oh ok :) 16:50:02 Do we have a spec to show the Oslo guys? 16:50:39 mgershenzon: there is an abandoned spec but honestly I haven't fully read it myself ) 16:50:42 I'm talking about our implementation of at least once 16:50:45 I'll find a patch 16:50:52 mgershenzon: yeah, right 16:51:01 I'll find it and give a link to you 16:51:13 let me do it right away actually... 16:51:16 20 sec 16:51:58 here it is: https://review.openstack.org/#/c/256342/ 16:52:32 as you can see there was a huge huge huge discussion 16:52:39 and as a result it got abandoned 16:53:24 #topic Open Discussion 16:53:30 https://bugs.launchpad.net/mistral/+bug/1581649 16:53:31 Launchpad bug 1581649 in Mistral "Action Execution Response Timeout" [Undecided,New] 16:53:52 We can create a spec on mistral 16:54:09 TripleO devs have run into this issue with Mistral. I saw it at summit and thought it might just be affecting me 16:54:10 mgershenzon: yep 16:54:33 rbrady: yeah, I remember you told me 16:54:39 but it's essentially blocking our integration efforts atm 16:54:52 let me assign it to Newton-1 16:55:29 ok, we can check it tomorrow 16:55:38 rbrady: is theere a workflow definition included in the bug? 16:55:40 it must be something simple 16:55:54 it's affecting all workflow calls 16:56:05 hm, interesting 16:56:19 often the api isn't responding in time 16:56:45 can it be due to ongoing executions? 16:56:51 because we're getting the same error with the mistral cli, the api directly with curl or javascript calls 16:57:05 ok 16:57:41 ddeja: how many calls would I have to make to stop mistral from executing? at this point it's a handful of calls 16:58:27 ddeja: I've tried restarting the mistral services and it has no apparent effect. I still cannot get a consistent result 16:59:01 rbrady: it's really weird, I've never seen people encounter this.. 16:59:20 rbrady: make sure to specify as much info as possible about how to reproduce it 16:59:22 rbrady: I don't know. I'm just wondering if this may be result of lack of resources on the physical servers 16:59:24 and your environment 16:59:48 ddeja: yeah, that's what I thought, just a matter of environment or something 17:00:06 but it needs to be looked at more closely.. 17:00:06 I can setup a bluejeans session or google hangout and share my screen if anyone wants to inspect the environment 17:00:37 rbrady: yeah, I'd be happy too but it's the midnight for me now :) 17:00:47 maybe tomorrow 17:00:53 ooh, shoot... 17:00:59 we need to end the meeting 17:01:10 rbrady: we'll take care of this issue 17:01:24 have to close the meeting 17:01:29 thanks for joining! 17:01:31 bye 17:01:36 thanks 17:01:42 Bye 17:01:45 #endmeeting