14:00:12 #startmeeting networking_ml2 14:00:13 Meeting started Wed Jun 19 14:00:12 2013 UTC. The chair is mestery. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:14 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:16 The meeting name has been set to 'networking_ml2' 14:00:27 #agenda https://wiki.openstack.org/wiki/Meetings/ML2 14:00:42 Before we get started on the agenda, rkukura, you here too? 14:00:53 hi 14:01:07 hey 14:01:38 OK, so the first item on the agenda is blueprints. 14:01:46 Lets start with the MechanismDriver blueprint 14:02:00 #link MechanismDriver Code Review https://review.openstack.org/33201 14:02:18 apech: Nice work on getting this out over the weekend! 14:02:29 sure - got a lot of great comments, thanks everyone. I think i'm in line with most of them. Had one question on testing that might be interesting 14:02:43 i should have another version out for review in the next day or so 14:03:08 apech: great! 14:03:15 apech: What was the testing question? 14:03:32 mark mcclain rightly brought up the question of testing, which I had been a bit ignoring under the assumption that most would be driven by the actual mechanism driver implementations (including ours) 14:03:49 any thoughts on a generic test suite I should add, or is putting this off in the short term ok? 14:04:06 I could go down the path of adding test mechanism drivers, but that seemed a bit silly 14:04:17 I think putting it off for the short term is ok, until we get an actual MechanismDriver. 14:04:24 An obvious approach would be to unit test the manager classes using a mock driver 14:04:49 i'm guessing that's what mark m was looking for 14:04:52 sure, that's true, could right a targetted test for the manager 14:05:01 okay, thanks! 14:05:11 other people have questinos for me on the mechanism driver? 14:05:15 Yes, I think in general, we'll want solid unit tests before most of these blueprints go up. 14:05:20 we probably should also plan a test for each driver class too 14:05:30 rkukura - yes, for sure 14:06:16 I was also trying to figure out how to test the rpc methods to make sure correct results returned, etc. 14:06:50 ON the subject od testing, Can I ask you guys a question about bringing up of ML2 with devstack? 14:06:55 rkukura: are you thinking of an end to end test, or a stubbed out rpc responder? 14:07:14 apech: had not decided between those 14:07:27 sukhdev: what's the devstack question? 14:07:51 rkukura: yeah, this comes up in the context of all mechanism drivers making external calls, though there I think the response has to be stubbed out 14:08:07 apech: Agreed. 14:08:22 yes, that's what we did w/ our netconf calls ... stubbed 14:08:37 rkukura: yesterday I was able to play with ML2, created networks, VMs, etc... but, had to struggle a lot - could not find any instructions on config 14:08:44 would seem to make sense to test mechanism drivers that make remote calls directly, with a stubbed out client lib or whatever 14:09:21 Is it documented some where as to the localrc setups to fire off ML2 instead of OVSPlugin? 14:09:59 sukhdev: we will definitely need to cover ml2 in the docs, etc., but maybe a wiki page for now that everyone can easily contribute to 14:10:52 sukhdev: The comments in the script for devstack's ml2 support should have some info 14:11:03 rkukura: do you have any wiki page - where I can add to? or do you have any cheatsheet that you have been using that I can leverage from? 14:11:18 #action mestery to setup a wiki page for ML2 with devstack 14:11:30 sukhdev: I'll set one up (or start one). 14:11:51 mestery: tahnks 14:11:58 lets have one top-level ml2 page with links to a devstack page, the meeting page, etc. 14:12:08 rkukura: OK, makes sense. 14:12:14 OK, any more questions on MechanismDriver? 14:12:42 Did I post my comment about bulk operations? 14:12:44 mestery: i'm good 14:12:53 rkukura: I don't think so. 14:12:54 rkukura: yes 14:13:02 not for now, i'm porting over one of our subplugins now ... conf questions will need to be addressed (obviously) 14:13:06 sorry, i meant in the review :) 14:13:16 apech: No worries. 14:13:26 rcurran: Yes, configuration items will have to be dealt with. 14:13:49 OK, lets move on to the next agenda item. 14:13:54 Do we all agree its OK to use the default bulk operation implementations for now that call the normal ones inside a single transaction? 14:14:02 rkukura: did you have something you wanted to bring up here? 14:14:21 rkukura: I'm all in favor of keeping things simple, given how close H2 is. :) 14:14:26 rkukura: that seems like the simple approach 14:15:05 rkurura: do you think the api will have to change to better support bulk operations? 14:15:07 agreed - just want to make sure we are clear that the outside-the-transaction semantics for the _postcommit() ops don't apply yet to bulk ops 14:15:34 I think that's a tradeoff I'm ok with for now. 14:15:40 rkukura: ah right, good point 14:15:58 mestery: agreed, let's get a first working version we're happy with 14:16:20 I think the proposed mechanism driver API should be OK, but we will eventually need to call create_precommit() for all the items, commit, then call create_postcommit() for each 14:16:38 #info ML2 MechanismDriver to keep default bulk operations for now due to the approach of H2. 14:16:47 rkukura: right, we'll need to override the _bulk functions as you pointed out in the review 14:17:03 lets file a bug to track this 14:17:07 I'm happy to take that on for H3 14:17:17 apech: Can you file a bug? 14:17:24 mestery: sure, will do 14:17:50 #action apech to file bug to track bulk operation fixes for H3. 14:18:05 sounds good 14:18:08 OK, anything else on MechanismDriver? 14:18:32 #topic ml2-portbinding 14:18:40 I thought I'd move to portbinding next. 14:18:44 Before moving to the TypeDrivers. 14:18:49 any feedback on the "context" class idea, which might apply to portbinding and other ops on mechanism driver? 14:19:09 rkukura: I like it (especially the caching) 14:19:27 rkukura: Do you have a link to info on that? 14:19:29 one question is how far to go - do you put everything in the context, or is 'network' / 'port' dict still separate 14:19:32 am coding it up now :) 14:19:51 apech: got it :) 14:19:57 I think we need info on the instance information in the context 14:20:09 cool - what are your thoughts on making it the only param? 14:20:58 standard thoughts on type safety. Were you thinking of a single context class, or one for network, one for port, etc 14:21:05 and do we want separate context classes for each operation, for each resource type, or a single one? 14:21:20 rkukura: I was thinking separate per resource 14:21:29 makes sense if it works 14:21:33 thoughts? 14:21:39 could always subclass for specific ops later if needed 14:21:59 right, was definitely going to go heirarchical. hard to saw how it will turn out not having finished it yet 14:22:36 OK, as soon as you settle on something, please share it and I'll try to figure out if the portbinding stuff fits 14:22:42 folks, we need Instance info, in addition to port info - 14:22:45 okay that works 14:22:49 others okay with the context idea? 14:23:01 sukhdev: what do you mean by "instance info"? 14:23:11 apech: Seems like it will work to me. 14:23:23 rkukura: VM Id, etc 14:23:35 not following the portbinding stuff specifically, but everything regarding the use of context makes sense to me 14:23:50 rcurran: great 14:23:56 rkukura: will send out review once I have it 14:24:07 sukhdev: the portbinding ops on mech drivers will have the host_id from the portbinding extension, but I'm not sure about more specific info from nova 14:25:02 rkukura: Yes, I know it has host_id - but, we need in addition VM ID, name, etc. -- some additional params 14:25:26 rcurran: the portbinding BP covers letting the MechanismDrivers determine what segment will be used for a port, and returning the correct binding:vif_type for the mechanism used on that node 14:25:58 ok, got it 14:26:06 sukhdev: does the necessary info get set on port currently - device_id or something? 14:26:46 rkukura: I can look it up and let you know - as of now, I do not know 14:27:44 sukhdev: OK - I think the port dict will be available to mech drivers, so if they should be able to get the instance ID for the port and get the nova instance 14:28:37 OK, anything else on portbinding? 14:28:58 hopefully will have code to look at early next week 14:29:10 rkukura: Great! 14:29:29 OK, if nothing else on portbinding, lets move on to the next agenda item then. 14:29:53 #topic ml2-gre 14:30:01 #link https://review.openstack.org/33297 ml2-gre code review 14:30:04 hi 14:30:11 matrohon: Hi! 14:30:19 i just submitted a new patch 14:30:23 on the review 14:30:51 matrohon: This one looks like it has a new TunnelType class now? 14:31:03 matrohon: I'll give that a close review today 14:31:33 mestery : yes, t's a generic clss to handle RPC and endpoints stuff related to tunnel types 14:31:54 matrohon: Great! Thanks for taking care of this, as the VXLAN type driver will need this as well. 14:32:35 I will also review this today, though I see it is failing Jenkins right now. 14:32:58 matrohon: Looks like the white space issues may be causing flake8 to fail. 14:33:19 yes i wanted to share it for the moment, so i misse flake8 tests 14:33:49 OK, so any questions on ml2-gre? 14:33:51 should we ignore the jenkins flake8 issue for now, and review this version 14:34:09 rkukura : yes please, i've put it in WIP 14:34:14 ok 14:34:36 please telle what what do you think about the general architecture 14:34:50 will do - makes sense so far 14:34:56 matrohon: Sounds good. 14:34:58 thanks 14:35:36 Any more questions on ml2-gre before we move to the next agenda item? 14:36:18 #topic ml2-vxlan 14:36:35 So, the updates on ml2-vxlan are short: I haven't started coding this yet. 14:36:35 I' 14:36:44 I've been stuck on a bug (which we'll discuss next). 14:36:56 matrohon: The work you've done for ml2-gre will make ml2-vxlan easier, however. 14:37:18 mestery : hope so 14:37:41 the real challenge will be to manage both vxlan and gre on OVS 14:38:04 matrohon: Yes, that will require some agent changes, which I will try to make as part of the ml2-vxlan blueprint I think. 14:38:18 mestery: one question about that 14:38:36 I gave a look at https://review.openstack.org/#/c/33107/ 14:39:17 and am wondering on how to avoid duplicate work, as we were willing to start working on l2-population 14:39:38 feleouet: I have a new version of that patch I have not submitted yet, as I'm blocked on testing due to some Nova bug right now. 14:39:55 feleouet: I can submit what I have now (it passes flake8 and unit tests) so you can review the latest version. 14:40:19 I think the l2-population work is intertwined with this as you say. 14:40:30 which nova bug? 14:41:06 feleouet: I need to search for it, what I see is with the latest Havana, when I launch VMs nova-compute stops working (e.g. nova-manage service list shows it dead). 14:41:23 Something is hanging somewhere, as even the quantum agents stop communiating back to the server. 14:41:30 This is on Fedora 18 (rkukura, have you seen this recently?) 14:42:03 mestery: no, but I haven't run devstack for a couple weeks 14:42:25 rkukura: If you give it a shot with Fedora, let me know if things work for you. 14:42:38 Anyways, I need to chase that down after the meeting this morning. 14:42:39 ok 14:43:05 feleouet: Sorry for the long-winded story there, but how should we ensure no overlap? 14:44:45 mestery: don't know how to manage that, but we're goig to start working on that on our side 14:45:11 feleouet: OK, lets try to stay in sync. I'll send my latest patch out after the meeting, please provide comments if you can. 14:45:25 mestery : great 14:45:29 maybe ovs agent can stay as is (meaning ovs or vxlan) in the meanwhile 14:45:46 or we'll rebase our efforts on your work 14:45:50 feleouet: That's the plan, at least with the bug you referenced. 14:46:00 feleouet: OK, great! 14:46:24 OK, I think we covered the ML2 Bugs during this last discussion. 14:46:32 So, lets move on to the next agenda item then. 14:46:44 #topic Ported MechanismDrivers 14:47:00 I put a list of the MechanismDrivers I know are under development in the agenda. 14:47:12 If people want to update status during this slot, that would be great! 14:47:55 We will be submitting Arista Driver sometime next week to be added to this list 14:48:19 sukhdev: Cool! 14:48:38 cisco - porting over nexus plugin (assuming OVS will still be hardcoded for now ... although this still needs to be addressed) 14:48:53 rcurran: Great! 14:48:56 for other cisco subplugins to be ported over 14:49:51 For the OpenDaylight driver, I need to port that over as a MechanismDriver. I won't get started on that until next week I suspect. 14:50:24 #topic Questions/Comments? 14:50:31 OK, anything else for ML2 this week? 14:51:09 mestery: great job with the meetings! thanks 14:51:12 ! 14:51:18 rkukura: Thanks! 14:51:32 OK, thanks for everyone's efforts on all the ML2 work! 14:51:39 thanks all 14:51:42 Lets keep the momentum going as H2 approaches! 14:51:47 #endmeeting