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