Wednesday, 2019-09-11

*** d0ugal has quit IRC01:38
*** d0ugal has joined #openstack-mistral01:53
*** csatari has quit IRC03:42
*** csatari has joined #openstack-mistral03:45
openstackgerritRenat Akhmerov proposed openstack/mistral master: moved generic util functions from mistral to mistral-lib  https://review.opendev.org/67637304:23
*** eyalb has joined #openstack-mistral04:57
*** jtomasek has joined #openstack-mistral05:13
*** boxiang has joined #openstack-mistral05:42
*** pgaxatte has joined #openstack-mistral06:26
*** ricolin has joined #openstack-mistral06:38
*** ricolin has quit IRC06:39
openstackgerritMerged openstack/mistral master: Add db api tests for scheduled jobs  https://review.opendev.org/66955906:40
boxianghi everyone here06:45
boxiangI meet a problem when I use the mistral cron trigger06:45
boxiangI create a workflow which will create a volume and also will create a trigger such as deleting volume.06:46
boxiangthen I create a cron trigger for this workflow06:47
boxiangbut when the cron trigger is running, we meet some error info in mistral-executor.log06:48
boxiangas followed06:48
boxiangAuthorization failed: You are not authorized to perform the requested action: Using trust-scoped token to create another token. Create a new trust-scoped token instead.06:49
boxianganybody knows how to handle this?06:50
boxiangthanks06:50
rakhmerovboxiang: hi07:53
rakhmerovwhat this something similar? https://review.opendev.org/#/c/680858/07:53
rakhmerovwas..07:53
rakhmerovI guess it's your patch, no?07:54
rakhmerovboxiang: we are generally aware of such issues with trusts, but they are not really solved yet in a good way07:55
rakhmerov#startmeeting Mistral08:00
openstackMeeting started Wed Sep 11 08:00:43 2019 UTC and is due to finish in 60 minutes.  The chair is rakhmerov. 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
rakhmerovhi all08:00
openstackThe meeting name has been set to 'mistral'08:00
vgvoleghi!08:00
rakhmerovif there's anyone here for the meeting reveal yourself! )08:01
rakhmerovvgvoleg: hi08:01
rakhmeroveyalb: ^08:01
vgvolegI'd like to discuss something08:02
rakhmerovguys, I have to step away urgently for 20-30 mins. Oleg, please start writing your topics/questions, I'll join later08:02
vgvolegFirst of all, I've found that notifier base is not moved to mistral_lib08:02
vgvolegso to write custom publisher we should import mistral08:03
vgvolegI guess that it is not OK and I'm going to move it08:03
vgvolegNod if you agree :D08:04
rakhmerovNodding.. )08:04
vgvolegSecondly, I've found that PUT operations in our api are not safe at all08:04
rakhmerov?08:05
vgvolegWe can break anything if we send multiple put requests to one execution08:06
vgvolegno check mechanisms08:06
vgvolegno locks08:06
vgvolegwe can send contradictory commands to engine at the same time08:07
vgvolegit is not ok08:07
vgvolegAnd, IMO, it should be fixed on the api side08:08
vgvolegBut I don't know how to do it nice08:08
vgvolegAnd the third topic I'd like to discuss it our ERROR state08:09
vgvolegin our state machine, SUCCESS is truly terminal, we can't do anything with execution if it was completed successfully08:10
vgvolegbut ERROR is not truly terminal - we can rerun it, for example08:10
vgvolegand I think that it is a gap, that we don't have truly terminal state to indicate error08:11
vgvolegSomething that moves ERROR execution to read-only08:12
vgvolegSomething that means "OK, we don't care that it is failed and we are not going to do anything with it"08:13
vgvolegI think we can use CANCELLED state for it, but current implementation does not support this transaction08:14
vgvolegmaybe we should add any additional state for this08:15
openstackgerrityatin proposed openstack/mistral master: moved generic util functions from mistral to mistral-lib  https://review.opendev.org/67637308:15
vgvolegI dont know tbh08:15
vgvolegSo I'll be glad to listen your opinion08:16
rakhmerovI'm here08:22
rakhmerovreading..08:22
rakhmerovvgvoleg: on your 2nd thing, can you given an example?08:22
vgvolegrakhmerov: sure, we can send two PUT requests to /v2/executions, the first request should pause execution, the second one should cancel it08:24
rakhmerovon #3 I don't see why it is a real problem. It's all kind of relative, terminal or non-terminal. ERROR is really considered terminal from perspective of the running workflow08:24
rakhmerovrerun mechanism is not a regular part of the execution process08:24
rakhmerovvgvoleg: so what can happen?08:25
vgvolegand API will send two commands to the engine08:25
vgvolegwhich is not ok08:25
rakhmerovso?08:25
rakhmerovwhat bad is going to happen?08:25
rakhmerovwhat's going to break?08:26
vgvolegit's a dice roll08:26
rakhmerovwhy?08:26
rakhmerovOleg, it is something that a user can legally do08:27
rakhmerovit's out of our control08:27
rakhmerovyes, they can do it virtually simulteneously08:27
rakhmerovbut what will be broken in Mistral?08:27
vgvolegok, I dont have the concrete example right now :D08:28
rakhmerovif the CANCEL request comes first it will win, the PAUSE request will fail because it'll see that the execution is not in a proper state08:28
rakhmerovif we'll have an opposite order I don't see any issues as well08:29
rakhmerovas far as I remember we can legally cancel workflows that are in PAUSE state08:29
vgvolegok ok ok I'll find a bug for sure08:29
vgvolegabout #308:30
rakhmerovremember that in both cases it will be one DB TX08:30
vgvolegwe should strictly separate terminal states and not-terminal states08:30
rakhmerovit will either fail w/o changing anything in DB or will succeed and not let the other one make changes08:30
rakhmerovvgvoleg: what does "strictly" mean here?08:31
vgvolegsince we have rerun mechanism, ERROR is not terminal state08:31
rakhmerovit is a terminal state from perspective of the certain scenario08:31
vgvolegso we can't work with it like it is a read-only08:31
vgvolegwe can't cache it and so on08:31
rakhmerovok, what's the practical task you're trying to solve? )08:32
rakhmerovwe can but we need to do a better job when caching08:32
rakhmerovinvalidating etc.08:32
vgvolegI want to have a state that means ERROR, but will be read only08:33
rakhmerovwhat will be the difference?08:33
rakhmerovfrom the regular ERROR?08:33
vgvolegso that I’m sure that it will not change08:33
rakhmerovI don't understand08:33
vgvolegthe current ERROR execution could be changed08:34
rakhmerovwhat's the point? Why can't we rerun a workflow in that state too?08:34
vgvolegbecause it is read only08:34
rakhmerovI mean logically what will be the difference?08:35
vgvolegit is a terminal state, that means it will be not changed08:35
rakhmerovhow are we going to explain user why we can rerun one ERROR state and can't rerun another kind of ERROR state?08:35
vgvolegso there will be a transition (something like) TEMPORARY ERROR -> ERROR08:36
vgvolegand this will be human-initiated operation08:36
rakhmerovnope08:37
rakhmerovI fail to understand this..08:37
vgvolegRenat right now we call ERROR state as a terminal08:37
vgvolegbut it is not terminal state08:37
rakhmerovso all workflows have to be moved to that state only if a human says to do so?08:37
vgvolegso I want to have the FINAL_ERROR state08:38
rakhmerovOleg, again: in a certain scenario it is a terminal state08:38
rakhmerovcaching is a completely different problem08:38
rakhmerovit's an implementation issue that we need to solve08:38
vgvolegcaching was my stupid example08:38
rakhmerovw/o letting users know about it08:38
vgvolegof use cases of read only objects08:39
vgvolegI told about external caching08:39
vgvolegnot in Mistral08:39
rakhmerovI don't see any point in having one more state for ERROR, really. What would be an explanation for users?08:39
rakhmerovimagine someone coming here and asking "Guys, why did you add one more state? I lived just fine w/o it."08:40
rakhmerovwhat are you going to answer?08:40
vgvolegBecause we want to be honest with our clients08:40
vgvolegERROR is not terminal08:40
rakhmerov"The new state is terminal, the old one is not" ?08:40
vgvolegyes08:40
vgvoleg:)08:40
rakhmerovvgvoleg: Oleg, lots of clients don't care it all whether something is terminal or not :)08:41
vgvolegbecause right now we say that ERROR is a terminal state08:41
rakhmerovin a certain (most common) scenario it's 100% true08:41
vgvolegyes08:42
vgvolegsure08:42
rakhmerovlet's not bother users with such mathematical kid of terms at all. It's not what they care about08:42
vgvoleguntil people find out that mistral has an amazing feature like rerun08:43
rakhmerovERROR is a truly terminal state meaning that a system doesn't have an automatic algorithm that can change this state to something else08:43
rakhmerovonly a human reasonably can08:43
rakhmerovbut in this case they know what they are doing and they don't care if it's not considered globally terminal anymore08:44
rakhmerovbecause it's they decision to change it08:44
rakhmerovbut if we're talking about automatic processing it's 100% terminal08:44
vgvolegwhile we say that this is a terminal state, users can assume that such a state does not change, they can build their logic around this08:45
rakhmerovagain: they make a decision to change this state themselves :)08:46
rakhmerovthey know that it can change08:47
vgvolegok I got what you mean08:47
rakhmerovbut only if they want to08:47
rakhmerovautomatically it can never ever change to something else08:47
vgvolegprobably I'll return with this discussion when there will be more people :D08:49
vgvolegthat's all, thank you!08:50
rakhmerovok :)08:51
boxiangrakhmerov: https://review.opendev.org/#/c/680858/ can not fix my issue.08:51
rakhmerovok, let's wrap for now08:55
rakhmerov#endmeeting08:55
*** openstack changes topic to "Mistral the Workflow Service for OpenStack. https://docs.openstack.org/mistral/latest/"08:55
openstackMeeting ended Wed Sep 11 08:55:08 2019 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)08:55
openstackMinutes:        http://eavesdrop.openstack.org/meetings/mistral/2019/mistral.2019-09-11-08.00.html08:55
rakhmerovboxiang: ok08:55
openstackMinutes (text): http://eavesdrop.openstack.org/meetings/mistral/2019/mistral.2019-09-11-08.00.txt08:55
openstackLog:            http://eavesdrop.openstack.org/meetings/mistral/2019/mistral.2019-09-11-08.00.log.html08:55
boxiangbut for the patch you have pasted, I alse meet the issue. And after I apply the patch, I find it can fix the bug https://bugs.launchpad.net/mistral/+bug/184317508:57
openstackLaunchpad bug 1843175 in Mistral "Error validate token when run an action with cron trigger" [Medium,In progress] - Assigned to Bo Tran (ministry.nd)08:57
boxiangrakhmerov: but my issue is not for normal user to use cron trigger08:57
boxiangin short, just like in cron trigger to create a new cron trigger08:58
boxiangbut it failed08:58
boxiangrakhmerov: thanks :)08:59
*** zhubx has joined #openstack-mistral09:26
*** boxiang has quit IRC09:29
*** pgaxatte has quit IRC09:52
*** vgvoleg has quit IRC10:06
*** d0ugal has quit IRC10:16
*** d0ugal has joined #openstack-mistral10:30
openstackgerritEyal proposed openstack/mistral master: Add a cookiecutter template to generate custom stuff  https://review.opendev.org/67978212:08
*** pgaxatte has joined #openstack-mistral12:10
openstackgerritBo Tran proposed openstack/mistral-dashboard master: Add pagination for objects in mistral  https://review.opendev.org/68145312:13
openstackgerritEyal proposed openstack/mistral master: Add a cookiecutter template to generate custom stuff  https://review.opendev.org/67978212:24
openstackgerritEyal proposed openstack/mistral master: Add a cookiecutter template to generate custom stuff  https://review.opendev.org/67978213:40
*** ricolin has joined #openstack-mistral14:18
*** eyalb has quit IRC14:34
*** zhubx has quit IRC14:37
*** zhubx has joined #openstack-mistral14:37
*** zhubx has quit IRC14:41
*** zhubx has joined #openstack-mistral14:41
*** zhubx has quit IRC14:43
*** zhubx has joined #openstack-mistral14:44
*** pgaxatte has quit IRC14:54
*** d0ugal has quit IRC15:44
*** d0ugal has joined #openstack-mistral15:59
*** ricolin has quit IRC16:22
*** d0ugal has quit IRC17:04
*** d0ugal has joined #openstack-mistral17:09
*** d0ugal has quit IRC18:47
*** d0ugal has joined #openstack-mistral18:52
*** pgaxatte has joined #openstack-mistral19:33
*** pgaxatte has quit IRC19:36
*** boxiang has joined #openstack-mistral21:19
*** zhubx has quit IRC21:20
*** threestrands has joined #openstack-mistral22:37
*** d0ugal has quit IRC23:23
*** d0ugal has joined #openstack-mistral23:25

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