Tuesday, 2017-03-14

*** jamielennox is now known as jamielennox|away00:58
*** jamielennox|away is now known as jamielennox01:12
*** zhurong has joined #openstack-mistral01:32
*** bobh has quit IRC02:12
*** bobh has joined #openstack-mistral02:20
*** bobh has quit IRC02:36
*** gongysh has joined #openstack-mistral02:40
*** bobh has joined #openstack-mistral02:41
*** dnalezyty has quit IRC02:59
*** bobh has quit IRC03:16
*** gongysh has quit IRC04:40
*** gongysh has joined #openstack-mistral04:54
*** gongysh has quit IRC04:56
*** gongysh has joined #openstack-mistral05:51
*** shardy has joined #openstack-mistral08:04
rakhmerovd0ugal, mgershen, ddeja, kong: please don't forget to review stuff :)08:23
d0ugalI do try!08:23
*** jaosorior has joined #openstack-mistral08:24
rakhmerovthanks08:37
rakhmerovd0ugal, mgershen: I'm specifically interested very much in: https://review.openstack.org/444732,08:37
rakhmerovhttps://review.openstack.org/444791 and https://review.openstack.org/44484508:38
*** amoralej|off is now known as amoralej08:39
*** gongysh has quit IRC08:45
openstackgerritDougal Matthews proposed openstack/mistral master: Don't create actions with empty arg_lists  https://review.openstack.org/41243308:58
*** jpich has joined #openstack-mistral08:58
*** gongysh has joined #openstack-mistral09:12
*** gongysh has quit IRC09:33
*** therve has joined #openstack-mistral09:38
therved0ugal, Hi! Thanks for understanding my response :)09:39
therveI didn't think I was particularly clear09:39
therved0ugal, I thought the context was extracted from some thread local variables, is it not the caseN09:40
therve?09:40
thervehttps://github.com/openstack/mistral/blob/master/mistral/actions/openstack/actions.py#L76 uses context.ctx(), not some arguments09:40
d0ugaltherve: it is the case now, but with the move to mistral-lib it will change09:46
d0ugaltherve: https://review.openstack.org/#/c/411412/09:47
d0ugaltherve: tl;dr - to make it easier to write custom actions you will depend on mistral-lib, not mistral. Rather than moving the context to mistral-lib it will be passedd to the action by Mistral09:48
d0ugaltherve: and the openstack actions are going to move to mistral-extra (and use mistral-lib - so they can't use the private context access they use now)09:50
therveOK that makes sense09:51
therved0ugal, Then you can pass the context as an argument?09:52
d0ugaltherve: Yeah, the current proposal is to pass it to the run method. See https://review.openstack.org/#/c/411412/11/mistral_lib/actions/base.py09:53
d0ugalLine 4209:53
therved0ugal, Right, I was thinking about the get_client methods09:53
d0ugaltherve: gotcha, that isn't fully planned yet :)09:53
*** zhurong has quit IRC09:54
d0ugaltherve: I have started writing a spec for this work.09:55
therveCool09:55
therved0ugal, I'm happy to help, if I can spread the message that multiple inheritance is evil :)09:55
d0ugalspread? so you are pro-multiple inheritance? :)09:56
therveQuite the opposite :)09:57
d0ugaloh, sorry, I miss-read09:57
d0ugalI thought you said you want to spread multiple inheritance!09:57
d0ugal(not that you want to spread the message)09:57
therve:D09:57
d0ugaltherve: FWIW I generally agree with you, I do think there is value in mixins in some situations but I think the cost is higher than the value add for us09:58
d0ugalmore complexity and harder to document09:58
thervefunctions >>> mixins09:59
d0ugalheh :)09:59
therveMore testable, clear interface09:59
d0ugal+109:59
d0ugaltherve: your example could just become something like "NovaAction().get_client(context)"10:01
therved0ugal, Right10:01
d0ugalor NovaAction.client(context) <- make it a class method and remove the superfluous "get_"10:02
therveYeah there are various ways to make it work10:02
therveThe point it, if you use mixin you probably don't want to have state variables on all the classes10:03
therveAnd if you don't, you're better of with pure functions (or static/class method if you need some nesting)10:03
d0ugalmakes sense10:04
d0ugalrakhmerov: ^ that may be of interest to you10:08
d0ugalrakhmerov: The meeting time change merged - other than sending an email to openstack-dev, do you know what else I need to do?10:08
d0ugaloh, the wiki maybe...10:08
rakhmerovd0ugal: at a meeting now.. will respond later10:13
d0ugalrakhmerov: np, thanks10:14
*** jkilpatr has quit IRC10:39
rakhmerovd0ugal: yep, wiki and ML, I think that's all that's needed10:46
d0ugalrakhmerov: cool, I updated the wiki and I'll send out the email now10:46
rakhmerovtherve, d0ugal: yeah, agree mostly on mixins (and state)10:46
d0ugalrakhmerov: or do you want to do the email and include the calendar invite?10:46
rakhmerovd0ugal: ooh, yeah, let me do this10:47
rakhmerovtherve: I'm not sure though I clearly understand your idea about functions10:47
rakhmerovI saw you wrote more in ML, let me read it first..10:48
d0ugalrakhmerov: my last email may have made it clearer (or maybe not!) :)10:50
rakhmerovreading..10:50
d0ugalrakhmerov: this is what I was going to send: http://paste.openstack.org/show/602659/ - but I'll just let you send the calendar invite instead10:53
rakhmerovthanks, ok10:54
openstackgerritMerged openstack/mistral master: Updated from global requirements  https://review.openstack.org/44509310:54
rakhmerovso, just read last 4 messages in ML10:54
rakhmerovnow I see that we're discussing too different things IMO10:55
rakhmerovI was mostly talking about base actions framework rather than a way to refactor particularly OpenStack actions10:56
rakhmerovas far as OpenStack actions: I understand the problem, agree with the NovaAction.get_client(context) solution. So here I think we shouldn't use multiple inheritance just to have access to two different clients10:57
rakhmerovseems pointless to me10:58
d0ugalrakhmerov: should mistral-extra be considered a Python library?10:59
d0ugalrakhmerov: do we want people to depend on it and import the actions?10:59
d0ugalor do we just want it to be an optional component11:00
rakhmerovhm..11:00
rakhmerovwhy not make it possible to depend on it?11:00
rakhmerovjust thinking..11:01
rakhmerovI think yes, it should be a library also11:01
d0ugalMe too :)11:01
rakhmerovI may want to take some of the action implementations, for example, and extend them, alter their behavior11:01
d0ugalrakhmerov: yup, agreed11:04
d0ugalI think it should be a library, but I wasn't sure if I was too biased because of TripleO11:04
d0ugalI will continue down that direction in the spec11:04
rakhmerovyep11:14
rakhmerovbtw, just replied in the email11:15
rakhmerovhopefully we now understand each other )11:15
*** jkilpatr has joined #openstack-mistral11:19
*** jkilpatr has quit IRC11:27
d0ugalrakhmerov: thanks for the reply, I think that makes sense to me. I agree fully11:38
rakhmerovok11:38
*** jkilpatr has joined #openstack-mistral11:40
openstackgerritDougal Matthews proposed openstack/mistral-lib master: Fix the package name in the docs  https://review.openstack.org/44545512:00
openstackgerritDougal Matthews proposed openstack/mistral-lib master: Fix the package name in the coveragerc  https://review.openstack.org/44545612:00
openstackgerritDougal Matthews proposed openstack/mistral-lib master: Fix the package name in the setup.cfg  https://review.openstack.org/44545712:00
d0ugalrakhmerov: ^ I spotted a few issues with naming in mistral-lib.12:00
rakhmerovok12:00
rakhmerovI'll look at it12:00
d0ugalmgershen: btw, I think it is okay to +2 before the tests pass :) but it is up to you12:01
rakhmerovdone12:02
rakhmerovyeah, I usually approve even before the tests pass. If they fail the patch will block anyway..12:02
d0ugalInteresting, I don't do that - but mostly because TripleO CI is a bit special :)12:03
d0ugalso I probably could in Mistral12:03
*** gongysh has joined #openstack-mistral12:37
*** dprince has joined #openstack-mistral12:49
*** amoralej is now known as amoralej|lunch12:53
*** catintheroof has joined #openstack-mistral12:58
*** catintheroof has quit IRC12:59
*** catintheroof has joined #openstack-mistral12:59
*** gongysh has quit IRC13:03
*** chlong has joined #openstack-mistral13:04
openstackgerritMerged openstack/mistral-lib master: Fix the package name in the docs  https://review.openstack.org/44545513:05
openstackgerritIstvan Imre proposed openstack/mistral master: Log stack trace if action initialization faild  https://review.openstack.org/44548413:05
*** fultonj has joined #openstack-mistral13:11
*** catinthe_ has joined #openstack-mistral13:41
*** catintheroof has quit IRC13:41
*** catintheroof has joined #openstack-mistral13:45
*** catinthe_ has quit IRC13:45
*** IRCFrEAK has joined #openstack-mistral13:46
*** IRCFrEAK has quit IRC13:48
*** amoralej|lunch is now known as amoralej14:08
*** toure|gone is now known as toure14:13
openstackgerritRyan Brady proposed openstack/mistral-lib master: Adds minimum common shared code for custom actions API  https://review.openstack.org/41141214:18
toured0ugal rakhmerov good morning/evening are my proposed changes +1 or -1 or off the deep end :)14:34
*** bobh has joined #openstack-mistral14:34
d0ugaltoure: oh, I've not looked yet14:34
d0ugaltoure: which changes?14:35
tourehttps://review.openstack.org/#/c/443217/14:35
toureerror analysis14:35
tourethanks14:35
d0ugaltoure: oh, the spec. I'll take a look14:35
toureyup14:35
tourethanks14:35
d0ugalI actually don't know that much about this one, so I might have some silly questions.14:35
toureno silly questions, just silly answers14:36
toure:)14:36
d0ugallol14:36
*** shardy has quit IRC14:37
*** shardy has joined #openstack-mistral14:37
openstackgerritMerged openstack/mistral-lib master: Fix the package name in the coveragerc  https://review.openstack.org/44545614:38
d0ugaltoure: What would the input to this command be? The execution ID?14:40
toureI am going back an forth on that14:41
toureshould it be something which the method searches for in regards to the state14:41
toureor should the user provide the id14:41
toured0ugal I will probably go with the simpler solution and ask the user to provide the id14:42
d0ugaltoure: yeah, I assume the user would pass the ID14:43
toureyeah14:43
tourealso I changed the verbiage of the command14:43
d0ugaltoure: we have other commands like "mistral execution-get $ID" and "mistral execution-get-output $ID"14:43
d0ugalso I wondered if it makes sense to group it with them14:43
d0ugal"mistral exeuction-get-errors $ID" or something14:44
d0ugalI'm just thinking "out loud" at the moment :)14:44
tourewell I was thinking if we wanted to expand the functionality of the reporting method the new verbiage would allow that flexibility14:45
toure"mistral report generate"14:45
toure"mistral report list"14:45
toureif we want to store historical data14:45
d0ugaltoure: right, makes sense14:46
toured0ugal do you like the draft output?14:47
touremaybe missing something?14:47
d0ugaltoure: Still processing it a bit :)14:47
tourebut I figured I should keep it concise14:47
toure:)14:47
tourekk14:47
d0ugaltoure: I think the workflow structure could be problematic, that could be large14:48
d0ugaltoure: I'm also not sure how the marker would work14:48
d0ugaltoure: I don't think there is a marker in the example?14:48
toureI am looking into that part14:48
d0ugaltoure: Once Mistral has parsed the YAML and created the internal representation of the workflow it is tricky to go back to the original definition and point to a location14:49
touretrue14:49
* toure drops marker and workflow dump14:49
d0ugaltoure: You don't need to drop the idea, it should be possible - I just think it could also be tricky :)14:50
tourekk14:50
d0ugaltoure: I was trying to do something recently when writing a linter for Mistral :)14:51
tourecool, that is what I was thinking of writing14:52
toure:)14:52
d0ugaltoure: https://github.com/d0ugal/mistral-lint14:52
d0ugaltoure: I think it would be useful to include the task input/output and the action input/output14:52
tourecool14:52
toureyeah14:52
toureso we get the offending variable from the error output14:53
* toure inside voice 14:53
d0ugaltoure: but I think it generally looks good - I suspect that we will need to play with the output a bit and tweak it once we see real data14:54
toureyeah14:54
d0ugaltoure: so maybe we could add some flags to filter/expand the output.14:54
d0ugaltoure: mistral report-generate --include-workflow14:54
d0ugalmaybe that would include the structure and the marker if we can do it14:54
d0ugal... for example14:54
tourethat is a good idea14:54
touremaybe a different object name instead of report?14:55
d0ugaltoure: you know what could be cool? Something a bit like a stack trace.14:55
toureack14:56
d0ugalI'm not sure what it would look like, but it might be useful14:56
* d0ugal attempts to mock an example14:56
toured0ugal so instead of traceback output could we report a enumerated diag list, kinda like your linter14:57
toureE101: bad input for var: foo with {"blah nah ha"}14:58
toureE101: bad input for variable foo with {"blah nah ha"}14:59
tourebrb..going to get some water14:59
d0ugaltoure: http://paste.openstack.org/show/602697/15:00
d0ugaltoure: so if we just displayed something like a tree with the minimum information then you could see why it failed15:01
d0ugaltoure: so in that example the main workflow failed because task_b in the sub-workflow failed15:01
d0ugalfor large executions we could have an option to only show errored tasks/workflows15:01
toureI like it15:03
toureso that is what I was kinda getting at in the draft15:04
d0ugaltoure: and that should be quite easy to generate I think15:04
d0ugalfamous last words :-D15:04
toure:)15:04
toure99% of the code will be written and that will be the 1% which take forever to get right15:05
toure:)15:05
d0ugalhaha, indeed15:05
d0ugalwe can all have fun coming up with obscure workflows for it :)15:05
d0ugaltoure: do you want me to copy this ^ onto the review? or is it fine here?15:05
toureyes please15:06
tourethanks for the idea15:06
*** fultonj has quit IRC15:49
*** fultonj has joined #openstack-mistral15:57
*** jkilpatr has quit IRC16:10
*** jkilpatr has joined #openstack-mistral16:23
*** rbrady is now known as rbrady-afk16:48
*** bobh has quit IRC16:53
*** d0ugal has quit IRC16:55
*** jaosorior has quit IRC17:45
*** jpich has quit IRC17:45
*** bobh has joined #openstack-mistral17:54
*** bobh has quit IRC17:58
*** d0ugal has joined #openstack-mistral17:59
*** d0ugal has quit IRC18:04
*** bobh has joined #openstack-mistral18:05
*** rbrady-afk is now known as rbrady18:09
*** jkilpatr has quit IRC18:12
*** jkilpatr has joined #openstack-mistral18:13
*** dprince has quit IRC18:38
*** rbrady is now known as rbrady-afk18:38
*** shardy is now known as shardy_afk18:45
*** amoralej is now known as amoralej|off19:43
*** dprince has joined #openstack-mistral20:35
*** jkilpatr has quit IRC20:37
openstackgerritToure Dunnon proposed openstack/mistral-specs master: [WIP] Workflow Error Analysis  https://review.openstack.org/44321720:38
*** jkilpatr has joined #openstack-mistral20:58
*** toure is now known as toure|gone21:01
*** fultonj has quit IRC21:17
*** catintheroof has quit IRC21:46
*** dprince has quit IRC21:56
*** bobh has quit IRC22:12
*** thrash is now known as thrash|g0ne22:13
*** bobh has joined #openstack-mistral23:13

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!