16:02:05 #startmeeting networking_ml2 16:02:05 Meeting started Wed Apr 29 16:02:05 2015 UTC and is due to finish in 60 minutes. The chair is Sukhdev. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:02:06 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:02:09 The meeting name has been set to 'networking_ml2' 16:02:19 #topic: Agenda 16:02:23 #link: https://wiki.openstack.org/wiki/Meetings/ML2#Agenda 16:02:40 #Announcements: 16:02:51 #topic: Announcements 16:02:59 :-) still sleepy :-) 16:03:15 Kilo is almost ready to go - 16:03:47 Do know if folks noticed that the spec submittal process for Liberty is being changed - 16:03:54 it is much simpler process 16:04:08 see here - https://review.openstack.org/#/c/177342/ 16:04:40 Another thing - there is a slight change in the drivers team 16:04:58 salvatore and Mark are being replaced with Maru and Doug 16:05:12 That is all I have 16:05:25 Does anybody have any other announcement? 16:05:34 or any gossip? 16:05:35 Gotta love all the vendor CIs weighing in on that review. 16:06:10 egon: :-) 16:06:14 egon: :-) 16:06:54 If nothing else, lets move on 16:07:03 #topic: Action Items 16:07:40 manishg had an action item and he has posted a document on the Task Flow discussions 16:07:45 #link: https://docs.google.com/document/d/1aSgTVB7nW_v7lHH0Z0DUgfymEsx0O16k1Jgu7QFXkFA/edit#heading=h.fjb8xrfig499 16:08:02 I have not had chance to review it yet 16:08:15 Did anybody have a chance to review it? 16:08:38 I have not read it yet. Plan to do it today. 16:09:00 manishg: Want to give any heads up on this? 16:09:01 Sukhdev: I didn't get a chance to look into midonet plugin (was my AI). will do it this week. 16:09:03 I have not read it yet. 16:09:46 Sukhdev: I think this is the discussion we've had here and so good to take it further from there. 16:09:51 Considering no body has read it yet, lets plan on using comment feature of google doc to post our comments on the doc itself 16:10:03 Sukhdev: +1 16:10:21 Sukhdev: +1 (sorry, should have posted it yesterday and sent to ML) 16:10:31 manishg: Thanks a ton for putting this together 16:11:20 manishg: per last week's discussion, midonet plugin might give more insight to the implementation 16:11:20 Please provide comments and I can add more documentation, etc. I have not described taskflow related details as the taskflow docs are pretty detailed (and really impressive actually) 16:11:55 yep, plan to look into it as soon as I can. 16:11:56 manishg: so, I would be very tempted to hear your findings on that front - please update the document accordingly 16:12:04 I'll incorporate the learnings into the doc. 16:12:33 Anything on this document? 16:12:43 * Sukhdev waiting 16:13:21 #topic: Ironic integration through ML2 mech drivers 16:13:32 I added this topic for discussion 16:14:04 There is tremendous interest in this by many vendors - and, also Ironic team 16:14:33 The idea is to provide the same framework for BM which is avaialble for VMs 16:14:36 whats the idea behind this? 16:15:14 shivharis: make BM and VM launching as similar as possible 16:15:24 Nova has done it as well 16:15:56 If you are familiar - to launch a BM or launch a VM - one will use the same command - i.e. "nova boot" 16:16:15 Other than the flavor, all parameters to nova boot command are same 16:16:29 flavor simply states it is a baremetal 16:16:57 Sukhdev: So would a —nic param be used for each physical NIC? 16:17:14 rkukura: yes 16:17:56 Sukhdev: And therefore, is the integration needed for neutron+ML2 to configure the ToR switch connected to each physical NIC? 16:18:18 In ironic, in order to launch BMs, the Physical nodes and ports are registered with the Ironic 16:18:28 rkukura: Yes - that is correct 16:18:53 What's the state transition of port? 16:19:16 Also does the physical host send out tagged and untagged frames? 16:19:32 yamahata: it is handled through ironic driver 16:19:57 shivharis: both implementations are being considered - 16:20:15 shivharis: BM servers go through two boot cycles - 16:20:37 First boot PXE - to fetch the images, etc. 16:21:11 once sufficient info is available, then it goes through the second boot to plumb into the neutron network 16:21:54 most of the nova<->neutron plumbing works as-is. 16:21:54 Sukhdev: Are the flat and/or VLAN networks used with ironic already represented in neutron with the corresponding network types, or is this part of what needs to be done? 16:22:57 rkukura: It is my understanding that most of the first boot is on a flat network 16:23:07 rkukura: flat works fine. 16:23:41 It is a desire to use VLAN for the second boot - to provide multi- tenant support 16:24:12 The good news is that I have spent some time understanding this whole framwork 16:24:44 since everything goes through nova - most of the nova-neutron interactions are in play as-is 16:25:08 I’d think things like triple-0 build on ironic would want to use separate VLANs for admin, storage, external, and tunnel fabric, right? 16:25:11 some of the critical information needed to provision TORs for BM provisioning is missing in the port context 16:25:26 Sukhdev: What’s missing? 16:26:00 rkukura: The physical connectivity information (topology) 16:26:22 Sukhdev: Wouldn’t that be MD-specific? 16:26:37 I played around with a bit 16:26:38 Do you mean which physical host is connected to which ToR, etc? 16:26:56 I guess the port’s host would somehow be mapped to the ToR switch port by the MD, right? 16:27:09 rkukura: correct - but, ML2 plugin will have to provide the conduit to allow passing of this information 16:27:23 yamahata: yes 16:27:49 Does nova+ironic set the binding:host_id for the port to the name of the BM host? 16:28:20 rkukura: now that is where it gets bit tricky - 16:28:52 The host name of BM to nova is where ironic conductor runs 16:29:34 rkukura: it uses binding:host-id, but, binds to the host name where the ironic conductor is running 16:29:56 Sukhdev: that sounds like a bug 16:30:12 rkukura: from nova point of view conductor is equivalent to a hypervisor 16:31:00 rkukura: first I thought the same, but, once understood a bit more, it make sense 16:31:05 Sukhdev: I think it is nova’s responsibility to properly set this when ironic is being used 16:31:41 rkukura: correct - and, most of the work to support this is in nova/ironic 16:31:50 The binding:host_id attribute is the host where the port is being accessed, not they host where some arbitrary nova component runs 16:32:26 rkukura: from ML2 point of view, the passage is needed so that additional information can flow to ML2 drivers when BM is launched 16:33:07 Sukhdev: What is needed other than the correc binding:host_id value? 16:33:10 correct 16:34:13 rkukura: The physical connectivity information - i.e. in addition to the mac address (which is already there), the switch ID and interface information 16:34:36 Does ironic already know all of this? 16:34:55 switchID? really 16:34:57 rkukura: I hacked the nova/Ironic to pass this information - and hacked ML2 to pass it down via port context - and all seems to hold up well 16:35:00 Or do we need something like the “topology service” that was proposed a couple cycles ago? 16:35:24 rkukura: Yes - there is way in Ironic to store it 16:36:09 Sukhdev: If we really need to add additional attributes to the portbinding extension, or a new extension, fine, but I really want to make sure this is necessary and that the existing attributes (like host_id) cannot be used where appropriate. 16:36:47 rkukura: topology service will not work for BM servers - as these are powered off, and no connectivity information can be automated - until after the first boot 16:37:39 shivharis: something to represent where the BM server is connected to 16:37:49 Sukhdev: If neutron had a topology extension API, I’d think ironic could populate it using that API. 16:38:23 so we are really looking for passthru (opaque) connectivity parameters 16:38:33 rkukura: possibly - but, I have to think through a bit more 16:38:36 Sukhdev: This definitely soulds like a good topic to discuss at the summit. 16:38:37 shivharis: yes 16:39:10 rkukura: yes, I discussed with mestery and have added to the etherpad - see item 63 on the etherpad 16:39:20 Sukhdev: thanks for collecting all this information so far 16:39:27 rkukura: so (if i got this correctly) we need to have an opaque field in the port binding...(right Sukhdev?) 16:39:37 I’d like to minimize how much special casing is needed in ML2 iteself for this sort of thing, just like I’m working to cleanup for DVR. 16:39:54 seems logical that diff vendors would be interested in this 16:40:10 We already have pass-through fields in both directions: binding:profile in, and binding:vif_details out. 16:40:24 sadasu: I have been approached by at least 3 vendors who need it 16:40:33 Both of these are dicts for which keys can be defined as needed. 16:41:06 rkukura: then we need to leverage what is already there 16:41:28 binding:xxx ? 16:41:28 rkukura: you bring up a good point - I missed those dicts. 16:41:30 Maybe ironic can just set binding:profile to include the info needed by BM MDs 16:42:05 rkukura: I will go back and look to see if those can be used - if yes, we do not need anything in neutron - :-):-) 16:42:39 Sukhdev: The nice things is that ML2 already knows to unbind/rebind ports when binding:profile is changed. 16:43:13 rkukura: let me look into it a bit more 16:43:22 Sukhdev: +1 16:43:48 rkukura: strawman binding:xxxx (fill in the xxxx with something suitable) 16:43:55 Wanted to bring to team's attention that there is great interest in this - Nova has already done a lot to make BM/VM work in a similar fashion 16:44:38 shivharis: I’m hoping we can avoid adding a new binding:xxxx atttribute, and can instead define new keys to be used in the existing binding:profile dictionary 16:44:40 Has anybody on this team looked into this? Will be nice to hear their experience... 16:45:14 somethings may not fit naturally - we'll see as we progress 16:45:34 rkukura: if it is a dict, I love the idea of reusing it by defining key-value pairs 16:46:11 no need for a new binding:xxxx 16:46:14 I wanted to give a heads up - that this is coming 16:46:19 what rkukura said 16:46:32 banix: correct - what rkukura said should do the trick 16:47:11 i am worried about stuff like switch id 16:47:24 shivharis: what is the worry? 16:47:46 shivharis: it is a vendor specific 16:47:50 it is different (vendor specific) 16:48:09 exactly - you chimed at the same time 16:48:40 shivharis: you can call it anything you like - shivharis's driveway :-):-) 16:48:58 shivharis: gotta keep the humor going :-):) 16:48:59 never mind - we can still stuff everything in the existing..(implementation detail) 16:49:27 shivharis: yes, this is a key-value pair - one can call it anything they like 16:49:50 shivharis: from ML2 point of view, it is a pass throug 16:50:04 Shall we move on? 16:50:17 * Sukhdev waiting 16:50:23 If we really want a vendor-independent way to describe physical topology, I think we should consider a topology service within neutron. 16:50:36 Sukhdev: Lets move on. 16:51:25 #topic: Mid-cycle sprint 16:51:36 We covered this last week - 16:52:03 I have discussed with mestery and added task flow on the mid-cycle agenda 16:52:19 See item 4 here - https://etherpad.openstack.org/p/neutron-liberty-mid-cycle 16:52:37 We will use manishg document as basis for this 16:52:57 Once we agree on the design etc, this sprint will be for implementation 16:53:20 We will need volunteers to participate in this 16:53:45 I’m hoping to be there, but may have a conflict 16:54:18 rkukura: well this is a heads up - resolve the conflicts :-):-) 16:54:49 Sukhdev: I’m realizing that! 16:55:03 rkukura: bribe still works in conflict resolution :-):-) 16:55:24 Anything else on this? 16:55:47 rkukura: BTW, it is understood - I was just playing around :-) 16:56:22 #topic: Bugs 16:56:29 shivharis: anything on this? 16:56:32 not much to report on bugs for the kilo release 16:56:41 ; anyone has questions on bugs 16:56:50 Kilo is almost out 16:56:51 other than that we are good so far 16:57:02 anybody wants to bring up any bug? 16:57:15 * Sukhdev waiting 16:57:25 #topic: Open Discussion 16:57:43 Is everybody going to summit? 16:57:47 I should be filing the bug and submitting a patch for the DVR PortContext issues in a day or two 16:57:50 manishg is not going to make it 16:57:59 planning to attend 16:58:06 I’ll be at the summit 16:58:11 yes 16:58:34 I'll be there 16:58:43 Cool - looks like it will be full house 16:58:44 yes, i'll be there 16:59:01 Anything on anybody's mind? 16:59:27 rkukura: Thanks for heads up on the bug and patch - will look for it 16:59:28 Sukhdev lots of things but I bet you don’t want to know 16:59:44 thanks for a productive meeting 16:59:44 banix: ha ha - same here :-):-) 16:59:56 :) 17:00:21 thanks Sukhdev! 17:00:30 Folks thanks for attending, and I agree with sadasu it was a productive meeting 17:00:30 thanks Sukhdev, all 17:00:33 bye 17:00:36 bye 17:00:38 #endmeeting