17:00:21 #startmeeting Solum Team Meeting 17:00:21 Meeting started Tue Dec 8 17:00:21 2015 UTC and is due to finish in 60 minutes. The chair is devkulkarni. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:22 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:25 The meeting name has been set to 'solum_team_meeting' 17:00:32 #topic Roll Call 17:00:36 Devdatta Kulkarni 17:00:37 Ashish Jain 17:00:53 hi ashish.. 17:00:59 I see datsun180b around too 17:01:04 I'm here all right 17:01:06 Hi dev 17:01:11 vijendar is going to bit late 17:01:14 hi datsun180b 17:01:20 just looking at the agenda and the reviews needing approval 17:01:36 datsun180b: cool.. 17:01:47 #link https://wiki.openstack.org/wiki/Meetings/Solum#Agenda_for_2015-12-08_1700_UTC 17:01:50 that is our agenda 17:02:11 I think I saw james_li around too 17:02:12 the patch "https://review.openstack.org/#/c/250020/" looks fine to me I have used it and it works 17:02:21 have provided my comments as well on it. 17:02:22 james li 17:02:40 ashishjain: thanks for verifying 17:02:44 hi james_li 17:02:52 hi devkulkarni 17:03:08 looks like you also are on top of the patches needing one more +2 17:03:10 awesome 17:03:23 just approved a doc change 17:03:58 james_li: nice.. yeah we got couple of folks submitting the doc change patches 17:04:30 yeah 17:04:35 #topic Announcements 17:04:43 I don't have any prepared announcements 17:05:15 Any of you have any announcements? .. will wait for 30 seconds before proceeding 17:05:38 Not from me 17:06:19 alright.. moving on to next topic 17:06:36 #topic Review Action Item 17:06:47 I had one action item which I just remembered 17:06:54 ya readthedocs 17:06:59 related 17:07:06 yes, that one and one more 17:07:24 I removed the readthedocs action item as I have been just carrying it forward for quite a while 17:07:25 hmmm was it a question on tag I asked sometime back? 17:08:15 ashishjain: could you refresh my memory on it.. the action item was to send a note to openstack-dev mailing list that our meeting on December 29th is cancelled 17:08:22 diverse-affiliation 17:08:29 ashishjain: oh that's right 17:08:35 :) 17:08:45 let me take both of those action items again 17:09:31 #action devkulkarni to figure out details about diverse-affiliation tag associated with solum. 17:09:48 #action devkulkarni to send a note to openstack-dev mailing list that our meeting on December 29th is cancelled 17:10:36 #topic Blueprint/Bug Review and Discussion 17:11:00 We have four top-level items to discuss today 17:11:07 1) Patch(es) needing one more +2 17:11:15 done! 17:11:20 probably all the patches are done 17:11:23 they are 17:11:24 james_li: awesome!! 17:12:15 james_li, datsun180b: cool 17:12:24 devkulkarni: sure 17:12:27 all the new contributors are going to be happy :) 17:12:35 james_li: just saw your comment on https://review.openstack.org/#/c/254344/ 17:12:50 2) Patch(es) needing discussion 17:12:55 https://review.openstack.org/#/c/254344/ 17:13:12 this is the same patch as listed by ashishjain above 17:13:32 Why I have removed this code is as the assembly is already being removed this code snippet "objects.registry.Workflow.destroy(app_id)" 17:14:07 and the idea was to first remove all the stacks and than go about cleaning apps, assemblies, plans, workflows 17:14:18 ashishjain: you mean in line 313? 17:14:46 but is destroy_assembly() is called anywhere else? 17:15:09 Talking about 213 & 236 now Yes same reason is applicable to line number 313 as well 17:15:11 james_li: in line 310 17:15:46 james_li : in line 310 in the new code 17:16:33 I know. i meant you changed destroy_assembly(), but is it called anywhere other than destroy_app()? 17:16:57 good point james_li 17:17:35 james_li: that is a valid point 17:18:49 searching through the code, it looks like destroy_assembly is getting called only from destroy_app 17:19:21 although let me check if destroy_assembly was part of the public interface of the deployer 17:19:40 actually it is :( 17:20:01 look at the deployer/noop.py 17:20:01 james_li: yeah searching through the code it just being called by assembly_handler 17:20:30 thanks for verification 17:20:56 ashishjain: we want to deprecate assembly_handler eventually 17:21:21 so it is probably okay if we modify the destroy assembly method the way you are doing it 17:21:23 devkulkarni: you mean it is deployer/handlers/noop.py 17:21:30 ashishjain: yes 17:22:45 devkulkarni: But is the destroy_assembly being called from here? 17:23:29 I am sorry but am I missing something here? 17:23:58 ashishjain: as you just noted, destroy_assembly is called from assembly_handler. Eventually we are planning to deprecate assembly abstraction 17:24:09 but right now it is still there 17:24:48 so I was wondering if there is a real necessity to remove call to assem.destroy from the exception handlers? 17:25:15 we could leave those calls there and remove them when we get rid of assembly abstraction 17:25:19 devkulkarni: actually no & yes 17:26:02 devkulkarni: line no 313 fails because of exception 17:26:40 because we try to remove assembly again and this approached seemed better 17:26:48 but as you said I will revert it back 17:26:56 ashishjain: I see.. 17:27:27 and instead break this call in line no 313 "objects.registry.Workflow.destroy(app_id)" into multiple lines of code so that we just remove plan & workflow here 17:27:38 and not assembly 17:27:59 ashishjain: let me quickly look at workflow.destroy 17:28:16 devkulkarni:thanks 17:29:12 ashishjain: ok.. so workflow.destroy is destroying everything, which is good 17:29:21 lets not break it up 17:29:26 yeah that was the point 17:29:32 than ? 17:29:49 I like the way you have line 313 right now 17:30:06 it is calling workflow.destroy which is going to destroy everything 17:30:23 okay than we need to remove line number 236 & 213, 17:30:43 actually, I just wanted to discuss/debate that part 17:31:13 oh nm 17:31:37 is workflow.destroy also destroying heat stack? 17:32:26 no it just removes entries from DB 17:32:47 ok, yes I just verified that 17:32:51 line number 310 is taking care of it 17:33:34 in that case, the question that I have is, if we don't remove lines 236 and 213, what will happen? 17:33:58 I think it will be alright since those lines are part of the exception handling code 17:34:46 we can remove those lines when we eventually deprecate the assembly abstraction 17:35:04 If we do not remove lines 213 & 236 there will another call made using Workflow.destroy to remove the entries from the db whcih will eventually hit an exception 17:35:19 not sure if that part of the code has got exception handling 17:35:34 ok, let me check 17:35:52 checked it has got 17:36:20 aah but there is an issue 17:37:04 the code execution will move out of the loop very first time it hits an exception while deleting assembly and hence will not remove any further entries 17:37:26 moreover it will not remove any entries for plan as well 17:37:55 you mean in workflow.destroy method 17:38:02 yes correct 17:38:46 ashishjain: ok, it is now clear to me that we do need to remove lines 212 and 236 17:39:17 devkulkarni: thanks for your review 17:39:34 james_li, ashishjain: I will add my comment to the patch 17:40:15 sure, I have modified the unit test cases as well per the patch 17:40:55 ashishjain: thanks 17:41:23 ashishjain: if we don't want to remove those two lines then your suggestion is to modify Workflow.destroy method 17:41:56 to add exception handler around each delete call, right? 17:42:13 devkulkarni: yes that would be the way forward I guess 17:42:38 but that does not seem to be an elegant solution 17:42:50 thinking/debating 17:42:56 yes, agree to that 17:43:25 just thinking if we can somehow not modify the semantics of destroy_assembly method 17:43:59 agreed 17:44:46 can't think of a way right away 17:44:57 if I think of something, I will add it to the comment 17:45:15 otherwise, we can move forward with the approach that you have 17:45:23 can we 17:45:42 cool.. great discussion 17:45:43 modify the assembly_handler code to accomodate 17:45:55 the assembly details removal from DB 17:46:03 anyways it would be sunset in sometime 17:46:26 ashishjain: true about sunset 17:46:35 and keep the bes possible solution for our apps & workflow 17:47:00 ashishjain: about modifying assembly_handler.. we cannot do that since we want to destroy an assembly only after the heat stack is deleted 17:47:10 and deletion of heat stack happens in deployer 17:47:13 aah okay 17:47:15 got it 17:47:44 agree about keeping the solution forward looking 17:47:46 I was also facing similar problem and thats why had to move all the code to deployer about removal from db tables 17:47:54 yep 17:48:19 that is exactly the reason why we cannot delete db rows directly from workflow handler 17:48:55 alright.. let me jump ahead to the spec on micro-service architecture 17:49:08 one last point 17:49:14 ashishjain: sure 17:49:34 can we in any way figure out if the call emanate from assembly_handler or app_handler 17:49:56 no I think 17:50:33 we could by modifying one of them to add a header/flag to context 17:50:44 and then checking the context for that flag 17:51:00 were you thinking of using that as a hint of whether to delete an assembly or not? 17:51:07 yeah correct 17:51:08 that could work 17:51:32 but seems like too much of work for something that we are not going to support in the long term 17:51:42 I agree with you on this 17:51:53 so you can probably suggest what could be best 17:51:55 good idea though 17:52:06 the best course is what you have currently 17:52:06 and I will try to implement it 17:52:23 thanks 17:52:37 let me add a comment in reply to james_li's comment about why we need to remove those lines 17:52:49 that way there will be a record 17:52:59 okay 17:53:10 I will also link today's chat transcripts with it 17:53:20 alright.. 17:53:34 we have only few minutes remaining 17:53:47 and we got lots to discuss I guess 17:54:16 yeah.. we can do that in solum channel tomorrow and throughout the week.. 17:54:47 for datsun180b and james_li: want to get your attention on https://review.openstack.org/#/c/254729/ and https://bugs.launchpad.net/solum/+bug/1517588 17:54:47 Launchpad bug 1517588 in Solum "delete-heat-stack-when-app-is-deleted" [High,In progress] - Assigned to Ashish (ashish-jain14) 17:55:01 let me quickly give brief summary on both 17:55:27 the first review is of a spec which outlines how to add support for multi-service applications in solum 17:55:42 I have outlined requirements, approach, etc. 17:55:47 ncie 17:55:48 nice 17:56:08 james_li, datsun180b: yep.. whenever you get a chance, please review the spec 17:56:16 this is a first cut 17:56:36 datsun180b: your input on the changes to the app file format will be valuable 17:56:48 sure 17:56:56 james_li: your input on the changes that need to be made to solum-worker and solum-deployer would be valuable 17:57:07 that is a good spec I can see support for kubernetes and docker-compose, do we not plan magnum? 17:57:16 both of yours comments on the entire spec would be valuable 17:57:31 ashishjain: we do plan to integrate with magnum 17:57:56 although, for supporting multi-service applications we don't necessarily need magnum 17:57:58 since magnum already does compose & kubernetes I think we just integrate magnum 17:58:24 I think magnum supports swarm and kubernetes 17:59:02 my thinking was that we can get an initial multi-service app poc without having to worry about magnum 17:59:19 sorry you are correct I think it is swarm and kubernetes 17:59:21 we can directly use docker-compose on Heat 17:59:28 not sure if mesos is in their plan 17:59:43 yes, mesos is in their plan.. 17:59:51 probably they already support it 18:00:18 alright.. it is time 18:00:30 thanks ashishjain, datsun180b, james_li for joining today 18:00:34 see you next tuesday 18:00:34 yes you are correct they already support mesos 18:00:38 thanks devkulkarni 18:00:47 thanks james_li datsun180b 18:00:55 #endmeeting