09:01:29 #startmeeting Dragonflow 09:01:30 Meeting started Mon Feb 6 09:01:29 2017 UTC and is due to finish in 60 minutes. The chair is oanson. Information about MeetBot at http://wiki.debian.org/MeetBot. 09:01:31 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 09:01:35 The meeting name has been set to 'dragonflow' 09:01:43 All right, who's here for the weekly? 09:01:47 Hi 09:01:47 Hello 09:01:47 hello 09:02:09 Surprisingly, if I start the meeting in the correct channel, everyone is here :) 09:02:27 hi 09:02:35 We'll wait another minute, and then we'l start 09:03:13 All right 09:03:20 I'm going to veer of the agenda for a second 09:03:41 I got the Dragonflow logo from the illustration team 09:03:51 lihi should have the link read any second now 09:04:02 http://www.tiikoni.com/tis/view/?id=436a5d8 09:04:16 :) 09:04:26 What do you guys think? 09:04:56 looks like question mark up down 09:05:02 it looks like a sea horse to me... 09:05:06 If you want to give direct feedback on your mascot to the designers, go here: http://tinyurl.com/OSmascot 09:05:27 It is a sea horse, yes. 09:05:49 I understood that we had to choose an animal that was real, not manmade, and not extinct 09:05:59 So gsagie, the former PTL, chose a sea horse 09:06:01 Well, a sea horse kinda looks like a question mark up down 09:06:12 What is this log for? 09:06:25 log->logo 09:06:42 I think it is going to replace the network cable dragon logo we have now on all our project docs 09:07:24 I see 09:08:29 I think maybe ask it to be thinner, and have the spikes on the back more pronounced. Might make it a bit more dragon-ish 09:09:50 It might be nice 09:10:50 All right. So as lihi said, you can also give your comments directly here: http://tinyurl.com/OSmascot 09:10:53 Let's move on 09:11:01 #topic Roadmap 09:11:13 IPv6 - lihi, any updates? 09:12:05 I had some unexpected isues with the unit tests, but I should be done soon. I'm also refactoring a bit the sg code. It contains a lot of duplicate code 09:12:59 lihi, I see. Well, any cleanup to the code is appreciate as well. 09:13:09 Do you think it will be done by the PTG? 09:13:24 yes 09:13:43 Cool. 09:14:07 NB refactor - dimak, I saw there are a lot of patches up 09:14:16 They also look like they are coming along nicely. 09:14:30 yeah, primarily waiting for your +1's (or -1's) 09:14:42 Since this is a major overhaul, I'd like everyone to put their stamp of approval before we move forwards with this 09:15:07 I know it's a lot of code, but dimak did break it down for us, so it should be ... manageable :) 09:15:25 dimak, I also understand you are building the SFC on top of it? 09:15:34 Yeah, I also postponed some stuff 09:15:55 Yes, I'm working primarily on SFC over the new models now 09:16:04 trying to get the fullstack test I have to work 09:16:42 We will need to move the models from the legacy structure to the refactored structure. Is that something you can do, or are you fully booked with SFC? 09:17:04 I can do that as soon as we converge on the basic framework 09:17:19 oanson, me and dimak started to check openAPI spec to prepare automation for the schema generation 09:17:21 Great. 09:17:43 irenab, sounds good. How's that going? 09:17:59 Yeah, once we have all the models in the new format we can relatively easily generate large parts of the api declaration 09:18:36 we need to see if to keep model definition as a single piece or split db and api parts 09:18:47 That's our REST API out-of-the-box? 09:19:06 In general, we'll want to split the models of to be by topic 09:19:08 yes 09:19:23 e.g. routers and l3 in one file, floating IPs in another, BGP (when it lands) in another, etc. 09:19:34 oanson, feature 09:19:43 topic is abit overloaded term 09:19:51 Yes, feature :) 09:20:24 Which reminds me, the spec was merged yesterday evening 09:20:35 seems that openAPI spec documentation has nice tagging feature, to filter relevant APIs by tags 09:20:45 (Or this morning, according to time difference) 09:20:50 oanson, we should also examine the translation between db-stored data and api objects 09:20:54 so we can use tag = feature 09:21:02 irenab, that's a good idea 09:21:05 dimak, what do you mean? 09:21:13 because api is expected to be backwards compatible 09:21:29 and some things present in api objects we might not want in the database 09:21:38 dimak, yes, but only after the first version we have it 09:22:00 It won't have to be backwards compatible to a time before API, and by the looks of it, it won't make it into Ocata 09:22:13 yeah 09:22:19 There's just too little time to stabalise it, especially if we will need backwards compatibility 09:22:33 I just meant that db and api might need to diverge at some point 09:23:39 dimak, +1 09:24:03 I guess we'll have to cross that bridge when we get there. We have to minimise API breaking changes, and see how to support backwards compatibility if we have to. 09:24:23 Neutron have a deprecation system, but I don't like it very much... 09:24:40 Seeing as we were on the broken end of such a change a few times :) 09:24:52 oanson, we just need to keep in mind the backward compatibility, not to break existing clients after first version is released 09:25:04 Yes. 09:25:32 Anything else for API? 09:25:43 openAPI also provides tools to generate clients in different launguages 09:26:03 That's a powerful feature! 09:26:35 so once we are doen with model definition, seems the rest should not be too time consuming 09:26:54 That was the plan when we started :) 09:27:05 We'll still have to implement some kind of server to translate api to nb db 09:27:34 dimak, doesn't openAPI provide that too? 09:27:43 please check the latest spec version and my replies to recent comments 09:28:00 oanson, You can generate a server with stubs 09:28:30 I don't we'd like rebasing on top of it each time 09:28:47 We'll have to see what it provides exactly, then. The way we use it, the implementation of these stubs may be automated. 09:28:50 maybe better to write someothing of our own with some magic to translate paths to models automatically 09:29:01 dimak, no. These things should change only if the models change 09:29:29 dimak, possibly. I was playing around with python bottle, which looks like it can do it :) 09:29:44 But one step at a time 09:29:56 oanson, we should also note that api spec is dependent on the models loaded 09:30:12 dimak, sorry? 09:30:23 We talked about dynamic loading of features 09:30:34 Ah. Yes. Of course. 09:30:36 e.g. apps + service plugins 09:30:48 We have to support API for all loaded models, and not support API for models that aren't loaded. 09:31:03 this means that the set of models we support is different for each configuration 09:31:16 what about 3rd party? 09:31:32 Yes. But all have to be implemented, and only those that are loaded, should be supported by the API 09:32:00 I meant that if I have an out-of-tree feature I want to support 09:32:01 For 3rd party, we will have to provide some way to extend our API. If everything is done automagically, that wouldn't be a problem. 09:32:04 we will havCen we delay a bit the dynamic loading, at least till we have basic stuff working? 09:32:36 Can we delay a dynamic part? 09:32:50 irenab, no worries. Right now we're only planning ahead. It's not like dimak already has it all written. (dimak, right?) 09:33:11 heh, not yet 09:33:15 oanson, I won't be suprised to see it during the afternoon :-) 09:33:39 He said he doesn't have it written yet. So it will take him at least until 09:33:41 the evening 09:34:03 All right. Let's move on. 09:34:21 distributed sNAT 09:34:47 the second implementation has been uploaded. But I will talk with ishafran. It looks like he squashed the two commits. 09:34:55 I will ask him to un-squash them. 09:35:14 TAP-as-a-Service - yuli_s are you in? 09:35:52 It looks like the snat patch is on top of the abandoned patch 09:36:22 dimak, that sounds strange. But I'll ask ishafran organise it so it's digestible 09:36:40 I also talked with ishafran regarding the ml2 driver change, I proposed different approach and we will continue the discussion 09:36:58 irenab, you want to elaborate? 09:37:32 ishafran, right on time :) 09:37:50 Hi 09:37:59 the lates patch includes changes to ml2 df driver, I suggested a bit different approach that does not require ml2 driver modification. 09:38:19 Hi 09:38:20 but I think we still need some time to discuss it offline 09:39:03 Sure. 09:39:04 in short, get port_created notification outside of the ml2 driver and create compute tenant gw port 09:39:30 irenab, as in a second mechanism driver? 09:39:46 oanson, more like l3 service 09:40:10 but maybe another l2 driver can work as well 09:40:33 If Neutron supports that, it would be great. I though ports and l2 were only accessible via the mechanism driver? 09:40:41 I am actually did not find alternative pre/post commit mechansim except mech_driver since our talk yesterday 09:40:59 ishafran, will show you what I meant 09:41:11 All right. As irenab said, let's take this offline. 09:41:32 Should we continue? 09:41:52 lets take tit offline 09:42:44 Tap-as-a-Service - I understand that yuli_s is setting up a taas environment, and then he'll start the implementation 09:42:57 (He is also working with the Rally croud on something else) 09:43:07 crowd* 09:43:19 All right. Anything else for roadmap? 09:44:05 #topic Open Discussion 09:44:09 The floor is for the taking 09:44:31 I have one question about storing port unique key in reg 09:44:50 in table 0 we store it in reg6, but in all other tables we store it in reg7 09:45:08 and the value in reg6 seems only be used by metadata app 09:45:18 I though it reg6 is used for source port and reg7 for the dest 09:45:21 reg6 is the source port's ID 09:45:28 dimak beat me to it :) 09:45:44 I see it 09:45:51 thanks guys 09:45:51 The thing is, only metadata actually needs to know the source (So far) 09:46:31 In theory, I guess reg6 can be winged for the in_port (like in port sec) 09:47:22 The floor is free again. 09:48:14 All right. Thanks everyone. 09:48:29 #endmeeting