Friday, 2018-07-13

*** harlowja has quit IRC01:05
*** bobh has joined #openstack-mistral02:26
*** bobh has quit IRC03:06
*** apetrich has quit IRC03:23
*** apetrich has joined #openstack-mistral03:24
rakhmerovd0ugal, pgaxatte: we can't just change the merging strategy in a hard coded manner03:50
rakhmerovwe've discussed it a lot with many people and yes, d0ugal is right, that many find this merging strategy confusing03:51
rakhmerovthat's why we ended up having a "replace" vs "merge"03:51
rakhmerovbut I think a config option (to make changes to all workflows) + a variable in workflow environments (to change it per workflow) would be ok03:52
rakhmerovbut leaving the current one by default03:52
*** harlowja has joined #openstack-mistral04:25
*** harlowja has quit IRC04:44
*** bobh has joined #openstack-mistral04:55
*** hardikjasani has joined #openstack-mistral05:28
*** bobh has quit IRC06:00
*** bobh has joined #openstack-mistral06:03
pgaxatterakhmerov: I agree the current behavior should stay the default one06:51
*** gkadam has joined #openstack-mistral07:01
*** bobh has quit IRC07:15
*** bobh has joined #openstack-mistral07:48
*** kimamisa has joined #openstack-mistral07:49
d0ugalrakhmerov: I don't like the idea of a config for this.07:59
d0ugalrakhmerov: it reduces workflow portability.08:00
d0ugal#startmeeting mistral08:00
openstackMeeting started Fri Jul 13 08:00:16 2018 UTC and is due to finish in 60 minutes.  The chair is d0ugal. Information about MeetBot at http://wiki.debian.org/MeetBot.08:00
openstackUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.08:00
*** openstack changes topic to " (Meeting topic: mistral)"08:00
openstackThe meeting name has been set to 'mistral'08:00
rakhmerovd0ugal: that's why the current behaviour should be the default one08:00
d0ugalMorning everyone! It is the Friday office hour slot!08:00
rakhmerovhi!08:00
d0ugalEtherpad: https://etherpad.openstack.org/p/mistral-office-hours08:00
d0ugal^ apetrich, bobh, mcdoker18181808:00
d0ugalrakhmerov: indeed, changing the default is bad.08:01
d0ugalrakhmerov: but couldn't the workflow DSL have something to control if it is merging or replacing?08:01
rakhmerovd0ugal: yeah, but maybe just having a reserved env variable is enough08:01
rakhmerovd0ugal: aaah, changing DSL again :)08:01
rakhmerovmy guts are against it..08:02
d0ugallol08:02
rakhmerov:)08:02
d0ugalI guess we need somebody to come up with a proposal and then we can discuss it there08:02
rakhmerovyep08:02
rakhmerovVitalii I guess )08:02
d0ugalIndeed.08:02
rakhmerovbtw, I have something to discuss08:02
rakhmerovhttps://blueprints.launchpad.net/mistral/+spec/mistral-http-action-binary-data08:02
rakhmerovjust created08:02
rakhmerovmy colleagues would like to have this ability in some form08:03
d0ugalInteresting08:03
rakhmerovbut I have doubts about how to implement it properly08:03
rakhmerovyeah08:03
rakhmerovworking with a file system doesn't look right to me08:04
rakhmerovso base64 encoding maybe08:04
d0ugalyeah, I would prefer base6408:04
d0ugalbut I guess binary data can sometimes be large? that might be bad for the database?08:04
rakhmerovd0ugal: of course..08:05
rakhmerovyes08:05
d0ugalUsing Mistral with another service in the case might be best? Something like Swift could work08:05
rakhmerovmay be setting some limit would be reasonable08:05
rakhmerovor something like this, yes..08:06
rakhmerovsomething that's specifically designed for that08:06
rakhmerovfor storing large data08:06
d0ugalIs this something you hope to do for rocky?08:06
rakhmerovno08:06
rakhmerovI don't think it's feasible08:06
rakhmerovgiven all other things that i'm hoping to achieve08:06
rakhmerovnext cycle08:07
d0ugal:)08:07
d0ugalbut that is good, then we have time to think about it more08:08
rakhmerovyeah08:08
rakhmerovusing an external storage seems the best solution for me BUT08:08
rakhmerovwe need to have that external storage :)08:08
rakhmerovlots of people (including us) don't care about OpenStack that much08:09
d0ugalIndeed08:09
rakhmerov:)08:09
d0ugalI guess it could be pluggable08:09
rakhmerovyes08:09
rakhmerovthrough some interface08:09
d0ugalYeah, and I guess the interface could be very simple08:09
rakhmerovotherwise, our DB would be abused08:09
d0ugal(so easy to implement on other backends)08:09
rakhmerovyep08:09
d0ugalThe Mistral DB could even be a backend, but with with warnings and limitations08:10
rakhmerovso it could look like just an additional option in std.http to store content into that storage08:10
rakhmerovand then if it's needed we could have a YAQL/JINJA function to extract it08:10
rakhmerovyeah, agree with your latest thought08:10
rakhmerovyes08:10
d0ugalSounds good08:10
rakhmerovarchitecturally it would be more proper solution08:11
rakhmerovI think I'll copy our conversation to the BP description08:11
rakhmerovdo you mind?08:11
d0ugalrakhmerov: sure, go for it08:12
rakhmerovok08:12
d0ugalit is in the meeting log anyway :)08:12
rakhmerovother than that I don't seem to have anything else important08:14
pgaxattehello08:14
d0ugalI remember a bug/blueprint (but can't find it now) about passing files into workflows. I wonder if we could use the same storage mechanism to solve that08:14
d0ugalpgaxatte: hey08:14
d0ugalFound it. https://bugs.launchpad.net/mistral/+bug/160259908:14
openstackLaunchpad bug 1602599 in Mistral "Accept multipart file upload as input to Mistral workflows" [Low,Triaged]08:14
rakhmerovd0ugal: yeah-yeah, I think it's all different sides of the same problem08:15
rakhmerovthe bottom line is that we need some kind of storage that better works with large data and binary files08:16
d0ugalYup08:16
d0ugaland then we could reduce some of our db col sizes :)08:16
rakhmerovyes08:17
rakhmerovwe've also considered using Glare for some related things too08:17
d0ugaloh yes, I remember that.08:17
d0ugalI have not heard about Glare in some time...08:17
rakhmerovbut, as it often happens, we didn't move too far with that08:17
d0ugal:)08:17
pgaxattefor the storage part, could it be done with swift if you have it available on your cloud08:17
pgaxatte?08:18
rakhmerovd0ugal: yeah, because Mike is now your colleague :)08:18
rakhmerovpgaxatte: Swift, yes, don't see why not08:18
*** shardy has joined #openstack-mistral08:18
pgaxatterakhmerov: like a swift container as destination of a std.http action08:19
d0ugaloh, I didn't realise he was the main contributor08:19
pgaxatteas destination or source08:19
rakhmerovpgaxatte: we already have swift integration now (swift actions) but the tricky part is that this integration needs to be deeper08:19
rakhmerovimagine std.http action08:19
rakhmerovit needs to be smart enough to understand to store its result into Swift08:19
rakhmerovw/o even using a swift action implicitly08:19
rakhmerovotherwise, we again face the problem of keeping the result temporarily in the context08:20
pgaxatteyes that's tricky :)08:20
rakhmerovwhich is relational DB08:20
rakhmerovyep08:20
d0ugalA very simple option would be to add specialised options std.http_swift for example08:20
rakhmerovso, seems like just having swift actions doesn't help much08:20
pgaxatteyes d0ugal that's what I was thinking08:20
d0ugalbut I would prefer a more general solution I think08:21
pgaxatted0ugal, rakhmerov: I have a question on another subject: is it possible to use two different executors that would have different network access and different security levels and specify in a single workflow that an action should be run on the more secure executor08:26
pgaxattelike a tag system08:26
pgaxatteno tag = this action can run anywhere08:26
pgaxattespecific tag = run on specific executor08:26
d0ugalpgaxatte: have you seen the target task attribute?08:27
d0ugalI have never actually used this, but it might do some of what you want08:27
d0ugalIt isn't exactly the same...08:27
d0ugalhttps://docs.openstack.org/mistral/latest/user/wf_lang_v2.html#common-task-attributes08:27
d0ugal"target - String parameter. It defines an executor to which task action should be sent to. Target here physically means a name of executors group but task will be run only on one of them. Optional."08:28
d0ugalI can't find any other docs on it08:28
pgaxatted0ugal: yeah that could be what we're looking for08:29
d0ugalpgaxatte: https://github.com/openstack/mistral/blob/1e577ae73925f7703a5d4e4452855208d0788679/mistral/tests/unit/engine/test_environment.py#L5308:30
d0ugalIt is used in the tests here :)08:30
pgaxattebut how do you group the executors? I don't see the option in conf08:30
d0ugalI was wondering that too!08:30
d0ugalI'm sure rakhmerov knows, but lets see if I can find out before he responds :)08:31
pgaxatte:D08:31
rakhmerovsorry08:34
rakhmerovI was out for a few mins..08:34
rakhmerovreading..08:34
rakhmerovpgaxatte: I think it's a problem of our doc again08:36
pgaxatterakhmerov: yeah this info is hard to find08:36
rakhmerovthere needs to be the "host" property in the executor config08:36
rakhmerovif I'm not mistaken..08:36
rakhmerovbut looks like it's not documented, gosh08:36
*** bobh has quit IRC08:37
d0ugalhttps://github.com/openstack/mistral/blob/master/mistral/config.py#L147-L15308:37
pgaxatteit's in the config template at least :D08:37
pgaxatte# Name of the executor node. This can be an opaque identifier. It is08:37
pgaxatte# not necessarily a hostname, FQDN, or IP address. (unknown value)08:37
pgaxatte#host = 0.0.0.008:37
d0ugal:)08:37
rakhmerovyes, this is confusing08:37
rakhmerovthe thing is that several executors can have the same value here08:38
rakhmerovlike "executor_group_1"08:38
rakhmerovand then if the "target" is specified, the action will be sent to one of such executors08:38
pgaxattemaybe mentionning that this is related to the target option is a good start ^^08:38
rakhmerovit's just a matter of building a topic for rabbit08:38
d0ugaland if they have the same value, how are executions chosen? round robin?08:38
rakhmerovpgaxatte: yep08:39
rakhmerovd0ugal: yeah, pretty much08:39
rakhmerovround robin by default, yes, it actually fully depends on the message broker08:39
rakhmerovbecause on the client side (mistral engine), it's simply a non-empty topic for the messaging system08:39
rakhmerovthat's it08:40
rakhmerovthen MQ decides what receiver is chosen08:40
pgaxatterakhmerov: that's awesome because it is as simple as I was hoping :D08:40
rakhmerovyeah :)08:41
rakhmerovso, I have to admin that the doc is fairly bad for this08:41
rakhmerovincluding the comment in the config08:41
rakhmerovworth filing a bug08:41
rakhmerov.. to admit..08:41
rakhmerovlet me do it08:42
d0ugalThanks :)08:43
pgaxatterakhmerov: are there any blueprints to reorganize the whole documentation?08:44
d0ugalpgaxatte: there is at least one :)08:45
rakhmerovhttps://bugs.launchpad.net/mistral/+bug/178155608:45
openstackLaunchpad bug 1781556 in Mistral "Improve the doc for "target" task parameter" [Undecided,New]08:45
rakhmerovpgaxatte: yeah, we keep improving the doc step by step but we've also discussed that we need to reorganize it08:46
rakhmerovd0ugal: not sure where this BP is.. I remember someone filed it recently (a month ago may be)08:46
pgaxatteI like how the heat documentation is structured: operating, using, developing08:47
d0ugalpgaxatte: yeah, we have discussed something like that several times.08:47
d0ugalThe problem is finding somebody that knows Mistral well enough and has the time to write lots of documentation08:47
d0ugalso we end up stuck every time08:47
pgaxatted0ugal: yeah that's hard to find08:48
rakhmerovthere it is: https://blueprints.launchpad.net/mistral/+spec/mistral-new-docs08:48
rakhmerovthere's even a spec for this08:49
rakhmerovsee a link in the BP08:49
d0ugalYup, the spec needs lots of discussion however08:49
rakhmerovyes08:49
rakhmerovI know I could do that well but I have no idea when I'll be able to have enough focus on that08:50
rakhmerovthis work requires a lot of focus during a month-two08:50
d0ugal#endmeeting09:02
*** openstack changes topic to "Mistral the Workflow Service for OpenStack. https://docs.openstack.org/mistral/latest/"09:02
openstackMeeting ended Fri Jul 13 09:02:04 2018 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)09:02
openstackMinutes:        http://eavesdrop.openstack.org/meetings/mistral/2018/mistral.2018-07-13-08.00.html09:02
openstackMinutes (text): http://eavesdrop.openstack.org/meetings/mistral/2018/mistral.2018-07-13-08.00.txt09:02
openstackLog:            http://eavesdrop.openstack.org/meetings/mistral/2018/mistral.2018-07-13-08.00.log.html09:02
rakhmerovd0ugal: as far as https://review.openstack.org/#/c/581059/2/mistral/actions/std_actions.py09:27
rakhmerovnot sure I understand actually..09:27
rakhmerovthe idea is that this is an async action and the return value of its "run" method is not important09:27
rakhmerovd0ugal: can you elaborate?09:27
d0ugalrakhmerov: hmm, yeah09:28
d0ugalI think I was confused09:28
rakhmerovmaybe it's just not enough..09:28
openstackgerritHardik Jasani proposed openstack/mistral master: [WIP] Add namespace support for workbooks and actions  https://review.openstack.org/58248209:29
d0ugalI seen the PR on github and thought it made sense09:29
rakhmerovjust thinking about the case when if we didn't successfully reach the host09:29
rakhmerovin the first place09:29
d0ugalright09:29
d0ugalthat is it09:29
rakhmerovso that it doesn't even make sense to wait for a result09:29
rakhmerovok, that's right but09:29
d0ugalbut then don't we have an issue because it will return a result and also has is_sync = False09:29
rakhmerovbut I'm still not sure if this return value will be processed by Mistral somehow09:29
d0ugalwill the result be used?09:29
d0ugalRIght09:30
d0ugalhmm09:30
rakhmerovI'm not sure09:30
rakhmerovmost likely not09:30
rakhmerovlet me look at the code..09:30
rakhmerovexecutor09:30
d0ugalI'll mark it as -1 Workflow for now, sounds like I need to do some testing.09:30
rakhmerov100%09:31
rakhmerovyes, look at this: https://github.com/openstack/mistral/blob/master/mistral/executors/default_executor.py#L14209:33
rakhmerovd0ugal: ^09:33
rakhmerovthe result is just ignored if it's an async action09:33
rakhmerovOoh, no!09:34
rakhmerovaction.is_sync() or result.is_error()09:34
rakhmerovso if this is error then it's not ignored..09:35
rakhmerovseems like09:35
rakhmerovyeah, d0ugal, it all should work09:37
rakhmerovthe HTTP action (base class) has:09:38
rakhmerov        if resp.status_code not in range(200, 307):09:38
rakhmerov            return actions.Result(error=_result)09:38
rakhmerovso it returns an error result in this case09:38
rakhmerovfalse alarm09:38
rakhmerovbut more testing would still be good09:38
d0ugalAgreed,09:42
d0ugalI'll do some manual testing and add a test case09:42
rakhmerov👌10:13
hardikjasaniSo I faced this issue this morning https://bugs.launchpad.net/mistral/+bug/178154810:15
openstackLaunchpad bug 1781548 in Mistral "std.ssh doesn't work with python3" [Undecided,New]10:15
hardikjasaniProbably missed in the office-hours10:16
rakhmerovooh10:16
rakhmerovinteresting10:16
d0ugalhardikjasani: we didn't get to bugs this time :)10:16
hardikjasanid0ugal: not blocking but important :)10:19
d0ugalhardikjasani: agreed. Hopefully it should be fairly easy to fix too10:28
d0ugalrakhmerov: I have a simple Mistral setup on my laptop with docker, and it is mostly working. workflow-list works fine but execution-create and run-action etc. just hang and I don't see anything in the logs10:39
d0ugalrakhmerov: does that mean it is failing to connect to rabbit? not sure how to debug it.10:39
d0ugalThis is the only line I get in the logs: http://paste.openstack.org/show/725809/10:40
*** shardy is now known as shardy_mtg12:59
*** shardy_mtg is now known as shardy13:26
*** rbrady has quit IRC14:05
*** shardy has quit IRC14:46
*** EmilienM is now known as EvilienM15:18
*** hardikjasani has quit IRC15:26
*** bobh has joined #openstack-mistral15:47
*** harlowja has joined #openstack-mistral16:08
*** harlowja has quit IRC16:10
*** kimamisa has quit IRC16:30
*** gkadam has quit IRC16:55
*** bobh has quit IRC16:58
*** bobh has joined #openstack-mistral17:32
*** bobh has quit IRC17:42
*** jistr has quit IRC18:11
*** jistr has joined #openstack-mistral18:11
*** bobh has joined #openstack-mistral18:12
*** bobh has quit IRC18:16
*** kimamisa has joined #openstack-mistral18:17
*** bobh has joined #openstack-mistral18:30
*** kimamisa has quit IRC18:41
*** kimamisa has joined #openstack-mistral18:44
*** gkadam has joined #openstack-mistral18:50
*** gkadam has quit IRC19:17
*** kimamisa has quit IRC19:34
*** mmethot_ has quit IRC19:50
*** kimamisa has joined #openstack-mistral19:50
*** mmethot has joined #openstack-mistral19:51
*** kimamisa_ has joined #openstack-mistral19:56
*** kimamisa has quit IRC19:56
*** kimamisa_ has quit IRC20:04
*** kimamisa has joined #openstack-mistral20:05
*** kimamisa has quit IRC20:07
*** kimamisa has joined #openstack-mistral20:11
*** kimamisa has quit IRC20:18
*** kimamisa has joined #openstack-mistral20:40
*** kimamisa has quit IRC21:15
*** nguyenhai93 has joined #openstack-mistral21:26
*** nguyenhai_ has quit IRC21:29
*** bobh has quit IRC22:14

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