07:01:51 #startmeeting heat 07:01:52 Meeting started Wed Jul 8 07:01:51 2015 UTC and is due to finish in 60 minutes. The chair is asalkeld. Information about MeetBot at http://wiki.debian.org/MeetBot. 07:01:53 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 07:01:56 The meeting name has been set to 'heat' 07:01:58 https://wiki.openstack.org/wiki/Meetings/HeatAgenda 07:02:03 not filled in ^ 07:02:15 #topic rollcall 07:02:26 o/ 07:02:28 stevebaker: feel free to take over 07:02:32 o/ 07:02:35 :) 07:02:37 o/ 07:02:40 hi 07:02:45 hi 07:03:02 hi 07:03:02 #topic Adding items to agenda 07:03:10 o/ 07:03:25 we have seriously no agenda :-O 07:03:31 so come on folks 07:03:53 I wanted to add the nested validation BP as it's not had much feedback other than from jdob 07:04:04 k 07:04:10 maybe any important bugs 07:04:31 well let's get started and add more as needed 07:04:50 #topic the nested validation BP that is not getting reviewed ... grrr 07:04:54 ;) 07:05:08 haha 07:05:09 shardy: link 07:05:16 #link https://review.openstack.org/#/c/197199/ 07:05:37 So, this one is supposed to compliment the constraints/capabilities one which has gotten pretty good feedback 07:05:57 shardy: were you not the cause for that issue? i seem to remember you didn't want nest stack validation at some point 07:06:14 o/ 07:06:17 The idea is to enable discovery of the parameters required/possible for the entire tree, e.g accessible via parameter_defaults 07:06:44 asalkeld: No, I disabled *value* validation, because most values are None at the time of validation and all the new custom constraints broke everthing 07:06:51 hi 07:07:06 This is about generating a schema for the tree, which was irrelevant before parameter_defaults existed 07:07:36 shardy: my patch might help? 07:07:46 but now that they do, it opens the possibility of "pluggable" templates, which may take additional parameters (other than the subset provided from the parent template) 07:07:50 https://review.openstack.org/#/c/197402/ 07:08:16 asalkeld: Yeah that's maybe part of it 07:08:18 mmm, i need to read the spec 07:08:37 my main question is do we need a new "template-inspect" API, or can we piggy-back this recursive validation on template-validate 07:08:39 hi all 07:08:39 not a fan of too much plugg'n 07:09:18 I prefer the latter, because it extends the existing parameters schema template-validate exposes 07:09:31 asalkeld: easy to say until you're dealing with a tree of 90 nested stacks :\ 07:09:48 then you realize the limitations of our current composition model :) 07:09:51 shardy: I will add your spec to this list https://etherpad.openstack.org/p/heat-reviews 07:09:58 skraynev: Ok, thanks 07:09:59 shardy: you write way too much text - phew 07:10:15 * shardy sighs 07:10:18 that's a book 07:10:48 In the other review folks wanted *more* detail because they couldn't understand the use-case 07:10:50 shardy: i'll have a look a bit later 07:10:58 Add a comment and I'll strip it back to minimal 07:11:10 shardy: mostly joking - just takes time to read:-O 07:11:47 a book on Heat is actually not a bad idea, ;) 07:12:16 * shardy offers to help given his apparent excessive wordiness ;D 07:12:33 anyway, that's all, please add comments if you can manage to read it all 07:12:46 I'd like to start coding both specs fairly soon, if possible 07:12:53 #topic importing bugs ... 07:12:57 grr 07:13:01 #topic important bugs ... 07:13:11 any? 07:13:57 is triple-o stable lately? last week AFAIR one could not trust its job result too much 07:14:18 i don't see any new high priority bugs... 07:14:18 pas-ha: there was an outage last week, stable again now AFAIK 07:14:30 shardy, cool, thanks 07:14:33 btw, does this count as important? -> https://bugs.launchpad.net/heat/+bug/1470709? 07:14:33 Launchpad bug 1470709 in heat "Using wrong auth encryption key can lead to data loss" [Undecided,New] 07:14:33 #topic open discussion 07:14:48 hi all I wanted to dicussu about https://review.openstack.org/#/c/187524/13 07:14:55 heat stack pause and unpause 07:15:19 sirushti: wouuld require major config messup 07:15:26 ritesh: shoot 07:15:34 asalkeld: I'm not sure how we could fix that, without storing the key in the DB, which is obviously impossible 07:15:53 I got comment from steve baker, I am not able to go up with the specs 07:15:57 can we have conclusion here 07:16:01 ritesh, I'm actually in favor of stevebaker's suggestion 07:16:02 asalkeld, cool 07:16:11 asalkled: about high priority bugs, we can take a look link from previous meeting http://bit.ly/1FnhaIK 07:16:21 #link http://bit.ly/1FnhaIK 07:16:27 we should not replicate Nova's states 07:16:35 sirushti, The new fernet algo fixes that 07:16:37 ok <> If we use the suspend or pause porlicy then we have to write to each resoucre of Nova:OS:Sever. When we are talking about Suspend / Pause to a stack , the main intention is to have on whole stack . Flaver or Image update policy are applicable to servers which demands. 07:17:22 ritesh: does pause/unpause affect any other resource except Servers? 07:17:30 therve, oh cool, I'll take a look at that then, thanks 07:17:31 shardy, yep 07:17:41 no it will not effect apart of servers @shardy 07:17:43 ritesh: for example, suspend resume does stuff like disabling users when the stack is suspended IIRC 07:18:09 ritesh: having lots of actions is a large maintenance burden, it should be widely useful and applicable to most resource types 07:18:24 imho 07:18:33 that's why I also do not like adding an extra stack action just for server 07:18:42 yeah 07:19:01 so how do we handle now for pausing a stack in heat ? 07:19:22 ritesh: you mean the servers within the stack? 07:19:27 yes 07:19:31 server pause is simply not supported as of now AFAIU 07:19:49 pas-ha: he is suggesting adding it 07:19:54 as a new stack action 07:19:58 yes I am suggesting adding it 07:20:13 So, stevebaker is proposing a suspend_policy property which only affects OS::Nova::Server 07:20:19 yes, and I prefer approach stevebaker pointed in his comment 07:20:20 which other resources would need it? 07:20:28 it would be nice to beable to discover what actions each resource type supported and have them as links for each resource 07:20:47 it seems a bit wrong to declare state in the template, but I can see why he proposes it, it's much less code to write and maintain 07:20:58 well, that's what ideal REST world would be :) 07:21:50 I have alredy wirteen the code for puase and unpause , it is not to complicated to maintain the code 07:21:51 pas-ha: well FWIW the idea of the "actions" API was for stuff which only affects stack state, and not it's definition 07:22:03 we had this same debate back when I added suspend/resume 07:22:05 actually we are supporing snapshot and resume also 07:22:08 ritesh: i suspect your spec is not progressing because people are reluctant to +2, but there is not really a nice solution 07:22:37 ritesh: yeah, tho' i am not sure that was the best idea 07:22:56 (just cos' there is something there doen't mean we should extend it) 07:22:58 while I dislike idea of adding stack pause just for server...maybe stack call-method resume would be nice? 07:23:05 to pause / suspend a stack thorugh template, it means we have to udpate the stack 07:23:27 we are not updating the stack here 07:23:31 maybe we need an improved resource level interface, so you have an "action schema" or something, avoiding all the boilerplate handle_foo when a new action is needed 07:23:46 while call_method $method will call handle_$method for add applicable resources? 07:23:59 ritesh, yes, I agree update+suspend instead of than just "pause" is ugly 07:24:00 then you can have a generic passthrough inside the engine with the actions supported only defined inside the resource 07:25:02 ok, well if anyone has ideas, please add to ritesh 's spec review 07:25:15 ritesh: I agree, it's the same argument I had with suspend/resume, it's not really a stack update 07:25:18 yes please 07:25:29 ritesh: I'll try to refine my ideas re resource interfaces and comment later today 07:25:42 Thank you shardy 07:25:50 there are many resource level actions that are useful, but it may not be a good solution to expose them as stack actions 07:26:27 +1 07:26:29 e.g. for a nova server, you can do resize, image generation, change password, reboot, rebuild 07:26:32 Qiming: You mean we need a resource level actions API? 07:26:36 So we need to think about common solution for such cases? 07:26:39 shardy, I don't think suspend_policy means to declare state? It means suspend will do pause on servers, I think? 07:26:57 Qiming, the idea is to have "any" stack action (REST endpoint) can propagate to resource actions (REST-endpoints) 07:26:57 therve: ah! Ok that might be OK 07:26:58 as sugested by by we can have generic call_method 07:27:15 shardy, I doubt it, but I'm reluctant to make these things stack actions 07:27:32 maybe do this as resource call? 07:27:38 Qiming: The argument for making them stack actions is if ordering is important 07:28:06 e.g if you must pause/unpause the servers in dependency order, then it has to be a stack action 07:28:39 Probably, in many cases, that ordering *is* important 07:28:48 shardy, okay, dependency ... 07:28:49 e.g you won't want to unpause your webapp before the DB 07:29:17 if we make it generic tho, how do we specify direction of dependency? 07:29:43 inc0: the DAG is walked in dependency order on pause and reverse dependency order on unpause 07:29:44 you'd like to pause webapp before DB 07:29:51 same as for suspend/resume 07:30:20 inc0: the dependency order is already known by heat, either implicitly due to get_resource/get_attr or explicitly via depends_on 07:30:29 yeah, true 07:30:55 and in handle_call we could specify which direction is applicable to this method 07:31:41 any review requests? 07:31:59 https://review.openstack.org/#/c/190183/ - looking for reviews 07:32:02 would it be possible to get mistral to do these arbitrary actions? expose the things mistral needs via the api to find out the dependencies and then let it execute these arbitrary actions 07:32:33 asalkeld: https://review.openstack.org/#/c/196656/ (I know you've already commented on this a lot but want wider feedback) 07:32:35 sirushti: i was think that, but it's going to take some time integrating 07:32:44 and providing examples etc.. 07:33:24 probably, but it's a cleaner solution else we'd have arbitrary resource actions and api 07:33:32 maybe 07:33:39 re: review request - https://review.openstack.org/#/c/190641/ 07:33:39 sirushti: that's an interesting idea, although it sounds a bit like mistral is just proxying some API calls 07:34:14 e.g the workflow is inside heat derived from the dependency graph. 07:34:23 shardy: maybe we could have a way of registing a workflow per resoruce_type/action 07:34:24 I suppose we could create the workflow and push it to mistral 07:34:38 then heat runs the applicable workflow in order 07:34:41 asalkeld: Hmm, yeah, I'd be interested to see what that would look like 07:35:04 yeah, anyones todo list looking super low? ;) 07:36:22 ooo tour de france highlights on telly 07:36:46 asalkeld: it's a good stage :) 07:36:56 cobbles 07:37:17 should we end this stage/meeting 07:37:23 Hi, all, could you pleas comment 07:37:24 https://ask.openstack.org/en/question/69487/unable-to-launch-stack-in-kilo-heat/ 07:37:26 on this 07:37:35 looking 07:38:19 ritesh: that looks like a bug 07:38:23 asalkeld: I suppose, that we can 07:38:33 since everyone's here. I have a question on functional testing actually that's been lingering for some time in my mind - How do we scale the gate with all these new resources? 07:38:59 so I will file a bug on this 07:39:14 ritesh: need more info - template etc... 07:39:42 sirushti: not sure, potentially multiple jobs? 07:39:59 some projects have 3rd party jobs 07:40:07 ritesh, and actual procedure how it was installed "converted _my_ heat to debian" is vague 07:40:12 I'm wondering if conditional testing would be a possible idea now that we have devstack plugins 07:40:12 description: stack template generated from OVF file heat_template_version: '2013-05-23' resources: PL4: properties: config_drive: 'True' flavor: m1.tiny image: test_final name: PL4 networks: - network: 4020952c-9405-4a64-9615-8bea4bdb5009 type: OS::Nova::Server 07:40:33 ritesh - add that to the bug when you file it 07:40:45 so if someone proposes a patch for a particular resource, we register the endpoint for that resource in keystone, run tests for those resources, else just skip it 07:41:11 sirushti: need a functional test config option 07:41:12 using pydist tool converted the heatclient and heat source code into depabains and installed that into ubuntu using apt-get install heat debains 07:41:27 sirushti: FWIW I think we should avoid adding individual coverage for every single resource, and instead focus on getting good scenario tests which give us good "real world" coverage 07:41:45 shardy, +1 07:41:53 e.g resist turning functional tests into expensive unit tests checking stuff like interfaces 07:42:03 shardy, pas-ha, sure, but we might regress on all the non-important use cases 07:42:23 sirushti: I'm saying get coverage for more trivial tests via unit tests 07:42:27 which are far cheaper to run 07:42:28 sirushti: we have our limits 07:42:46 then have more complex multi-resource tests run as functiona/scenario tests 07:42:51 the gate is limited we need to make the best use of it 07:42:59 asalkeld: +1 07:43:14 ok, lets move over to #heat 07:43:19 #endmeeting