17:00:10 #startmeeting murano 17:00:10 Meeting started Tue Mar 25 17:00:10 2014 UTC and is due to finish in 60 minutes. The chair is ativelkov. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:11 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:14 The meeting name has been set to 'murano' 17:00:25 hello 17:00:28 Hi folks. Anybody here for Murano meeting? 17:00:35 Identify yourself please 17:00:54 Hi! 17:01:35 not much... 17:01:54 o/ 17:02:17 Less people - faster meeting :) 17:02:24 We have agenda here 17:02:27 #link https://wiki.openstack.org/wiki/Meetings/MuranoAgenda#Agenda 17:02:38 Not much agenda items as well, I believe 17:02:45 Hi! 17:03:03 api&formats versioning is missing :( 17:03:18 sorry, it is in place 17:03:47 probably it is becuase I update it not too long ago 17:03:53 So, let's begin 17:04:20 #topic AI review 17:04:43 We didn't make any formal AIs last time 17:05:00 however we made an important decision: we've decided to get rid of murano-comon repository 17:05:36 murano-common is already merged in murano-api 17:05:47 Cool! Thanks ruhe 17:05:51 and i'm working on merging it into murano-agent 17:05:57 Cool! 17:06:05 #info murano-common is already merged in murano-api 17:06:13 where i've got stuck a little bit because i need to test that i didn't break anything :) 17:06:27 #info merging of murano-common into murano-agent is in progress 17:06:44 and our CI is not yet ready to test changes in murano-agent 17:07:32 ruhe: you mean linux-based one? 17:07:37 ativelkov: yes 17:08:10 i hope we'll create jobs for murano-agent changes in our CI 17:08:18 right after the release 17:09:41 I would prefer first to have a cloud-init-deployable murano-agent instead of embedding it to image 17:09:54 This will simplify the development of the agent 17:10:05 ativelkov: agree. that should be the first priority 17:10:06 +1 17:10:30 and will make sence in having CI on it. Otherwise there is no continuous development at the first place 17:10:46 Are we agreed on that? 17:11:13 +1 17:11:16 +1 17:11:28 +1 17:11:39 +1 17:11:42 +1 17:12:02 #agreed to make a priority to create a cloud-init deployable agent after 0.5 is released 17:12:10 Do we have a blueprint for this change? 17:12:33 do we know how to do it? 17:12:38 does this agreement include windows-based agent? :) 17:13:10 stanlagun: we're engineers, we'll figure it out ;) 17:13:35 ruhe: we plan to run python-agent on windows as well 17:13:53 ativelkov: hooray! one agent to rule them all 17:13:54 It will just need to learn how to execute powershell-based execution plans, afair 17:13:58 As for windows-agent, testing it on VM will require a powerfull system :) 17:14:22 as soon as we teach pthon-agent to execute PowerShell 17:14:53 activestate python might have these capabilities 17:15:09 stanlagun: any estimates on how difficult it may be? 17:15:21 any python have these capabilities. It is just not that trivial to implement 17:15:30 We could simply call external powershell.exe application. 17:15:58 not that simple. My estimation is up to 3 days 17:16:22 stanlagun: 3 days compared to 6 month release cycle sound good to me 17:16:31 well, "up to 3 days" is quite fine 17:16:43 it would be a problem it were months 17:16:50 days is quite ok 17:17:08 And several days more to turn python-agent into Windows service 17:17:08 So we should add a new dependecy into our image builder - python 17:17:10 But I didn't get any answer about blueprint, so I assume there is no BP 17:17:39 dteselkin: eventual goal of this activity is to avoid using image builder at all 17:17:54 How will we build windows images then? 17:18:14 why do we need to build them? 17:18:36 well, for windows the customers will have to embed cloud-base init into the images, that's true 17:18:50 but this should be the only thing to embed 17:19:02 +python 17:19:04 python should be installable in the same manner as everuthing else 17:19:15 with cloud-base-init 17:19:18 cloud-init embeds it's oun python 17:19:24 *own 17:19:37 it doesn't install it system-wide 17:19:54 well, in some cases users might prefer to have images with everythin pre-installed. disk-image-builder will do the job for linux images 17:19:58 can agent use it as well? 17:20:13 use what ? 17:20:29 We are not going to drop image builder. But the goal is that it would be optional 17:20:38 stanlagun: +1 17:20:47 It's ok I think 17:21:26 So, do we have a volunteer to create a BP for cloud-init-deployable agent? 17:21:36 ativelkov: o/ 17:21:40 thanks 17:21:54 #action ruhe to create a BP on cloud-init-deployable agent 17:22:42 dteselkin: if I understand stanlagun's question, he asks if the python which was installed by cloud-init may be made available to other services (i.e. to our agent)? 17:22:45 i'll create the BP, but we'll need to brain-storm possible implementations in a group 17:23:30 ruhe: sure. The questions is harder then it seems, as the repository for installable artifacts should be available even if the internet connectivity is not present 17:23:51 ativelkov: dteselkin: stanlagun: linux's cloud-init uses system python. actually all the major distros have python pre-installed 17:24:00 ativelkov, it should be tested. In theory, it's possible, but doesn't look like a good idea 17:24:16 ruhe, in linux - yes 17:24:28 But windows doesn't have it preinstalled of course 17:24:31 ruhe: this mostly concerns windows, as it does not have neither python nor a simple (apt-get like) way to deploy it 17:25:05 So to have unified agent really unufied I think it's better to add system wide python to windows 17:25:20 ativelkov: If we inject cloud-init into Windows image we can inject Python as well. Or use cloud-init's one. Lets do a little research on it 17:25:30 eh, windows users are used to perform a lot of manual work. i think they wouldn't complain if they'll have to build images with murano agent by themselves 17:25:32 ok 17:25:50 Anyway, we are now way too far in the future 17:25:57 we still have 0.5 at hand 17:26:07 Let's proceed with the agenda 17:26:19 #topic API versioning 17:26:26 tsufiev_: please lead this 17:26:43 ok 17:27:33 so, the first and most obvious question: to what extent should each new version of murano components support older formats and apis? 17:28:51 or more narrow question: should murano 0.5 dynamic UI processor support v.1 dynamic UI definitions (pre 0.5)? 17:28:51 I stand for Murano consistency. Dashboard version X guarantee to work with API version X only 17:29:10 at this point i'd prefer to support only one version - current version. across all the projects in the same release 17:29:22 +1 to stanlagun 17:29:27 Ruhe, stanlagun +1 17:29:34 There is no point in supporting old UI forms without supporting XML workflows and old APIs as well 17:29:44 for now that seems ok for me, but it can change in future, when there will be much more Murano resources of a certain version 17:30:03 lets leave it till Murano 1.0 17:30:20 will it be ok for current murano customers? 17:30:41 we could think about it from a different point of view - what should be the upgrade path for Murano users? but, indeed, that's a questions for future 17:30:43 we are breaking backward compatibility anyway 17:30:54 and probably will do it again in 0.6 17:31:28 What I suggest is to always have a format classifier in all files 17:31:39 DSL, UI definitions, object models, etc 17:31:42 i agree, breaking dynamic UI format backward compatibility seems minor issue comparing with the dropping out of all workflows :) 17:31:44 just to fix the format 17:31:56 Yes. But maybe not Version 17:32:09 stanlagun: why not? 17:32:16 or not just Version 17:32:30 Maybe MinimumMuranoVersion 17:32:47 could you elaborate it a bit? 17:33:40 Suppose that your form uses some YAQL function that was introduced in version x.y.z. But the format of the form hasn't changed 17:34:09 MinimumMuranoVersion and similar params should be part of Package metadata 17:34:12 not for forms 17:34:25 This is entirely different topic 17:34:27 Every template should have minimum required Murano version that can handle it 17:34:33 forms also use YAQL functions 17:34:36 There shluld also be a Minimum Openstack version ) 17:34:55 Maybe that too for things that depend on OpenStack 17:35:01 stanlagun: I would suggest to have these constraint on a per-package basis 17:35:03 ativelkov: agree, there will be a lot of dependencies ) 17:35:14 other approach - document changes and give users clear upgrade path instructions 17:35:16 ativelkov: agree 17:35:31 ativelkov: +1 17:36:02 still each file should denote its format version 17:36:10 but format is format, so there should be a clear format identifyer for each document 17:36:16 tsufiev_: +1 ) 17:37:00 will simple numeric format like '1', '2' be enough for us? 17:37:01 okay until you don't have to support older versions till 1.0 17:37:33 For packages I've started from 1.0 17:37:35 tsufiev_: does it really important? 17:37:48 1 = 1.0. 17:38:36 we can have 1 and 1.1 at the same time 17:38:37 stanlagun: it is important, because once we agree on it, we won't change it 17:38:58 lets assume it is just a number 17:39:28 i vote for the integers 17:39:31 as soon as we would need something ather than 1 we get back on this and discuss on 1.2 vs 2.0 17:39:36 keeps things simple 17:39:58 this is Python. You just non need to think about this 17:40:19 stanlagun: but you're right, don't need to bother, cause YAML-parser does it for us 17:40:50 i personally don't care until we really need versioning. we're in active development stage now, and will be for the next 6 months 17:40:53 yep. So this doesn't affect any code you may write to support it 17:41:10 Seems we are agreed here 17:41:23 moving on? 17:41:32 yes 17:41:52 #topic MuranoPL package name 17:42:02 sergmelikyan: can you lead this? 17:42:16 ativelkov, sure! 17:42:24 Can you explain the topic? 17:42:43 We selecting name of the package were core of our Murano PL going to be placed. 17:42:45 Have we discussed MuranoPL namespaces? 17:42:54 stanlagun, not yet 17:43:19 package will have name like muranoapi. 17:44:00 I thought you were talking about AppCatalog package (zip file) 17:44:11 I suggest name "engine", are there any other suggestions? 17:44:19 Lets select most popular one 17:44:25 I like "dsl" and "pl" 17:44:26 engine is already used 17:44:33 *language 17:44:34 sorry 17:44:45 +1 for pl 17:44:48 it's a turing-complete language. so... pl 17:45:18 +1 for dsl. pl is too confusing. Looks like Perl extension 17:45:35 pl/dsl - same as pl/sql :) 17:45:56 stanlagun: lol, haven't thought about perl ) 17:46:02 ativelkov: we might get sued by you-know-who :) 17:46:14 but pl in pl/sql is procedure language ;) 17:46:18 pl/sql without sql is nothing. We should not make an impression that MuranoPL is GP-language like Python 17:46:55 I would prefer 3-characters naming 17:47:01 ruhe, dsl does not mean not turing-complete language. 17:47:13 So, we have options "language", "pl", "dsl" - right? 17:47:23 any other options? I want to make a vote 17:47:29 mpl 17:47:33 democratic vote agian? :) 17:47:54 mpl is nice too 17:47:57 Yes, I nlike votings 17:48:13 they are better then fightings ) 17:48:38 #startvote Which name should we choose? pl, dsl, mpl, language 17:48:38 Begin voting on: Which name should we choose? Valid vote options are pl, dsl, mpl, language. 17:48:39 Vote using '#vote OPTION'. Only your last vote counts. 17:48:54 #vote dsl 17:49:08 #vote dsl 17:49:08 #vote pl 17:49:11 #vote dsl 17:49:11 #vote abstain 17:49:12 ruhe: abstain is not a valid option. Valid options are pl, dsl, mpl, language. 17:49:23 #vote dsl 17:49:41 #vote dsl 17:50:01 Anybody else? 17:50:16 #endvote 17:50:17 Voted on "Which name should we choose?" Results are 17:50:18 dsl (5): tsufiev_, stanlagun, dteselkin, ativelkov, sergmelikyan 17:50:19 pl (1): katyafervent2 17:50:30 #agreed so it is dsl 17:51:00 we also need to choose murano.dsl vs murano.eninge.dsl 17:51:28 stanlagun: what option do you prefer? 17:51:35 murano.dsl 17:51:46 then i vote murano.dsl :) 17:52:05 I like the first one. It is shorter (pep8 <80 hehe) and dsl has its value regardless of the engine which uses it 17:52:21 No objections? 17:52:56 #agreed Put dsl package on the top level inside murano 17:53:09 #topic Open Discussion 17:53:22 Any open issues or questions to discuss? 17:53:29 package namespaces? 17:54:02 I think it would be best to ask comunity in ML 17:54:07 sergmelikyan: please elaborate 17:55:00 All classed declared in MuranoPL should be placed in some namespaces. For now it is org.openstack, e.g. org.openstack.Oject 17:55:03 org.openstack.murano.Object vs com.mirantis.murano.Objects vs something else 17:55:20 ah 17:55:21 I see 17:55:37 I would prefer it to be org.openstack.murano, however there is a legal issue here 17:55:42 maybe have just murano.XXX for system classes 17:55:46 or, there may be a legal issue 17:56:09 or system.XXX 17:56:25 I would have it uniform and bound to domains - just to discurouge others from doing something.else 17:56:41 makes sence 17:56:58 but the question "Are we allowed to use foundation-owned domain for this 17:57:04 but the question "Are we allowed to use foundation-owned domain for this" remain open 17:57:17 The question is who can answer such question 17:57:23 Foundation 17:57:51 Do you know to question Foundation? 17:57:53 i'd prefer to avoid OpenStack name in our project until Murano gets official status 17:58:23 It might be too late to change it then 17:58:54 that's one of the rights projects get when they get integrated status - they can officialy use OpenStack brand 17:59:02 that's how i understand that 17:59:12 We are going to do everything possible to keep backward compatibility starting from some version (say 1.0) 17:59:13 That is not the brand usage 17:59:23 That is just the identifier 17:59:58 Anyway, we can explain our concerns and as the mailing list for advice. Foundation members monitor it 18:00:08 Maybe register dedicated murano domain? org.murano-project.system.Object :) 18:00:21 This is a nice option, btw 18:00:42 who's going to own murano-project.org? Murano foundation? :) 18:00:58 ) 18:00:58 oops, out of time 18:01:08 oops, yes. 18:01:14 Ok, continue next time then 18:01:19 #endmeeting