Earlier  
Posted Nick Remark
#openstack-nova - 2019-10-11
18:53:18 zzzeek yep
18:55:02 melwitt zzzeek: do you happen to know why if this write adds a record in a single request with project_id=NULL, a non-independent read of records matching project_id=NULL will return no rows? https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L4101
18:55:45 zzzeek melwitt: well in SQL there is no "= NULL" that works, it has to be "is NULL"
18:55:54 zzzeek melwitt: SQLAlchemy makes that conversion in most cases
18:56:12 zzzeek melwitt: however, sometimes it cant
18:56:32 zzzeek melwitt: depends on context
18:57:21 melwitt zzzeek: I did learn that recently and found that our query does make the conversion correctly. what I found is that if the insert of the record happens with "independent" and a read *without* independent happens in the same request looking for "is NULL" it will not find the record that was written. it behaves as though the inserted record is not reflected in the current session
18:57:27 zzzeek melwitt: im not seeing what the query is here but if you were to do query(Foo).with_parent(Bar(id=None)) you might see that this does not in fact return Foo with bar_id=NULL
18:58:21 zzzeek melwitt: ah well that is a transaction isolation issue
18:58:26 melwitt and if I use "independent" in the read, it _will_ find the record. that could make some sense if the session caches stuff it knows about in the current transaction
18:58:55 melwitt the weird thing is that it does not behave this way if it is not project=NULL. when project_id is not NULL, it will find the record fine without using "independent" on the read
18:59:08 zzzeek melwitt: OK so there are two levels to that. the first is, if you want to assume your transaction is non-isolated, you can say query(MyObject).populate_existing().filter(...)...
18:59:50 zzzeek melwitt: that asusmes you already have MyObject loaded and some related part of it is not being updated
19:00:15 zzzeek melwitt: if it is straight up, query(MyObject) returns no row, and the row is there, then this would be like a repeatable read problem
19:01:09 zzzeek melwitt: basically if transaction A starts, then you do sometihgn in transaction B, you can't rely that transaction A can see what you just committed in B
19:01:21 melwitt ohhhh
19:01:26 zzzeek melwitt: with a list of caveats a mile long
19:03:00 melwitt so transaction A inserts the record, transaction B reads the record and doesn't see it, yet transaction C (if added) will see what A committed. is the behavior I'm observing
19:04:55 zzzeek melwitt: yes if transaction C started after A was finished doing its work. transaction A would only have had to have committed if isolatoin level is serializable which it is not
19:05:21 zzzeek melwitt: it's mostly about, im a transaction, I read some data, now that data is part of a "version" that i will forever see until my transaction ends
19:05:49 zzzeek if i didnt read that data yet, then i dont know anything about it and based on isolation i might see the work of other transations
19:06:18 zzzeek also my previous line about A not having to commit is incorrect. it has to have committed unless isoaltion is read uncommitted, or if theres some quirky mysql behavior going on
19:08:24 zzzeek melwitt: yeah mysql is doing repeatable read by default over here. transaction A runs INSERT, but hasnt committed, B can see nothing no matter when it was started
19:08:40 zzzeek A then commits. B can only see something if it hasn't tried to read that table already
19:09:40 melwitt zzzeek: that makes sense. it seems to work fine though when NULL are not involved in the where of the read. I would have thought it should act the same in both cases
19:10:22 zzzeek melwitt: Im not sure about the NULL part. i would need to see the SQL conversation in detail
19:11:38 melwitt oh you know what, it's because there's a unique constraint on the project_id, so the second insert won't go through
19:11:48 melwitt (I keep mixing everything up in my head)
19:12:55 melwitt er, it will not read the newly inserted record, same as the NULL case. it's just that I can't detect on the surface that it did that, because the evidence was creation of a dupe project_id record
19:13:29 melwitt tl;dr it does act the same no matter the project_id
19:15:04 zzzeek melwitt: OK if it works for you :)
19:17:17 melwitt zzzeek: haha :) well, it seems to resolve find if I do the read in a new transaction C, but based on what I understand that's not guaranteed to do what I want. if the insert doesn't commit by the time C tries to read, it will still get 0 rows yeah?
21:25:58 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
21:25:58 openstack bug 1824435 in OpenStack Compute (nova) stein "fill_virtual_interface_list migration fails on second attempt" [Medium,Triaged] https://launchpad.net/bugs/1824435
21:25:58 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
#openstack-nova - 2019-10-12
02:18:37 openstackgerrit Arthur Dayne proposed openstack/nova master: libvirt:volume:Disallow AIO=native when no 'O_DIRECT' is available https://review.opendev.org/682772
05:37:03 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
05:37:03 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
05:37:03 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
07:13:56 openstackgerrit pengyuesheng proposed openstack/os-resource-classes master: Bump the openstackdocstheme extension to 1.20 https://review.opendev.org/688249
11:53:10 openstackgerrit Merged openstack/nova master: libvirt: Change _compare_cpu to raise InvalidCPUInfo https://review.opendev.org/687808
15:21:25 SonPham hi
15:21:47 SonPham i have review my blue-print to nova-specs
15:22:06 SonPham and add core-reviewer. when they review for me?
16:53:28 openstackgerrit Stephen Finucane proposed openstack/nova master: Stop testing Python 2 https://review.opendev.org/687954
#openstack-nova - 2019-10-13
01:41:03 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
01:41:03 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
01:41:03 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
04:20:38 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
04:20:38 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
04:20:38 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
06:14:00 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
06:14:00 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
06:14:00 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
08:33:57 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
08:33:57 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
08:33:57 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
11:46:49 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
11:46:49 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
11:46:49 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
13:17:48 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
13:17:48 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
13:17:48 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
14:56:44 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
14:56:44 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
14:56:44 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
22:12:00 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
22:12:00 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
22:12:00 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
#openstack-nova - 2019-10-14
02:11:51 SonPham Hi. i wrote some script on horizon to show instance info. But dev environment is devstack.
02:12:14 SonPham i want to write code on nova
02:12:39 SonPham have any docs about nova api?
02:28:32 SonPham Hi. i wrote some script on horizon to show instance info. But dev environment is devstack.
02:56:14 mordred SonPham: https://docs.openstack.org/api-ref/compute/
04:29:10 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
04:29:10 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
04:29:10 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
06:05:08 openstackgerrit melanie witt proposed openstack/nova master: Use a separate transaction to read default security group https://review.opendev.org/688206
06:05:08 openstack bug 1824435 in OpenStack Compute (nova) "fill_virtual_interface_list migration fails on second attempt" [Medium,In progress] https://launchpad.net/bugs/1824435 - Assigned to melanie witt (melwitt)
06:05:08 openstackgerrit melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205
06:23:44 openstackgerrit Sundar Nadathur proposed openstack/nova master: Add Cyborg device profile groups to request spec. https://review.opendev.org/631243
06:23:44 openstackgerrit Sundar Nadathur proposed openstack/nova master: ksa auth conf and client for Cyborg access https://review.opendev.org/631242
06:23:45 openstackgerrit Sundar Nadathur proposed openstack/nova master: Get resolved Cyborg ARQs and add PCI BDFs to VM's domain XML. https://review.opendev.org/631245
06:23:45 openstackgerrit Sundar Nadathur proposed openstack/nova master: Create and bind Cyborg ARQs. https://review.opendev.org/631244
06:23:46 openstackgerrit Sundar Nadathur proposed openstack/nova master: [WIP] add cyborg tempest job https://review.opendev.org/670999
06:23:46 openstackgerrit Sundar Nadathur proposed openstack/nova master: Delete ARQs for an instance when the instance is deleted. https://review.opendev.org/673735
07:58:58 gibi good morning nova
08:02:16 bauzas gibi: good morning :)
08:02:21 gibi :)
08:11:51 openstackgerrit Yongli He proposed openstack/nova master: Clean up orphan instances virt driver https://review.opendev.org/648912
08:11:52 openstackgerrit Yongli He proposed openstack/nova master: clean up orphan instances https://review.opendev.org/627765
08:39:24 stephenfin bauzas: Gooood morning. I have a another real easy patch for you here, if you want a stats boost for the morning https://review.opendev.org/#/c/677969/
08:39:50 bauzas stephenfin: heh, I took my vitamins this morning but sure
10:24:42 SonPham hi
10:24:48 SonPham how this code work?
10:24:52 SonPham def reboot_instance(self, ctxt, instance, block_device_info,
10:24:53 SonPham block_device_info=block_device_info,
10:28:33 SonPham hi . i just traced nova-compute code
10:29:12 SonPham from nova-compute (api.py) call to rpcapi.py
10:29:40 SonPham but i can;t trace how it call to manager.py

Earlier   Later