16:02:56 #startmeeting networking_ml2 16:02:57 Meeting started Wed Mar 11 16:02:56 2015 UTC and is due to finish in 60 minutes. The chair is rkukura. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:02:58 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:03:00 The meeting name has been set to 'networking_ml2' 16:03:10 #topic Agenda 16:03:19 HenryG: welcome 16:03:31 #link https://wiki.openstack.org/wiki/Meetings/ML2 16:03:59 Anything specific to add to the agenda? 16:04:23 k3 in Mar 19 16:04:26 #topic Announcements 16:04:35 From the neutron meeting: 16:04:35 s/in/is/ 16:04:58 Feature, String, and Dependency Freeze: March 19 16:05:10 RCs: April 9-23 16:05:19 Kilo release: April 30 16:05:35 Any other announcements? 16:06:37 #topic ML2 Drivers decomposition discussion 16:06:58 Any updates, issues or questions on this? 16:07:43 I notice - great progress is being made on this effort 16:07:44 rkukura: what was it about pinning neutron for mds/plugins in neuton meeting 16:07:57 shivharis: good question 16:08:20 I didn’t exactly follow the argument why pinning was needed 16:08:23 rkukura: seemingly breaks plugins that have already passed due to changes in neutron 16:09:03 shivharis: I missed the meeting - please provide more context 16:09:05 armax: if you are around can you please clarify for ML2'ers 16:09:20 shivharis: Are you saying that the neutron changes actually break the driver CI? If so, don’t we want to know that? 16:09:35 shivharis: what exactly? 16:10:07 marun, armax: need clarification on neutron pinning discussed in neutron meeting 16:10:13 armax: Can you explain the rationale for pinning neutron versions in driver CI as discussed in the neutron meeting? 16:10:24 ok 16:10:58 the question is: at the moment both the drivers/plugins and aas services chase neutron’s tip of master 16:11:17 armax: however, this doesn’t have to be the only option 16:12:31 services, as well as drivers, may want to target a specific hash for neutron, which is deemed stable and working from an integration perspective 16:13:13 armax: If the neutron hash is pinned, what is the point of triggering the CI on neutron changes? Am I missing something? 16:13:31 armax: so changes in neutron can break drivers even though at some point it passed CI etc, but what would be a good version, leave it to the developer of ml2drivers? 16:13:59 the need of having CI checking master is so that one can verify whether the pin can be bumpted 16:14:01 bumped 16:15:37 armax: I am confused - folks have stable versions (of neutron) and master - are you talking about pining some version of master itself? 16:16:04 that was simply a proposal at the moment 16:17:51 armax: i guess we should wait till this is finalized, we can get clarification at a later time 16:17:51 Seems like ML2 driver owners should track this, but no immediate change is required/recommended, right? 16:18:01 rkukura: correct 16:18:03 armax: is this something that is going to be flushed out in Kilo, or is it something you are exploring for Liberty 16:18:10 lbaas is going to experiemnt with this 16:18:11 armax: thanks 16:18:21 I wouldn’t recommend taking any action at the moment 16:18:36 but it’s important to be aware that the option of pinning is there, 16:18:40 While armax is here, are there any other questions for him regarding decomosition? 16:18:56 if one does pin, then yes, the CI tracking master is only there to validate whether the pin can be moved forward 16:18:58 I have one 16:19:06 makes sense? 16:19:59 The biggest hump the vendor repos have to get over right now is to switch away from oslo-incubator usage 16:20:02 sadasu: go adead… 16:20:18 armax: In general, it makes sense - but, the devil is in the details :-) 16:20:35 armax: run CI twice to see if we can move the pin? 16:21:17 armax: might have to give this more thought....do you really want to add dependency on vendor CI for pinning? We want to decouple correct? 16:21:24 shivharis: you run the CI once per project, how many configurations you’re testing it’s up to you 16:21:58 vendors should be picking a pin based on how they see their CIs behaving, but those are very initial thoughts 16:22:01 sadasu: the end goal is to minimize the depedency yes 16:22:11 my question was regarding UTs on Neutron side 16:22:25 sadasu: what about them? 16:22:41 with the Neutron shim being very thin, and UTs not being able to import modules from stackforge repos 16:23:25 UTs on the Neutron side end up mocking so much that there doesnot seem much value in it 16:24:09 so is there a hard requirement for having UTs on the Neutron side? 16:24:14 sadasu: no 16:24:38 sadasu, all cisco_nexus md UTs have been moved to stackforge 16:25:14 UTs? 16:25:16 sadasu: I think whether UTs are needed on the neutron side really depends on how thin vs. thick the specific shim is. If the shim for example includes port binding logic, that probably should be tested in neutron using mocked versions of underlying calls. 16:25:17 rcurran: correct, but the mech driver is a pass through 16:25:26 not all mech drivers are split that way 16:25:46 sadasu, it'a an option. just fyi 16:26:23 rkukura: yes, you are correct 16:26:31 sadasu: correct…it’s not about running UTs here or there 16:27:31 I guess the critical question to be answered is - if anything changes on the neutron side (the API, for example), how and where do you want to catch it? 16:28:00 sadasu: so long as you ensure effective coverage, unit or otherwise it doesn’t matter where it leaves but how to run it 16:28:03 rkukura: point taken, but a very small set of UTs...we can run a full detailed set of UTs on stackforge..so why not do everything there 16:28:06 s/leaves/lives/ 16:28:38 armax: yes, my question was about where it lives...we are definitely ensuring good coverage 16:28:48 sadasu: I think there is flexibility 16:29:15 even if it existed in your own trees and you have external dependencies 16:29:23 then it’s the ‘trigger’ that counts 16:29:41 thanks for all responses/inputs 16:29:46 unit tests should exists where the code exists (repo'wise) 16:29:56 armax: didn't get that one 16:30:49 shivharis: Don’t want to reduce neutron’s code coverage metrics 16:31:25 shivharis: agreed in theory..but UTs have an issue that if you import a module in Neutron that in turn imports from stackforge, UTs implode 16:32:38 solution for that would be to mock 16:32:44 sadasu: you mean circular dependancy 16:32:59 Sukhdev: correct 16:32:59 sadasu: that’s one option, the other option is to move that type of coverage elsehwere 16:33:35 sadasu: and execute it based on what changes may impact the code under coverage 16:33:51 armax: yes, that can be tested well on the stackforge side since we don't have the import restriction 16:34:23 lets try to wrap up the decomposition discussion in the next couple minutes so we have time for the rest of the agenda 16:34:42 HenryG: care to elaborate on oslo-incubator issue? 16:35:21 armax: thanks 16:35:42 Sukhdev: there may be breaking changes due to the handling/transition from openstack/common to oslo graduated libraries 16:35:43 Sukhdev: neutron is switching most of the oslo stuff to incubated oslo packages 16:35:44 armax: thanks...I think I have my questions answered. 16:36:20 ihar will be compiling a wiki page, a journal if you will, where these issues are documented 16:36:40 Sukhdev: https://wiki.openstack.org/wiki/Neutron/VendorSplitPackaging 16:36:50 for instance this one: https://review.openstack.org/#/c/159638/ it’s going to break all the projects 16:36:54 should we be looking out for a specific commit that will bring these changes? 16:37:04 that depedent on Neutron and use openstack/common/log 16:37:26 HenryG, armax : Thanks for the heads up - will go and read this 16:37:57 thanks for the links 16:38:25 are we ready to move onto the next agenda item? 16:39:09 guess so… 16:39:11 rkukura: yes 16:39:12 #topic ML2 Sync and error handling (Task Flow) 16:39:28 manishg: You around? 16:39:30 manishg: hi 16:40:29 I’d at least like to remind people to review and comment on https://review.openstack.org/#/c/154333/ 16:40:46 I added one comment this AM. 16:41:03 i had some questions, i guess i will insert in rhe review 16:41:39 OK, anything else on this today? 16:42:45 if not… 16:42:49 #topic Bugs 16:42:59 bugs, we are looking good, i am hoping the high priority ones will be taken care of by K3 (Mar 19) - otherwise it will be very hard 16:43:21 rkukura: around. sorry was distracted! will wait until after bugs 16:43:26 if anyone needs any help - reviews for bugs - now is the time to ask 16:44:05 not much to add further.. 16:44:11 shivharis: On https://bugs.launchpad.net/neutron/+bug/1367391, I was making progress, but am just getting back to it now. Hopefuily will have patch in review by 3/16 16:44:11 Launchpad bug 1367391 in neutron "ML2 DVR port binding implementation unnecessarily duplicates schema and logic" [High,In progress] - Assigned to Robert Kukura (rkukura) 16:44:45 rkukura: this is high pri bug, k3 then? 16:45:10 shivharis: yes 16:45:24 rkukura: thanks 16:45:48 lets move on .. 16:46:05 no other bugs to discuss? 16:46:33 i am worried about one - really: 16:46:47 https://bugs.launchpad.net/neutron/+bug/1378732 16:46:47 Launchpad bug 1378732 in neutron "migrate_to_ml2 script doesn't work for Juno release" [High,New] - Assigned to Mark McClain (markmcclain) 16:47:24 i have pinged, will ping again, we need some resolution - i ping on this again 16:47:33 i will ping on this again 16:48:22 will seek mestery on this 16:48:25 shivharis: Thanks. 16:48:34 Any other bugs to discuss? 16:48:39 this one is in limbo 16:48:57 i meant the previous one 16:49:06 #topic: ML2 Sync and error handling (Task Flow) - revisited 16:49:15 manishg: Did you have an update on this? 16:49:38 rkukura: I'll look at your comment. No other comments there. one question 16:49:43 ok 16:49:53 go ahead manishg … 16:49:58 Sukhdev wanted to talk about changing the state back to 'Creating' 16:50:03 after it was created. 16:50:22 I'm not sure how that would work? The device would have to generate an event through neutron REST API 16:50:28 manishg: I wanted to discuss the issue that I raised last week - 16:50:32 back to creating? Or start in creating, and change to active once complete? 16:50:55 rkukura: normal flow Null -> creating -> active (once all drivers are happy) 16:51:05 right 16:51:25 Sukhdev wanted : Null-> creating -> Active -> creating (in case one of the devices is unhappy later) 16:51:39 well, it can be changed to any state other than active - so that no action is taken while the back-end is going through recreating the state 16:52:24 Sukhdev: are you proposing that once we add state to the resource attributes, the REST API should allow 'updating' the internal state? 16:53:02 manishg, possibly - or any other way for the back-end to tell the front end to hold off until I tell you to go again 16:53:04 manishg: will this lead the system to hang waiting for some completion 16:53:27 rkukura: other pending item in my plate is to write something about accumulating and queueing while it's not ACTIVE yet. 16:53:36 I think we need to think hard about how we want these states to effect the client workflow. We could allow all REST APIs all the time, or reject or block them in certain states. I lean towards allowing them, and treating the backends as “eventually consistent”.