| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-10-11 | |||
| 18:52:47 | melwitt | o/ | |
| 18:52:51 | melwitt | question for you | |
| 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: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| #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: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 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: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 04:20:38 | openstackgerrit | melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 06:14:00 | openstackgerrit | melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 08:33:57 | openstackgerrit | melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 11:46:49 | openstackgerrit | melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 13:17:48 | openstackgerrit | melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 14:56:44 | openstackgerrit | melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 22:12:00 | openstackgerrit | melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| #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: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 06:05:08 | openstackgerrit | melanie witt proposed openstack/nova master: Add regression test for bug 1824435 https://review.opendev.org/688205 | |
| 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: Use a separate transaction to read default security group https://review.opendev.org/688206 | |
| 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:44 | openstackgerrit | Sundar Nadathur proposed openstack/nova master: Add Cyborg device profile groups to request spec. https://review.opendev.org/631243 | |
| 06:23:45 | openstackgerrit | Sundar Nadathur proposed openstack/nova master: Create and bind Cyborg ARQs. https://review.opendev.org/631244 | |
| 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:46 | openstackgerrit | Sundar Nadathur proposed openstack/nova master: Delete ARQs for an instance when the instance is deleted. https://review.opendev.org/673735 | |
| 06:23:46 | openstackgerrit | Sundar Nadathur proposed openstack/nova master: [WIP] add cyborg tempest job https://review.opendev.org/670999 | |
| 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 | |