16:01:02 #startmeeting networking_ml2 16:01:03 Meeting started Wed Dec 4 16:01:02 2013 UTC and is due to finish in 60 minutes. The chair is mestery. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:01:04 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:01:06 The meeting name has been set to 'networking_ml2' 16:01:07 Hello 16:01:15 hi 16:01:37 #link https://wiki.openstack.org/wiki/Meetings/ML2 Agenda 16:01:54 #topic Action Items From Last Week 16:02:08 First item from last week: multi-node devstack gate testing 16:02:16 I attended the infra meeting last week 16:02:22 There is no multi-node gate testing done now. 16:02:30 So, we will be blazing a new path here. 16:02:43 I will spend some time on this before next week's meeting. 16:02:46 Any questions? 16:03:44 Next action item is for asomya. 16:03:57 asomya: Review the TypeDriver patch. 16:04:06 asomya: hi 16:04:12 hi 16:04:13 asomya: Did you review the TypeDriver patch? 16:04:19 We are reviewing your action item from the last meeting. 16:04:32 Yes, i posted a couple of inline question and a general one explaining my proposal 16:05:07 asomya: OK, thanks. We can cover this in more detail later, wanted to make sure you had reviewed it. 16:05:23 #topic Development Issues 16:05:28 rkukura rcurran: Both here? 16:05:37 I am 16:05:38 yup 16:05:55 rcurran: This is about the VLAN availability during delete_port_postcommit() 16:05:59 And the thread we've had around that. 16:06:08 Wanted to discuss this with the broader team in the meeting. 16:06:13 Really the bound_segment being available 16:06:21 rkukura: Yes 16:06:56 do you want me to state what i found? 16:07:26 rcurran: Yes, please do. 16:07:31 that is the issue in a nutshell 16:07:46 i'm trying to make better use of the pre/postcommit() methods 16:08:14 found out that on delete port the unbinding is done before the postcommit 16:08:26 i need info in postcommit for nexus programming 16:08:40 we had the same issue 16:08:46 for l2pop 16:08:51 matrohon: How did you solve this? 16:08:53 general issue seems to be that if in a create function you call subcreateA,B,C 16:09:12 that on deletes the calls should be made in the reverse order C,B,A 16:09:19 I'd argue unbind_segment() should have pre and post commit calls 16:09:20 just a thought 16:09:23 rcurran: +1 to that. 16:09:34 we have store locally the data we nedded during pre-commit, and used it during post-commit 16:09:35 rkukura: Thoughts on the ordering issue rcurren mentioned? 16:10:02 not sure I understand why that matters right now - there is only one bound segment belonging to one MechanismDriver 16:10:17 I felt the delete methods were ordered wrong - when I worked on it as well 16:10:49 I'm OK with reversing the order for deletes relative to creates, but don't see how that relates to the original issue 16:10:58 Conceptually it makes sense to tear things down in the exact reverse order as they were put up. 16:10:58 it fixes it 16:11:10 how does it fix it? 16:11:40 forgetting about the naming issue for a moment, delete_port_postcommit() is called before the db trans code 16:11:59 Oh, you mean reversing the pre/post? 16:12:10 naming issues aside, yes 16:12:16 thought you meant calling the list of MDs in the reverse order 16:12:20 i never liked those names :-) 16:12:28 no 16:13:10 Still, I think port_unbind() needs to be handled consistently/correctly whether part of delete_port() or otherwise 16:13:53 So if an MD needs to do something outside a transaction, we need that to work as part of port_unbind() 16:13:59 yeah, it probably should have a pre/post type style to be in line w/ the other methods 16:14:19 rkukura rcurran: I agree. 16:15:14 what if the binding was stored in the port context, in orig_context 16:15:26 How about we move the private email discussion to openstack_dev, and try to come to a plan 16:16:01 ok by me 16:16:02 rkukura: Lets do it. 16:16:05 rkukura : fine, put me in this discussion 16:16:11 Who wants this action item? 16:16:35 #action rcurran to move this discussion to openstack-dev 16:16:37 I can take it 16:16:41 rcurran: I gave it to you :) 16:16:55 sorry, was looking at something else ... ok 16:17:03 OK, moving on to the next item on the agenda 16:17:03 last email was from rcuran, so I can just reply adding the list 16:17:10 rkukura: OK, makes sense. 16:17:12 yes, bob please do 16:17:14 #undo 16:17:14 Removing item from minutes: 16:17:23 cc matrohon too 16:17:24 #action rkukura to continue discussion on openstack-dev 16:17:38 rcurran : thanks 16:17:46 #topic Testing 16:18:07 So, there are 4 items in this area on the agenda. 16:18:16 Lets start with unit tests, which may be the easiest. 16:18:32 At the last meeting, we decided we should possibly add more unit test coverage for ML2. 16:18:39 Does anyone want to take this action item and look into this? 16:18:45 has anyone checked the coverage? 16:18:52 I don't think so, no. 16:18:55 That would be a good first step. 16:19:03 I looked into the port testing 16:19:24 and notice that it does not work well for ML2 drivers/context 16:19:36 Sukhdev: Unit testing? 16:19:47 Sukhdev: Or is that functional/tempest testing? 16:20:00 Oh - my bad - sorry - I was talking about tempest test 16:20:22 I'm pretty sure the RPC methods in the server need real unit testing 16:20:23 Sukhdev: No worries. 16:20:29 rkukura: Agreed. 16:20:37 OK, if no one is volunteering, I'll work offline to find someone to cover this. 16:20:45 This being the unit test coverage. 16:20:57 #action mestery to find a volunteer to verify and possibly expand ML2 unit test coverage. 16:21:15 The next item is multi-node devstack based gate testing. 16:21:29 We briefly touched on this earlier. I need to research this more and come up with a plan for this. 16:21:35 mestery: Can this be combined with the scenarios in the next item? 16:21:47 rkukura: I think that seems reasonable, yes. 16:21:53 hi - is this the policy meeting. sorry joining late 16:22:03 rudrarugge: ml2 subteam meeting 16:22:04 rudrarugge: Nope, ML2 meeting 16:22:11 ok 16:22:24 So multi-node tempest tests run for various config scenarios? 16:22:32 rkukura: Are you saying the multi-node stuff shoudl just be tempest tests? 16:22:37 rkukura: I think so, yes. 16:22:59 So, I think you're right rkukura, this will cover both items. 16:23:05 I'd hope we could reuse as much of what exists as possible 16:23:47 rkukura: Agreed. 16:24:00 rkukura: But this will require whatever is using tempest to spin up multiple VMs. 16:24:09 I may need to look at this closer if I'm not understanding something here. 16:25:10 I don't know the details, but couldn't something do a multi-node devstack deployment and then run tempest in one of the nodes? 16:25:24 rkukura: I think that's the idea, yes, but that doesn't exist today. :) 16:25:39 The tripleo folks are looking at something similar, according to the infra folks. 16:25:45 Are there any tempest tests for multi-node setup - did I miss anything....I did not see any 16:25:46 So we may be able to combine efforts. 16:25:55 Sukhdev: There are none. 16:25:57 We need to add those. 16:26:29 Wouldn't just running the existing tempest tests in a multi-node deployment add significant value? 16:26:43 rkukura: Yes, I think that's a good start. 16:27:18 rkukura - only if you combine them with nova - otherwise no 16:27:27 Then some addition tests could be added to tempest to specifically exercise cross-node interactions 16:27:54 Wait, if you run Tempest against a multi-node openstack, it will be default be using multiple nodes, right? 16:28:00 As long as it spins up multiple VMs I guess? 16:28:03 What am I missing here? 16:28:07 I was assuming these tempest tests would include nova 16:28:46 there are nova tests and neutron test - I did not see one invoking other 16:29:20 The neutron tests have to spinup VMs for testing, right? They would implicitly be using nova. 16:29:30 when you run neutron port test - they have no clue about nova tests - hence, there is no host information - and hence, you can test networks across multi-nodes 16:29:31 don't tempest smoke tests involve both nova and neutron? 16:30:14 I thought they did. 16:30:26 they do them serially - based upon what i saw 16:30:56 https://github.com/openstack/tempest/blob/master/tempest/scenario/test_network_basic_ops.py 16:31:17 this smoke test creat servers and neutron networks 16:31:31 matrohon: right 16:31:38 Yes, exactly, the neutron tests make use of nova implicitly. 16:32:31 Sukhdev: Of course there are also tempest tests for neutron that don't involve nova 16:32:54 I was looking at the API tests 16:33:11 they do not involve Nova tests 16:33:48 so not sure if running all those multi-node adds much, but it shouldn't hurt, and might expose issue 16:33:51 https://github.com/openstack/tempest/blob/master/tempest/api/network/test_networks.py 16:34:09 API is different than scenario tests, now I understand the gap here Sukhdev. 16:34:54 so what kind of base multi-node deployment scenario would we start with? 16:35:13 Maybe one node for controller/network/tempest and two compute nodes? 16:35:15 rkukura: I think just running the existing scenario tests against a multi-node ML2 setup would be the best place to start, right? 16:35:21 rkukura: Yes 16:35:34 rkukura: fine 16:36:05 Then we could add/modify some test(s) to force VMs onto different compute nodes, right? 16:36:15 rkukura: yes 16:36:23 Yes, that makes sense. 16:36:39 So, I think I'll write this up in an etherpad before next week's meeting, does that sound good? 16:36:42 And could this serve as the template for 3rd party external driver/plugin testing? 16:36:50 rkukura: Yes, even better! 16:36:58 * mestery likes the slick segway rkukura just did there. 16:37:07 Which brings us to our next topic ... 16:37:10 mestery: that is a great idea 16:37:21 rkukura: great 16:37:23 Vendora based tempest testing for MechanismDrivers 16:37:40 #action mestery to start etherpad for multi-node ML2 tempest testing and share with ML2 subteam 16:37:52 So, this really applies to more than just ML2, but lets start here. 16:38:04 All 3rd party testing requirements are effectively the same. 16:38:18 So, I was thinking we should share the knowledge on setting this up so everyone doesn't have to reinvent the wheel. 16:38:26 Makes sense? 16:38:35 excellent idea 16:39:03 I think the basic idea is this: 16:39:20 Each 3rd party plugin/MD needs to run the existing Tempest tests when code changes in their plugin or ML2 MD. 16:39:36 For this, I think the best way to proceed is to have a Jenkins instance running which reads the gerrit stream and kicks off the tempest tests. 16:40:17 sorry - my connection dropped - back again 16:40:27 Sukhdev_: No worries. 16:40:44 mestery: Does this trigger just on merges or also when patches are submitted/approved? 16:40:54 When patches are submitted. 16:41:08 Because the 3rd party testing needs to vote +1/-1 as well 16:41:19 that's what I hoped 16:41:57 OK, I can start an etherpad for this as well to combine information. 16:42:12 I was also thinking perhaps a separate meeting next week would be good for people, maybe over WebEx? 16:42:14 Thoughts? 16:42:25 So, does there exist anything which we can leverage? 16:42:48 Sukhdev_: Yes, there is a jenkins plugin which reads gerrit streams already. 16:42:53 I started to look into writing my own scripts and realized, it will be a lot of work 16:42:53 Is this meeting specifically on multi-node testing and/or 3rd party testing? 16:42:55 This is the type of info I hope to share with everyone. 16:43:10 I think we should combine the two rkukura. 16:43:21 Because 3rd party testing will almost certainly need multi-node testing as well. 16:44:21 #action mestery to organize meeting around multi-node tempest testing and 3rd party testing for next week. 16:44:26 and is better than or! 16:44:43 :) 16:44:48 Anything else on testing for now? 16:45:07 We are also going to deploy multi-node test, maybe we can share idea 16:45:21 we didn't really discuss scenarios to test internally 16:45:44 ZangMingJie: Awesome! 16:45:51 rkukura: Good point, shall we do that now? 16:47:10 we should leave some time for the TypeDriver discussion 16:47:21 Good point, lets move on. 16:47:35 We can continue the testing scenario discussion on the ML and in the meeting next week. 16:47:39 #topic TypeDriver discussion 16:47:56 Per the start of the meeting, asomya has given some comment on ZangMingJie's patch. 16:48:03 Anyone else have comments? 16:48:07 I've started reviewing the current patch 16:48:54 rkukura: Any high level thoughts at this point? 16:49:04 I like the concept, but will have a few issues on the implementation 16:49:51 From an API perspective, this really forces the move from provider extension to multiprovider extension 16:50:09 I think that was what ZangMingJie was intending, right? 16:50:20 #link https://review.openstack.org/#/c/37893/ TypeDriver review 16:50:59 Yes, I have posted my opinion to openstack-dev list, IMO we should move to multiprovider extension and abondon provider ext 16:51:18 Didn't see a thread on this, but will look for it 16:52:07 http://lists.openstack.org/pipermail/openstack-dev/2013-December/021117.html 16:52:18 Seems we should be able to maintain provider extension compatibility when only a single segment with then "standard" attributes is involved 16:52:40 Agreed. 16:53:16 on API level or neutronclient level ? 16:53:19 I'd like to look carefully at how the segment validation/reservation/allocation stuff is handled in the patch - I have a bit of concern there, but need to look closer 16:53:56 ZangMingJie: I think both, maybe with plan to deprecate provider extension in J? 16:55:02 rkukura: That's not a bad plan. 16:55:40 Main question is whether we really have consensus on moving away from existing provider extension/model to multi-provider with arbitrary attributes 16:56:09 rkukura: I'll make a note to mention this during the Neutron team meeting next Monday, sound good? 16:56:19 I'd like to get markmcclain and other neutron cores to buy in on this 16:56:37 Can you give a high level summary of this? 16:57:26 The provider extension uses fixes set of attributes (network_type, segmentation_id, phyiscal_network) 16:58:03 rkukura: Added an item for the Neutron team meeting on Monday here: https://wiki.openstack.org/wiki/Network/Meetings#ML2_.28mestery.2Frkukura.29 16:58:10 With multiprovider extension and this patch, TypeDrivers define arbitrary attributes (only network_type is required) 16:58:37 rkukur: thanks 16:58:44 OK, lets continue this discussion on the ML and review, we're running short on time. 16:58:51 #topic Open Discussion 16:58:55 I was attempting to do https://bugs.launchpad.net/neutron/+bug/1196170 and was delayed many time (release, lots of things), and I was wondering if I should continue to rebase over and over again or is it no longer a valid task? If it is a valid task can I get direction/support so that it can be merged (I know it's wishlist, but just wanting to find a conclusion). 16:58:58 Wanted to leave a few minutes for open discussion. 16:59:10 (that wasn't prepared, I swear) 16:59:35 just posted up my patches for the qos ml2 - I missed the change that removed mox - so it's still WIP 16:59:37 roaet: I still think is a valid patch to work on. 16:59:58 i was going to mention progress on ovs-firewall-driver blueprint, basic flows are working on the agent, but not there 100% as i learn more on using openvswitch 17:00:06 roaet: Please post a new version and rkukura and I will review it in more detail again. 17:00:15 sc68cal: Cool, will check those out! 17:00:20 mestery: thank you. I will ping you both in os-neutron 17:00:40 roaet: ok 17:00:41 asadoughi: Awesome! 17:01:20 asadoughi: Is there a followup meeting scheduled on that? 17:01:31 OK, we're out of time now. 17:01:37 ovs-firewall-driver is also on our schedule 17:01:38 Lets continue discussions on ML and IRC. 17:01:41 Thanks everyone! 17:01:42 thanks 17:01:43 #endmeeting