16:00:45 <rakhmerov> #startmeeting Mistral 16:00:46 <openstack> Meeting started Mon Jan 13 16:00:45 2014 UTC and is due to finish in 60 minutes. The chair is rakhmerov. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:47 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:50 <openstack> The meeting name has been set to 'mistral' 16:00:53 <NikolayM> hi! 16:00:57 <rakhmerov> hi everyone 16:01:34 <rakhmerov> let's start our meeting 16:01:44 <rakhmerov> as usually here's the agenda: https://wiki.openstack.org/wiki/Meetings/MistralAgenda 16:02:52 <tnurlygayanov> Hi there) 16:02:57 <rakhmerov> hi! 16:03:13 <rakhmerov> we had a long holiday season so there wasn't a lot of activities 16:03:59 <gokrokve> hi 16:04:13 <rakhmerov> generally, right before the holidays we decided to implement some additional things that should be included into PoC 16:04:18 <rakhmerov> hi gokrokve! 16:04:24 <rakhmerov> how are you? 16:04:33 <gokrokve> doing well. 16:04:38 <gokrokve> Thanks 16:05:05 <rakhmerov> ok ) 16:05:48 <rakhmerov> briefly describing what these new features are I can say that it's mostly related with DSL 16:06:01 <rakhmerov> we want to add direct transitions between tasks 16:06:45 <rakhmerov> as opposed to our current approach where we just define dependencies (similar to makefile) between tasks 16:07:22 <rakhmerov> we also want to add conditional expressions for both dependency declarations and direct transition declarations 16:07:41 <rakhmerov> and since we need conditional expressions we'll have to implement Data Flow 16:08:02 <rakhmerov> here is the etherpad that summarizes all these things: 16:08:06 <rakhmerov> #info https://etherpad.openstack.org/p/mistral-poc 16:08:42 <rakhmerov> for now we decided to proceed with option #3 which is a hybrid of dependencies and direct transitions 16:08:57 <rakhmerov> unless we change this decision today 16:09:36 <gokrokve> Lets keep #3 for now. 16:09:45 <rakhmerov> ok 16:09:47 <gokrokve> When dwill you have this implemented? 16:10:21 <rakhmerov> my estimation was 2 weeks 16:10:25 <gokrokve> s/dwill/will 16:10:31 <gokrokve> ok 16:10:35 <rakhmerov> so it means the end of the next week 16:11:11 <rakhmerov> so, do we have any concerns about new DSL syntax or anything else? 16:11:21 <rakhmerov> maybe suggestions on how to improve it 16:12:18 <rakhmerov> #action proceed with option #3 in https://etherpad.openstack.org/p/mistral-poc 16:12:50 <rakhmerov> while you're thinking I'll tell you briefly about the current status 16:13:19 <rakhmerov> so now we have implemented the simple model with declaring dependencies between tasks 16:13:32 <rakhmerov> we have a REST action 16:13:50 <rakhmerov> we have a very simple demo that demonstrates that 16:14:25 <rakhmerov> we also have required code to call periodic tasks related to real OpenStack calls 16:14:42 <rakhmerov> I mean keystone trusts 16:15:12 <rakhmerov> our QA team has also implemented basic tempest test suite for Mistral API 16:15:36 <tnurlygayanov> rakhmerov, can you please tell how to obtain the demo? Is it demo app in mistral repository or something else? 16:15:49 <rakhmerov> for the last couple of days we've been refactoring our current engine implementation a little bit 16:16:14 <tnurlygayanov> yes, tempest tests for Mistral can be found by the following link: https://github.com/Mirantis/tempest/tree/platform/stable/havana/tempest/api/mistral 16:16:15 <rakhmerov> tnurlygayanov, currently it's a part of the same repository 16:16:26 <rakhmerov> ok 16:16:35 <rakhmerov> give me a second, I'll find a link 16:17:09 <rakhmerov> here it is: https://github.com/stackforge/mistral/tree/master/mistral-demo-app 16:17:38 <rakhmerov> btw, I was going to request a new repository for this 16:17:55 <rakhmerov> I thought it would be called like "mistral-samples" 16:18:27 <rakhmerov> but there was an idea to create a repo "mistral-ext" for all additional things we might want to have 16:18:35 <rakhmerov> including examples 16:18:53 <rakhmerov> we can actually make this decision right now 16:19:30 <rakhmerov> I already request a new repo "mistral-pythonclient", it's being reviewed 16:19:56 <rakhmerov> requested.. 16:19:58 <rakhmerov> #info https://review.openstack.org/#/c/63876/ 16:19:59 <tnurlygayanov> rakhmerov, python-mistralclient will be more 'OpenStack-like' 16:20:18 <rakhmerov> wow, I confused the name 16:20:20 <tnurlygayanov> ok 16:20:25 <rakhmerov> it is python-mistralclient, right 16:20:44 <rakhmerov> it now has -1 but the comment has already been addresed 16:20:55 <rakhmerov> Jeremy just needs to take a look at it again 16:21:00 <rakhmerov> I'll ping him today 16:21:24 <rakhmerov> so what about "mistral-ext" or "mistral-extensions" ? 16:21:49 <rakhmerov> it can include sample applications, some additional tools maybe 16:21:52 <NikolayM> maybe mistral-extra ? 16:22:09 <rakhmerov> yes 16:22:20 <tnurlygayanov> mistral-extensions looks good. 16:23:03 <rakhmerov> I like it a little bit better too 16:23:10 <rakhmerov> it looks more explicit 16:23:42 <fungi> rakhmerov: i'll go back over it 16:23:57 <rakhmerov> ooh, thanks 16:24:44 <NikolayM> there is already existing repo *-extra for savanna 16:25:13 <ativelkov> why would we need a separate repo for examples? 16:25:38 <rakhmerov> because we don't want to mix them with the core project itself 16:25:57 <rakhmerov> physically it should be a different storage I think 16:26:17 <rakhmerov> basically, demo apps are clients of Mistral, not a part of it 16:26:28 <NikolayM> yes 16:26:31 <rakhmerov> and we may have many of them 16:27:21 <rakhmerov> NikolayM, what does savanna-extra contain? 16:28:45 <NikolayM> it contains some additional image-elements (or contained before) and there was patch for hadoop swiftFS 16:28:57 <rakhmerov> ok 16:29:27 <rakhmerov> so, mistral-extra or mistral-extensions? 16:29:38 <rakhmerov> no big difference to me 16:30:40 <NikolayM> om,there are examples in savanna-extra 16:31:05 <gokrokve> It will be great to have plugins in Mistral. 16:31:25 <rakhmerov> you mean in this new repo? 16:31:29 <gokrokve> It is better to have pluggable mechanism at the beginning. 16:31:39 <rakhmerov> generally, yes, I agree, we were planning to have plugins for Mistral 16:31:47 <gokrokve> Col 16:31:50 <gokrokve> Cool 16:31:56 <rakhmerov> ok, I would suggest we proceed with "mistral-extra" then 16:32:11 <rakhmerov> it will be aligned with savanna naming 16:32:28 <rakhmerov> ok 16:32:51 <rakhmerov> #action create new repo "mistral-extra" to move demo applications into it 16:33:36 <rakhmerov> so getting back to DSL changes 16:33:43 <rakhmerov> is everyone ok with them? 16:33:55 <rakhmerov> if yes, we'll start implementing them shortly 16:34:16 <rakhmerov> we don't have much time, we need to get it done as soon as possible 16:34:47 <NikolayM> what about task property names in DSL? 16:35:12 <NikolayM> escpecially 'OnSuccess' and 'OnError'? 16:35:15 <rakhmerov> what exactly? 16:35:17 <rakhmerov> ooh 16:35:36 <rakhmerov> ok, initially we suggested just "SUCCESS" and "ERROR" 16:36:37 <rakhmerov> two sections to describe what we do next in case if a task succeeded or failed 16:36:51 <rakhmerov> but some folks didn't like "SUCCESS" and "ERROR" :) 16:37:02 <rakhmerov> and suggested "OnSuccess" and "OnError" 16:37:50 <rakhmerov> I'm ok with both options, there was just a concern that "OnXXX" means that they are mutually exclusive 16:38:34 <rakhmerov> and in case we don't have "On" prefix we can define a logic to handle, for example, an error locally without jumping over tasks in a workflow 16:39:05 <rakhmerov> but to me it seems to be similar 16:39:27 <rakhmerov> "OnSuccess" and "OnError" may be more readable 16:40:00 <joel_c1> rakhmerov: I agree that 'onXXX' is more readable 16:40:07 <rakhmerov> and semantically it can mean both "mutual exclusive" or "sequential" 16:40:20 <rakhmerov> joel_c1, glad to see you here :) 16:40:23 <rakhmerov> thanks, yes 16:41:51 <rakhmerov> so we decided then? 16:42:13 <rakhmerov> "OnSuccess" and "OnError" 16:42:17 <rakhmerov> ok 16:42:41 <NikolayM> I agree with 'OnXXX' 16:42:59 <rakhmerov> #action proceed with names "OnSuccess" and "OnError" for task sections to describe what to do in case of success and failure 16:43:27 <rakhmerov> guys, is there anything else that you would like to discuss today? 16:44:19 <rakhmerov> if no, I would suggest we finish for today. Looks like we have a plan to go with 16:44:54 <rakhmerov> alright, thanks to everyone 16:45:00 <rakhmerov> I'll see you next Monday 16:45:05 <rakhmerov> #endmeeting