17:01:53 #startmeeting murano 17:01:53 Meeting started Tue Apr 22 17:01:53 2014 UTC and is due to finish in 60 minutes. The chair is ruhe. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:01:55 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:01:57 The meeting name has been set to 'murano' 17:02:18 #topic Roll call 17:02:36 ruslan kamaldinov 17:02:48 o/ 17:02:50 o/ 17:02:52 georgy Orkovkertskhov 17:02:53 Dmitry Teselkin 17:02:59 Alexander Tivelkov 17:03:01 hm... Timur Sufiev 17:03:02 Serg Melikyan 17:03:05 Steve McLellan 17:03:19 Ankur Rishi 17:03:31 hey folks, IMO it's better to add nickname to real name to meeting logs or keep irc's real name in actual state 17:03:55 great, seems that we the critical mass here 17:04:07 #link https://wiki.openstack.org/wiki/Meetings/MuranoAgenda 17:04:18 #topic Action Items Review 17:04:42 #link http://eavesdrop.openstack.org/meetings/murano/2014/murano.2014-04-15-17.03.txt 17:05:02 first one is on me - ruhe file a BP to track conversion of existing apps to the new DSL 17:05:20 i failed this one. will add a new AI 17:05:33 #action ruhe file a BP to track conversion of existing apps to the new DSL 17:05:40 ruhe, sorry, you did asked me to do this and I totally forgot :( Sorry ( 17:05:50 sergmelikyan: ah, right 17:05:52 #undo 17:05:52 Removing item from minutes: 17:06:06 I had started working on transferring applications to new DSL and converted Apache today 17:06:10 #action sergmelikyan file a BP to track conversion of existing apps to the new DSL 17:06:23 next AI is also on me - setup infrastructure for dev-docs building and publishing 17:07:00 now we can build our docs with 'tox -e docs' and there is a patch on review in infra to push docs to murano-api.readthedocs.org 17:07:26 also, i have a patch with basic developer documentation: 17:07:35 #link https://review.openstack.org/#/c/88107/ 17:07:44 you can see how it would like here: 17:07:50 #link http://murano-api.readthedocs.org/en/latest/ 17:07:51 that's cool! 17:08:01 ah, very cool 17:08:13 next AI is - sergmelikyan don't forget about and schedule a bug scrub day 17:08:32 ruhe, scheduled by tnurlygayanov to tomorrow 17:08:43 sergmelikyan: at what time (UTC)? 17:09:13 16:00 UTC afair 17:09:14 16:00? 17:09:27 #info bug scrub scheduled for Wednesday 16:00 UTC 17:09:44 next AI is: slagun file a bug about missing "advanced networking" 17:09:52 done 17:10:02 And I am already working on it 17:10:14 #link https://bugs.launchpad.net/murano/+bug/1308921 17:10:24 #info advanced networking re-assigned to ativelkov 17:10:39 next AI is - slagun implement "advanced networking" in 0.5 17:10:46 that'll be an AI for ativelkov :) 17:11:03 yup 17:11:04 i don't think we need to track it in the meeting logs. everybody's aware 17:11:19 #topic Release status 17:11:30 #link https://launchpad.net/murano/+milestone/0.5 17:11:53 all the features (except for adv. networking) are implemented AFAIK 17:12:01 gokrokve: what about billing UI? 17:12:23 As soon as I can deploy something I will do it. 17:12:37 gokrokve: any estimates for the actual work? 17:13:08 It should be pretty straight forward as all components are here. Just need to see actual data to represent it correctly. 17:13:14 So couple days. 17:13:35 gokrokve: good 17:14:29 i hope we'll find more about missing bugs tomorrow on the bug scrub 17:14:53 missing bugs = bugs yet to be found :)? 17:14:57 would anyone like to add something about release status? 17:15:27 tsufiev_: i'd say - critical bugs to be fixed in this release 17:15:42 ok, let's move on 17:15:54 #topic Voting for the proper term 'Application being deployed/configured in an Environment' 17:16:00 tsufiev_: your turn 17:16:11 can i start the voting? 17:16:38 tsufiev_: only i can do it 17:16:57 but before we start, i'd like to be sure that everyone understands what we're voting for 17:17:09 yes please 17:17:10 so far we invented the following alternatives for an 'Application inside an Environment': Service, Application Deployment, Solution, Component 17:17:47 ruhe, ok, i'll copy-paste note from the Agenda... 17:17:57 Currently we have an 'Application' as entity in AppCatalog. Using an OOP analogy it is like a Class, while instances of that class are being added to an Environment - for later deployment. 'Class instance' entity is now called 'Service' - but that is a legacy of times when Murano aimed to deploy Windows services only. So that term should be remade. 17:18:44 so, back to the voting options... has anyone coined some new term? 17:18:45 Application draft? 17:18:49 more important: Application are not "just any classes", they are specific classes 17:18:56 So we can consider adding Daemon to the list, right, since we had services for windows? 17:19:04 katyafervent2, thanks, added 17:19:13 they are not drafts: once they are deployed, at least 17:19:38 to me, the 'Component' option seems a good fit 17:19:41 Daemon is not a very user-friendly term 17:19:44 thanks to ativelkov :) 17:19:55 sjmc7, +1 17:19:55 i think i also like 'Component' from that list 17:19:58 Well, it's well know in Linux, right 17:20:05 Daemon is something very *nix'y 17:20:10 Yep 17:20:50 i think, if there are no other alternatives, we can start voting 17:21:01 I suggest using both words interchangeably depending on particular application and context. All services are applications and most of applications in the cloud are services. We have app-catalog but sometimes word "service" is more appropriate 17:21:11 tsufiev_: can you give me a list of options? 17:21:30 an 'application' might consist of multiple services in the software sense 17:21:35 service is a kind of running application 17:21:57 service is an applications that serves someone 17:22:02 ruhe, 'Service', 'Application', 'Application Deployment', 'Solution', 'Application Draft', 'Component', 'Daemon' 17:22:07 MySQL is a service, that's true. But the network - which is a part of environment and may be a 1sty class citizen of a catalog - is not a service 17:22:18 folks, did i miss something? 17:22:37 tsufiev_, I think we could start voting :) 17:22:38 tsufiev_ you've missed my option "both/all" 17:22:43 Brick 17:22:47 #startvote How should we name 'Application being deployed/configured in an Environment'? Service, Application, Application Deployment, Solution, Application Draft, Component, Daemon 17:22:47 Begin voting on: How should we name 'Application being deployed/configured in an Environment'? Valid vote options are Service, Application, Application, Deployment, Solution, Application, Draft, Component, Daemon. 17:22:48 Vote using '#vote OPTION'. Only your last vote counts. 17:23:06 #vote Component 17:23:06 #vote Application Deployment 17:23:06 ankurrr: Application Deployment is not a valid option. Valid options are Service, Application, Application, Deployment, Solution, Application, Draft, Component, Daemon. 17:23:10 #vote Component 17:23:14 # Component 17:23:16 #vote Component 17:23:17 #vote Component 17:23:19 #vote Application 17:23:24 Application is in there twice.. 17:23:32 #vote Component 17:24:00 Ah, one of them is supposed to be "Application Deployment". I think that's why "Application" is in there twice 17:24:02 sjmc7: right. i had to wrap it in quotes. but we'll count vote from ankurrr manually 17:24:05 ruhe, i suspect there should be 'Application Deployment'... but seems it doesn't matter anyway ) 17:24:19 #endvote 17:24:20 Voted on "How should we name 'Application being deployed/configured in an Environment'?" Results are 17:24:21 Application (1): igormarnat_ 17:24:22 Component (5): dteselkin_, tsufiev_, sjmc7, ativelkov, sergmelikyan 17:24:39 my option is missing. And there are components and there are applications. Components are not applications and applications are not components 17:24:54 I missed vote :) 17:25:13 Applications are components of composed environments 17:25:15 katyafervent2: the result of the vote is clear anyway 17:25:17 #info How should we name 'Application being deployed/configured in an Environment'? Answer: Component 17:25:17 Anyway, seems component won, so 17:25:22 composite* 17:25:23 let's move on 17:25:25 we can stick with the vote for now and do it again another day? :) 17:25:27 If you call MySQL a component that would not make sense 17:25:53 sjmc7: sure, anyone can bring this vote on every meeting :) 17:25:57 #topic Drafting plan for the next release cycle 17:26:22 so, we have a bunch of blueprints and valuable feedback from sjmc7 and his team 17:26:33 We hame like 35 minutes left, I guess we will not make it ) But let's just do a first part 17:26:44 i guess we can walk through each item and discuss it from high-level perspective 17:26:59 ok, ruhe. i've tried to include blueprint links where applicable 17:27:35 my goal - is to have an understanding if each of this features is applicable to murano and where BPs can be extended with more details 17:27:40 #link https://blueprints.launchpad.net/murano/+spec/packages-without-classes 17:28:18 ruhe - you want me to give explanation? or people ask questions? 17:28:46 sjmc7: we discussed this list during the day. i guess people might have questions 17:28:52 shoot 17:28:59 ativelkov, sergmelikyan: what's your feedback on this one? 17:29:01 ruhe: I have one more goal 17:29:15 We also need to discuss an approach to tosca 17:29:16 So, this eventually suggests us to store kinda "hyperlinks" in the catalog, right? 17:29:33 ativelkov - yes 17:29:46 but also allow API intergration 17:29:54 igormarnat_: that's a very good goal 17:29:56 with services outside of a stack 17:30:02 igormarnat_: i support it 17:30:19 This worries me a little as this slightly blurs our mission: we want to be an application catalog for OpenStack, and hyperlinks are not applications :) 17:30:48 true :) the links are to applications which are, for the most part, running in other clouds 17:30:50 perhaps we could include a way to turn it on and off 17:31:08 ativelkov: There was an idea to work with trove and other servises and expose apps provisioned by other services. 17:31:22 gokrokve: that is different 17:31:46 gokrokve: that is covered in https://blueprints.launchpad.net/murano/+spec/call-api-from-workflows 17:31:51 that idea suggest to have a runnable code (MuranoPL, TOSCA etc) to run the interaction with that services 17:32:27 But this suggests just to have a catalog records without anything runnable underneath 17:32:30 the longer term goal is to integrate those kinds of catalog listings in the same way 17:32:44 Having packages without classes looks a little bit like an attempt to turn Murano into advertising network 17:32:46 I understand the reasons for that 17:32:52 ativelkov, the main point i see here is to have an Application package which hasn't 'deploy' interface - so it cannot be added to any environment 17:33:08 tsufiev_: This is perfectly fine techically 17:33:16 my view on this BP - it has a real-world use-case, so we need to have it. realworld use-cases should drive OpenStack projects 17:33:31 I am not sure how correctly implement this blueprint, but I grok this use-case and agree that this is valuable. I don't know for now, how to implement this without hard-coding this feature to all Murano components. I am not sure that new 'package type' is a valid extension point. 17:33:33 Actually, I believe that the "Deploy" button should be dynamic anyway 17:33:50 ativelkov, yes, i understand, that your concern here is more conceptual than technical 17:34:12 i agree this is a conceptual argument. on the other hand, what goes INTO a catalog is the responsibility of an admin 17:34:16 it's not 'how?' but rather 'why?' 17:34:25 so the functionality being present doesn't necessarily mean it must be used 17:34:32 I.e. when the user looks to the app details, the UI makes a call to the API which will tell if the application can be deployed 17:34:44 And the logic which makes this decision may be quite different 17:34:54 It actually may be even MuranoPL-code! 17:35:06 I think we can discuss technical implementation a little bit more, but not on this meeting. I see that all core members agree that this is valuable feature 17:35:08 For such "links" this logic will simply return "false" ) 17:35:25 i'm happy to argue this one later if there are still people who don't feel comfortable with it 17:35:26 And we can plan to have this in near feature/ 17:35:29 I think we just need to pick a proper terminology here 17:35:54 We just need to call this smth like "external applications" or something like that 17:36:09 ativelkov - yes, i agree we'll need a different name 17:36:12 to keep our catalog full of applications and nothing else) 17:36:13 What will be the action when user ads such hyperlink app to the environment? 17:36:18 ativelkov: how would you answer this question "If you forget about technical implementation. Would you like to see this feature in Murano?" 17:36:43 gokrokve: there will be no way to add it. There will be just info box 17:36:45 gokrokve - you wouldn't add it to an environment 17:36:46 gokrokve, nothing should happen :) 17:37:14 it sounds strange :-) 17:37:14 ruhe: let me be precise: I am ok if we add it ) 17:38:06 so, it seems like almost everybody is ok with this feature. but we need more discussions about actual implementation. agree? 17:38:20 also, we can regulate with AppCatalog preferences, whether such 'Apps' should be shown or not 17:38:47 The idea behind this may be much bigger: say, "The current version of the Application is external, so please follow the external link to deploy it... BUT we are likely to make it deployable in future" 17:39:20 ativelkov, +1 17:39:27 ativelkov - yes, in some cases, there may be multiple possibilities (deploy yourself, use a third-party cloud service) 17:39:28 So this may be thought of as a placeholder in the catalog 17:39:46 'Future App' :) 17:39:50 or 'Promise' 17:40:05 Good. Seems like we are in agreement 17:40:20 sjmc7: i guess you can start drafting a document with high-level implementation details 17:40:20 ruhe, please go on 17:40:28 ok ruhe 17:40:45 the next one is "credentials store" 17:40:47 #link https://blueprints.launchpad.net/murano/+spec/3rd-party-credential-storage 17:40:47 the next one is a later extensiopn of this 17:40:56 we could possibly skip this in the interests of time 17:41:26 barbican is was comes to my mind when we speak about "credentials storage" 17:41:30 ruhe - agreed 17:41:31 *is what 17:41:57 this one may be as simple as a call to barbican 17:42:17 sergmelikyan: ativelkov: tsufiev_: any comments on this one? 17:42:29 nope 17:42:31 There are two options here 17:42:40 1) store predefined credentials 17:42:47 Then it is Barbican 17:43:01 2) Generate a credential pair during the deployment 17:43:12 i'm thinking 1) for this, ativelkov 17:43:18 for our specific use case 17:43:30 but being able to get to them from a catalog entry 17:43:32 Then there should be a barbican client class 17:43:35 yep 17:43:49 From MuranoPL point of view it is an easy deal 17:43:49 so technically i think this one is very simple 17:44:06 Yes, while we are still on MuranoPL. 17:44:17 First one may be also a wrapper around Barbican to provide to the applications data in specific format. For example set of credentials for sendgrid raise then a generic secret from barbica 17:44:37 Yes, but that are impl details already 17:44:44 I believe we agree that the feature is needed 17:45:19 I just want to point that we need to keep compatibility in mind and not to add anything which will not be possible to implment with TOSCA 17:45:58 ativelkov: TOSCA is just a way to describe application. i think it should be feasible in TOSCA too 17:46:11 but, let's move on 17:46:12 #info we need https://blueprints.launchpad.net/murano/+spec/3rd-party-credential-storage ; barbican seems like a perfect fit 17:46:19 ok 17:46:30 Additional author/supplier information 17:46:33 #link https://blueprints.launchpad.net/murano/+spec/additional-author-information 17:46:47 this will involve probably a DB model and some UI work 17:47:00 Yes, but I want to clarify 17:47:01 does not affect workflow 17:47:03 sure 17:47:37 So, this "supplier" is not the package author, it is more like "the author of the packaged software", right? 17:48:12 ativelkov - yeah, that's a reasonable way to look at it 17:48:12 the idea that we need to change DB model for each such UI change seems a bit awkward to me 17:48:13 Also I think it will be great to think about app package signature verification. 17:48:32 gokrokve: very good point, I wanted to say exactly this 17:48:37 tsufiev_ - a supplier may apply to multiple packages 17:48:41 so we could think in direction of making DB model more flexible 17:48:52 We had a plan to introduce a concept of package signing 17:49:03 cool 17:49:14 sjmc7, yes, i understand... i agree that some db entity is needed... 17:49:19 like, the author signs the package using PGP or some similar technology, and the catalog verifies the signature 17:49:21 It is very valuable, and ativelkov you had great example about this information from books management software - author name may be written differently in the package but should point to details about same author. 17:49:25 ok. again, we can discuss technical details perhaps later 17:50:05 Yes, I agree that the feature is needed, but some concepts has to be defined before goint to the design 17:50:14 agrred 17:50:17 sjmc7: i'd suggest to create and link an etherpad (etherpad.openstack.org) document to each blueprint 17:50:24 ruhe - yep, sure 17:50:24 that's what we need for all our blueprints 17:50:59 #info agreed to include https://blueprints.launchpad.net/murano/+spec/additional-author-information in the feature list; more technical discussions needed 17:51:06 because this introduces kind of double authorship, and this may cause confusion when we start implementing other features related to authorship 17:51:12 also i think this one fits into TOSCA 17:51:38 ruhe: this actually has nothing to do with it as it is just a catalog-related feature 17:51:49 ativelkov - i'll draw up a design and we can discuss it. and yes, it is catalog only 17:52:03 sjmc7: sure 17:52:24 ativelkov: TOSCA has something similar to package description format 17:52:26 next one is - Support for contacting 3rd-party APIs https://blueprints.launchpad.net/murano/+spec/call-api-from-workflows 17:52:49 sergmelikyan already pointed out this was proposed previously 17:52:53 This was always part of initial design 17:53:01 ruhe how we will integrate our packages with TOSCA packages is another hard questions :( 17:53:09 sergmelikyan: agree 17:53:09 so consider it a plus 1 for that feature from us 17:53:18 ok, let's move on then 17:53:35 we can jump through the rest of the topics now :) 17:53:47 * Better unit test coverage 17:54:00 Better is better then worse :) 17:54:02 we can shoot anyone who disagrees with that :) 17:54:10 :) the reason i added it 17:54:34 is that there were a number of bugs that would've been easier to fix with tests there, and it will help incubation chances 17:54:37 not as a criticism 17:54:48 sjmc7: +100 17:54:57 we see a lot of regression recently 17:55:00 i hope we'll have all the need infrastructure to build and publish test coverage results 17:55:00 yes 17:55:12 next one is: 17:55:13 * Permission policies in line with other openstack services (https://blueprints.launchpad.net/murano/+spec/policy-checks-in-api) 17:56:22 the idea there is that it's an openstack-standard way of defining who can perform certain operations if an admin doesn't like the default 17:56:34 Yes, this is needed indeed 17:56:54 But some of the RBAC-related stuff should go to Glance 17:57:07 if there is a standard for this, then i don't see any obstacles 17:57:42 So, we'll just need to decide what should be done in Murano and what should be Glancy 17:57:58 ativelkov - yep 17:58:23 next one is: 17:58:24 * User documentation 17:58:28 and it's a must have 17:58:36 yeah, again, consider it a big +1 17:58:50 the next one is: 17:58:50 we'd like to be involved with it 17:58:51 * Ceilometer integration 17:59:04 and again, i think ceilometer was already proposed (or even done?) 17:59:16 proposed, yes, not done yet 17:59:23 ...1 minute, folks ) 17:59:23 so another +1 17:59:25 yeah ceilometer is on the roamdap 17:59:39 but we could have a discussion about current approach to statistics 17:59:49 last one was some cosmetic UI stuff, we can discuss that separately 17:59:54 and that's all i had 18:00:26 sjmc7: great list. we can start technical conversations now 18:00:26 sjmc7, let's schedule some time for it 18:00:45 also we'll need to map some of these features on TOSCA 18:00:46 ok. i will create etherpads and my thoughts, and we can go from there 18:01:08 It's time to finish :-) 18:01:09 last minute 18:01:20 #endmeeting