14:01:29 <ihrachys> #startmeeting neutron_upgrades
14:01:30 <openstack> Meeting started Thu Dec 21 14:01:29 2017 UTC and is due to finish in 60 minutes.  The chair is ihrachys. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:01:31 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
14:01:33 <openstack> The meeting name has been set to 'neutron_upgrades'
14:02:03 <TuanVu_> Hi Ihar
14:02:30 <ihrachys> hi!
14:02:36 <TuanVu_> have a nice day :)
14:02:52 <ihrachys> before we dive into patches
14:03:43 <ihrachys> the next meeting falls on Christmas week, and I will be far from the computer. should we skip?
14:03:52 <ihrachys> next meeting would be Jan 4
14:04:33 <TuanVu_> oh, then I think we should skip it
14:05:02 <hungpv> It's fine for me
14:05:05 <ihrachys> ok. who else is here for the meeting?
14:05:39 <ihrachys> ok cool, we'll skip
14:05:42 <ihrachys> is Luo offline?
14:05:52 <TuanVu_> yes
14:06:10 <TuanVu_> it looks like Luo is still busy with some personal stuff and couldn't join
14:06:28 <ihrachys> I see
14:06:29 <TuanVu_> she already informed us about this
14:07:10 <ihrachys> let's walk through patches
14:07:14 <ihrachys> https://review.openstack.org/#/q/status:open+project:openstack/neutron+branch:master+topic:bp/adopt-oslo-versioned-objects-for-db
14:07:30 <ihrachys> first is https://review.openstack.org/#/c/529551/ "Use Router OVO in metering_db" which is posted today
14:08:40 <ihrachys> it seems fine, we'll wait for CI
14:08:43 <ihrachys> but the code is ok
14:09:02 <ihrachys> next is https://review.openstack.org/#/c/507772/ "Use Network OVO in db_base_plugin"
14:09:49 <TuanVu_> regarding to this patch, please check my latest comment
14:10:21 <ihrachys> you said rbac is one issue you see.
14:10:26 <ihrachys> I see another one there
14:10:28 <ihrachys> "neutron_lib.callbacks.exceptions.CallbackFailure: Callback neutron.plugins.ml2.plugin.Ml2Plugin._handle_segment_change--9223372036793929130 failed with "No inspection system is available for object of type <class 'neutron.objects.network.Network'>"
14:10:28 <ihrachys> "
14:10:36 <ihrachys> that's how test__bind_port_if_needed_early_exit_on_no_segments failed
14:11:42 <ihrachys> I guess segment code passes an OVO object where a model is expected
14:11:52 <ihrachys> this error is, I believe, from sqlalchemy
14:12:00 <TuanVu_> yes
14:12:12 <TuanVu_> that's because of my latest change
14:13:01 <TuanVu_> https://review.openstack.org/#/c/507772/16/neutron/plugins/ml2/plugin.py
14:13:12 <TuanVu_> line 1896
14:13:51 <TuanVu_> function _handle_segment_change
14:14:22 <TuanVu_> before that, it looks like there's only problem with rbac
14:14:32 <ihrachys> isn't network_db there an OVO object now?
14:14:41 <ihrachys> so calling .update() on it should work
14:15:21 <TuanVu_> yes, it should work
14:15:32 <TuanVu_> i don't know why above error appeared
14:16:13 <ihrachys> ok I can check it today locally.
14:16:26 <TuanVu_> thanks a lot, Ihar
14:16:37 <TuanVu_> anyway, my main concern is still about rbac
14:17:24 <TuanVu_> I've discussed with An-san and we've tried many workaround but still couldn't have the final solution
14:18:36 <ihrachys> if rbac_entries there is empty maybe they were not created in the first place. like when 'shared' was set to True on network OVO
14:18:59 <ihrachys> I think we have tests for that but maybe something is missing. I can have a look at both of those failures.
14:20:06 <TuanVu_> thank you in advance, Ihar. We really appreciate your help
14:20:27 <ihrachys> ok next is Luo's https://review.openstack.org/#/c/407868/ "Integration of (Distributed) Port Binding OVO"
14:20:34 <TuanVu_> by the way, patch set 15 has fewer failed test (about 300 only)
14:21:12 <ihrachys> and it seems like she addressed the main issue I had with new_host attribute there. there is -1 from slawek, but I will check regardless.
14:21:15 <ihrachys> TuanVu_, ack
14:21:52 <TuanVu_> here's Luo's update: "I have updated the portbinding patch [1]. Although Slawek still has some nit comments, we can ask Ihar to take another look again."
14:22:07 <ihrachys> right, what I thought, seems like Slawek's comments are minor
14:22:11 <ihrachys> thanks for the update
14:22:21 <TuanVu_> it's my pleasure :)
14:22:35 <ihrachys> next is https://review.openstack.org/#/c/506037/ "Part II of Integrate Port OVO" also by Luo.
14:22:42 <ihrachys> this one is in red so probably work in progress
14:22:50 <TuanVu_> "I resolved all UT failures of MAC address in Port Integration but some REST API check of MAC address failed. I will update the patch again next week."
14:23:20 <ihrachys> great
14:23:28 <TuanVu_> :)
14:23:36 <ihrachys> next is https://review.openstack.org/#/c/521797/ "Use Router OVO in external_net_db"
14:23:48 <ihrachys> looks green
14:24:25 <hungpv> Yes, I think the main logic is ok now
14:24:42 <hungpv> Can you look at it for merging?
14:25:25 <ihrachys> yeah I think logic is correct now. I may have some small stylistic suggestions before we merge it. I will have a look after the meeting.
14:25:42 <hungpv> Ok thank you Ihar
14:26:00 <ihrachys> thanks hungpv !
14:26:28 <ihrachys> ok that's all patches we had in the queue
14:27:05 <ihrachys> ah wait there is also https://review.openstack.org/#/c/526204/ "test_agentschedulers_db: switch to OVO for Agent" by me
14:27:37 <ihrachys> I haven't made progress on it yet. but I will have another look hopefully this year.
14:28:03 <TuanVu_> great!
14:28:26 <ihrachys> #topic Mixed oslo.db enginefacades
14:28:33 <ihrachys> I have one thing to update about
14:28:48 <ihrachys> I spent some time lately on a gate failure in ipam layer
14:29:05 <ihrachys> that is somewhat relevant to what we do
14:29:23 <ihrachys> basically, a while ago we started switching neutron tree from old to new oslo.db enginefacade
14:29:38 <ihrachys> (facade is a oslo.db construct to interact with db / manage db sessions)
14:30:07 <ihrachys> old style is e.g. context.session.begin(...): or autonested_transaction(...)
14:30:20 <ihrachys> while new style is reader.using(...) and writer.using(...)
14:30:30 <ihrachys> I won't get into details what's the underlying difference
14:30:44 <ihrachys> but my point is that we have both used in neutron code
14:30:47 <ihrachys> sometimes intermixed
14:30:56 <ihrachys> and as it turned out, they don't cooperate
14:31:07 <ihrachys> so you may have weird behavior
14:31:16 <ihrachys> like part of transaction changes committed, while others not
14:31:28 <ihrachys> the fix I came up for ipam bug is this: https://review.openstack.org/#/c/529169/2/neutron/db/ipam_pluggable_backend.py
14:31:47 <ihrachys> see that in line 453 it uses old style  - begin(...)
14:32:01 <ihrachys> but then we were using the new style ~ line 478
14:32:25 <ihrachys> so what happened is when writer.using context manager triggered __exit__, it actually committed the change in db
14:32:40 <ihrachys> despite the logic expected that it won't commit until the top level begin(...) also exits
14:32:47 <ihrachys> which results in inconsistent db state
14:33:26 <ihrachys> so... my point I'd like to make is, in the meantime while we have both facades in the code, we should be mindful about context managers we use to interact with db
14:33:47 <TuanVu_> thank you for this info, Ihar
14:33:55 <TuanVu_> really useful information
14:34:09 <ihrachys> and since all OVO object methods open old style nested subtransaction, we should make sure that wherever we interact with OVO objects, we don't do it from under new style context managers (writer / reader)
14:34:14 <hungpv> That's great. Very useful
14:34:56 <ihrachys> this bug brought me a lot of pain, so now I want everyone to be aware. preaching the gospel. :)
14:35:28 <ihrachys> ok that's all I had
14:35:31 <ihrachys> #topic Open discussion
14:35:33 <TuanVu_> that'll help us a lot, thanks :)
14:35:37 <ihrachys> anything you want to discuss?
14:35:51 <TuanVu_> none from me
14:35:52 <hungpv> That's all for me
14:36:45 <ihrachys> ok fine, then let's call it a day. we'll meet in 2 weeks
14:36:58 <ihrachys> I will try to have a look at issues we identified with your patches today
14:37:12 <TuanVu_> thanks again, Ihar
14:37:20 <ihrachys> thanks for all the effort, really happy to have you all on the task
14:37:21 <TuanVu_> we really appreciate your great help :)
14:37:31 <hungpv> Yeah, thank you for your effort. Wish you a very happy Christmas Ihar
14:37:36 <ihrachys> and happy new year or whatever you may celebrate.
14:37:37 <ihrachys> thanks
14:37:42 <ihrachys> bye!
14:37:47 <ihrachys> #endmeeting