<div dir="ltr"><span style="font-size:12.8px">Hi Neutrinos,</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">For those of you who couldn't join in person, please find a few notes below to capture some of the highlights of the event.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I would like to thank everyone one who helped me put this <span>report</span> together, and everyone who helped make this <span>mid</span>-<span>cycle</span> a fruitful one.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I would also like to thank IBM, and the individual organizers who made everything go smoothly. In particular Martin, who put up with our moody requests: thanks Martin!!</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Feel free to reach out/add if something is unclear, incorrect or incomplete.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Cheers,</div><div style="font-size:12.8px">Armando</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">~~~~~~~<br></div><div style="font-size:12.8px"><br></div><div><font face="arial, helvetica, sans-serif"><span style="font-size:12.8px">We touched on these topics (as initially proposed on </span><font color="#1155cc"><span style="font-size:12.8px"><u><a href="https://etherpad.openstack.org/p/newton-neutron-midcycle-workitems" target="_blank">https://etherpad.openstack.<wbr>org/p/newton-neutron-midcycle-<wbr>workitems</a></u></span></font><span style="font-size:12.8px">)</span></font></div><div><font face="arial, helvetica, sans-serif"><span style="font-size:12.8px"><br></span></font></div><ul><li>Keystone v3 and project-id adoption:</li><ul><li><span style="font-size:12.8px">dasm and amotoki have been working to making the Neutron server process project-id correctly [1]. Looking at the spec [2], we are half way through having completed the DB migration, being Keystone v3 complaint, and having updated the client bindings [3].</span></li><ul><li><span style="font-size:12.8px">[1] <a href="https://review.openstack.org/#/c/357977/" target="_blank">https://review.openstack.org/#<wbr>/c/357977/</a></span></li><li><span style="font-size:12.8px">[2] <a href="https://review.openstack.org/#/c/257362/" target="_blank">https://review.openstack.<wbr>org/#/c/257362/</a></span></li><li><span style="font-size:12.8px">[3] <a href="https://review.openstack.org/#/q/topic:bp/keystone-v3" target="_blank">https://review.openstack.<wbr>org/#/q/topic:bp/keystone-v3</a></span></li></ul></ul><li>Neutron-lib:</li><ul><li>HenryG, d<span style="font-size:12.8px">ougwig and kevinbenton worked out a plan to get the </span><span style="font-size:12.8px">common_db_mixin into neutron-lib. Because of the risk of regression, this is being deferred until Ocata opens up. However, simpler changes like the </span><span style="font-size:12.8px">he model_base move to lib was agreed on and merged.</span></li><li><span style="font-size:12.8px">A plan to provide test support was discussed. The current strategy involves </span><span style="font-size:12.8px">providing test base classes in lib </span><span style="font-size:12.8px">(this reverses the stance conveyed in Austin). The usual steps involved require to m</span><span style="font-size:12.8px">aking public the currently private classes, ensure the lib's copies are up-to-date with </span><span style="font-size:12.8px">core neutron, and deprecate the ones located in Neutron.</span></li><li><span style="font-size:12.8px">rtheis and armax worked on having networking-ovn test periodically against neutron-lib [1,2,3].</span></li><ul><li><span style="font-size:12.8px">[1] <a href="https://review.openstack.org/#/c/357086/" target="_blank">https://review.openstack.org/#<wbr>/c/357086/</a></span></li><li><span style="font-size:12.8px">[2] <a href="https://review.openstack.org/#/c/359143/" target="_blank">https://review.openstack.org/#<wbr>/c/359143/</a></span></li><li><span style="font-size:12.8px">[3] <a href="https://review.openstack.org/#/c/357079/" target="_blank">https://review.openstack.org/#<wbr>/c/357079/</a></span></li></ul><li><span style="font-size:12.8px">A tool (</span><span style="font-family:sans-serif">tools/migration_report.sh) helps project team determine the level of dependency they have with Neutron. It should be improved to report the exact offending imports.</span></li><li><span style="font-size:12.8px">Right now neutron-lib 0.4.0 is released and available in global-requirements/upper-<wbr>constraints.</span></li></ul><li>Objects and hitless upgrades:</li><ul><li>Ihar gave the team an overview and status update [1]</li><li><span style="font-size:12.8px">There was a fruitful discussion that hopefully set the way forward for Ocata. The discussed plan was to start Ocata with the expectation that no new contract scripts are landing in Ocata, and to revisit the requirement later if for some reason we see any issue with applying the requirement in practice.</span><br></li><li><span style="font-size:12.8px">Some work was done to deliver necessary objects for push-notifications. Patches up for review. Some review cycles were spent to work on landing patches moving model definitions under neutron/db/models</span><br></li><ul><li>[1] <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-August/101838.html" target="_blank">http://lists.openstack.<wbr>org/pipermail/openstack-dev/<wbr>2016-August/101838.html</a></li></ul></ul><li>OSC transition:<br></li></ul><ul><ul><li>rtheis gave an update to the team on the state of the transition. Core resources commands are all available through OSC; QoS, Metering and *-aaS are still not converted.</li><li>There is some confusion on how to tackle openstacksdk support. We discussed the future goal of python binding of Networking API. OSC uses OpenStack SDK for network commands and Neutron OSC plugin uses python bindings from python-neutronclient. A question is to which project developers who add new features implement, both, openstack SDK or python-neutronclient? There was no conclusion at the mid-cycle. It is not specific to neutron. Similar situation can happen for nova, cinder and other projects and we need to raise it to the community.</li></ul></ul><ul><ul><li>Ocata is going to be the first release where the neutronclient CLI is officially deprecated. It may take us more than the usual two cycles to remove it altogether, but that's a signal to developer and users to seriously develop against OSC, and report bugs against OSC.</li><li>Several pending contributions into osc-lib.</li><li>An update is available on [1,2]</li></ul></ul><ul><ul><ul><li>[1] <a href="https://review.openstack.org/#/c/357844/" target="_blank">https://review.openstack.org/#<wbr>/c/357844/</a></li><li>[2] <a href="https://etherpad.openstack.org/p/osc-neutron-support" target="_blank">https://etherpad.openstack.<wbr>org/p/osc-neutron-support</a></li></ul></ul><li>Stability squash:</li><ul><li>armax was bug deputy for the week of the mid-cycle; nothing critical showed up in the gate, however pluggable ipam [1] switch merged, which might have some unexpected repercussions down the road.</li><li>A number of bugs older than a year were made expirable [2].</li><li>kevinbenton and armax devised a strategy and started working on [3] to ensure DB retriable errors are no longer handled at the API layer.</li><li>The gate witnessed phantom resets that turned out to be related to [4].</li><li>kevinbenton, jlibosva, armax, jschwarz talked about the Neutron job queue configuration; it would be desirable to start gating on rally, and fullstack jobs but this can be done once Ocata opens up. Testing L3 HA in the multinode configuration is something that needs tackling too. Ideally we'd move away from testing legacy routing in the gate to give resources to other priorities.  </li><li><span style="font-size:12.8px"><span style="font-size:small">jlibosva</span> should follow up with patches to make fullstack/functional job "bullet proof";</span></li><li><span style="font-size:12.8px">armax to make a case for check queue only voting status for functional/rally/fullstack jobs.</span></li><ul><li>[1] <a href="https://review.openstack.org/#/c/181023/" target="_blank">https://review.openstack.<wbr>org/#/c/181023/</a></li><li>[2] <a href="https://bugs.launchpad.net/neutron/+expirable-bugs" target="_blank">https://bugs.launchpad.net/<wbr>neutron/+expirable-bugs</a><br></li><li>[3] <a href="https://review.openstack.org/#/c/356530/" target="_blank">https://review.openstack.<wbr>org/#/c/356530/</a></li><li>[4] <a href="https://bugs.launchpad.net/devstack/+bug/1616282" target="_blank">https://bugs.launchpad.<wbr>net/devstack/+bug/1616282</a></li></ul></ul><li>Stadium wide efforts:</li><ul><li><span style="font-size:12.8px">There was a discussion around what our API definition is. Specifically, whether we consider supported queries part of it, and if so, if we plan to enforce this aspect in the future. Code inspection showed that it’s hard to determine query parameters supported by plugins right now. We will look into non-invasive ways to collect this data in Ocata. Armax to follow up on [1], which he is using to break ground.</span></li><li><span style="font-size:12.8px">API reference clean up sprint has been announced and started. The </span><span style="font-size:12.8px">guideline on the API reference was prepared [2]. Some lead-by-example patches have been posted and merged [3].</span></li><ul><li>[1] <a href="https://review.openstack.org/#/c/353131/" target="_blank">https://review.openstack.<wbr>org/#/c/353131/</a></li><li><span style="font-size:12.8px">[2] <a href="https://etherpad.openstack.org/p/neutron-api-ref-sprint" target="_blank">https://etherpad.openstack.<wbr>org/p/neutron-api-ref-sprint</a></span></li><li><span style="font-size:12.8px">[3] <a href="https://review.openstack.org/#/c/350857/" target="_blank">https://review.openstack.<wbr>org/#/c/350857/</a></span></li></ul></ul></ul><ul><li>Nova/Neutron integration</li><ul><li><span style="font-size:12.8px">armax, <span style="font-size:12.8px">johnthetubaguy</span> and carl_baldin participated in a couple of discussions about live migration and multiple port binding. There is a common understanding of the problem and how to improve the resiliency of the boot/live migration operation. Some thoughts are being captured on [1,2]. The plan is to ensure all the legwork is complete ahead of the summit so that the team can switch into execution mode during the Ocata timeframe.</span></li><li><span style="font-size:12.8px">There are areas where Nova talks to Neutron that can be improved and the team identified/discussed a few, the periodic polls being an example. Providing the ability to aggregate more data in a single API was also contemplated.</span></li><li><span style="font-size:12.8px">armax, johnthetubaguy, </span>ihrachys<span style="font-size:12.8px"> talked about next steps in order to allow os-vif to access a versioned object of vif details as stored by Neutron.</span></li><li><span style="font-size:12.8px">carl_baldwin was able to make some progress on [3] to abort build if Nova tries to schedule a vm to a segment where the IP is not usable.</span></li><ul><li><span style="font-size:12.8px">[1] <a href="https://review.openstack.org/#/c/309416/">https://review.openstack.org/#/c/309416/</a></span></li><li><span style="font-size:12.8px">[2] <a href="https://review.openstack.org/#/c/353982/">https://review.openstack.org/#/c/353982/</a></span></li><li><span style="font-size:12.8px">[3] <a href="https://review.openstack.org/#/c/346278/">https://review.openstack.org/#/c/346278/</a></span></li></ul></ul><li>Newton blueprints (in no particular order):</li><ul><li>push notifications: discussed future steps on how to implement compare and swap updates to reduce some of the races experienced when dealing with the Neutron API.</li><li><span style="font-size:12.8px">service subnets:</span></li><ul><li><span style="font-size:12.8px">Spent some time tying up some final loose ends on the service subnets capability. Patch [1] was the final one of the effort. Need to get the release note written and merged it.</span></li><ul><li><span style="font-size:12.8px">[1] <a href="https://review.openstack.org/#/c/350613">https://review.openstack.org/#/c/350613</a></span><br></li></ul></ul><li>routed networks:</li><ul><li>mlavalle implemented a Generic Resource Pools client [1] leveraged in [2].</li><li>carl_baldwin and kevinbenton <span style="font-size:12.8px">had a very productive discussion about how to add standard attributes to the networksegments table to complete its transition to being a first class API resource. kevinbenton was able to provide an example and we're working to wrap that up now [3].</span></li><li><span style="font-size:12.8px">carl_baldwin discussed the patch [4] to enable creating and deleting segments with the ML2 plugin with kevinbenton. This may be the last hurdle for routed networks. Wrapping this up before feature freeze would be of great help. </span></li><ul><li>[1] <a href="https://github.com/">https://github.com/</a><wbr>miguellavalle/python-<wbr>placementclient/tree/adding-<wbr>grp-support</li><li>[2] <a href="https://review.openstack">https://review.openstack</a>.<wbr>org/#/c/358658/</li><li>[3] <a href="https://review.openstack">https://review.openstack</a>.<wbr>org/#/c/293305</li><li>[4] <a href="https://review.openstack">https://review.openstack</a>.<wbr>org/#/c/317358</li></ul></ul></ul></ul><ul><ul><li>vlan-aware-vms:</li><ul><li>jlibosva and armax talked about how to deal with failures during OVS trunk setup. That resulted in jlibosva working on on OVSDB transaction manager to handle nested transaction. </li><li>armax and tidwellr are working on completing the trunk state machine,</li><li>kevinbenton is rebasing/working on the linuxbridge driver</li><li>OVN driver coming along as well.</li><li><a href="https://review.openstack.org/#/q/status:open+topic:bp/vlan-aware-vms" target="_blank">https://review.openstack.org/#<wbr>/q/status:open+topic:bp/vlan-<wbr>aware-vms</a><br></li></ul></ul><li>Resource status:</li><ul><li>Many Neutron resources have status/admin_state_up attributes, however their meaning is not consistent across. This makes difficult to address use cases like [1]. We should start painting a picture of what exactly each attribute mean for each resource in order to make sure we can approach to cases like [1] more informed.</li><ul><li>[1] <a href="https://review.openstack.org/#/c/351675/">https://review.openstack.org/#/c/351675/</a> </li></ul></ul></ul></div>