| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-10-11 | |||
| 13:41:55 | openstackgerrit | Merged openstack/nova-specs master: Fix followup comments of policy-defaults-refresh spec https://review.opendev.org/669196 | |
| 13:54:13 | mdbooth | lyarwood: Re https://code.engineering.redhat.com/gerrit/182841 GAH! and thanks. Mind if we don't wait for tempest after I update the commit message? | |
| 13:54:59 | lyarwood | mdbooth: wrong window but yeah of course | |
| 13:55:28 | mdbooth | lyarwood: Hah, so it is | |
| 14:11:18 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Avoid using image with kernel in BDM large request func test https://review.opendev.org/688132 | |
| 14:40:08 | gibi | stephenfin: quick question in https://review.opendev.org/#/c/686802/6//COMMIT_MSG@18 | |
| 14:47:00 | stephenfin | gibi: replied | |
| 14:47:51 | gibi | stephenfin: +2 | |
| 14:47:58 | stephenfin | ta | |
| 14:55:54 | stephenfin | gibi: If you're on a reviewing streak, I'd appreciate your eyes on the following patch too since it's NeutronFixture'y and you know that stuff, heh https://review.opendev.org/#/c/684344/ | |
| 14:56:04 | stephenfin | Feel free to chuck something my way too | |
| 14:56:10 | gibi | stephenfin: reviewing it right no | |
| 14:56:13 | gibi | w | |
| 14:56:20 | stephenfin | nice :D | |
| 14:56:43 | dansmith | gibi: there are a few patches in this stack for which you reviewed the spec that you could +W if you want :) | |
| 14:56:44 | dansmith | gibi: https://review.opendev.org/#/c/687137/4 | |
| 14:57:05 | gibi | dansmith: ack, I will look at it after stephenfin's patch | |
| 14:57:28 | dansmith | gibi: thanks | |
| 14:57:48 | gibi | stephenfin: -1 due to https://review.opendev.org/#/c/684344/15/nova/tests/functional/api_sample_tests/test_floating_ips.py@158 | |
| 14:58:23 | openstackgerrit | Dan Smith proposed openstack/nova master: Add cache_images() to conductor https://review.opendev.org/687139 | |
| 14:58:23 | openstackgerrit | Dan Smith proposed openstack/nova master: Add image caching API for aggregates https://review.opendev.org/687140 | |
| 14:58:24 | openstackgerrit | Dan Smith proposed openstack/nova master: WIP: Add image precaching docs for aggregates https://review.opendev.org/687348 | |
| 14:58:58 | stephenfin | gibi: Would a follow-up be okay? Can post that now | |
| 14:59:05 | gibi | stephenfin: sure | |
| 14:59:10 | gibi | let me change my vote | |
| 15:03:35 | openstackgerrit | Stephen Finucane proposed openstack/nova master: nova-net: Use deepcopy on value returned by NeutronFixture https://review.opendev.org/688139 | |
| 15:29:29 | stephenfin | gibi: Back at you https://review.opendev.org/#/c/688132/ | |
| 15:30:26 | gibi | stephenfin: thanks. Make sense. I need to get back to that | |
| 15:53:44 | gibi | dansmith: reviewd the image chache series left some comments here and there | |
| 15:55:19 | dansmith | gibi: so the return dict thing is leaving us some room for improvement in the future without having to bump the compute rpc version again | |
| 15:55:41 | dansmith | gibi: are you -1 on that or the logging asserts? | |
| 15:55:54 | dansmith | oh you said, because the driver bit is unused | |
| 15:56:06 | gibi | dansmith: you mean that now the rpc returns a dict so later we can add whatever we want to that dict without rpc bump? | |
| 15:56:36 | dansmith | gibi: no, it's returning that so that I could follow on with some stats logging in conductor.. not expecting to add stuff to the dict later, just expecting to use it | |
| 15:56:54 | dansmith | gibi: there was some discussion in those patches (IIRC) but definitely some here about what we might do in the future to log some stats, | |
| 15:57:15 | dansmith | gibi: like "image X seemed to fail on every host" or "34 new downloads, 127 existing", that kind of thing | |
| 15:57:18 | gibi | dansmith: if it will be used in the future then I'm OK with it | |
| 15:57:51 | dansmith | gibi: yep, plan is to use it, just trying to keep the base functionality to these patches and then we can hem and haw over how to calculate some stats in a future patch | |
| 16:01:16 | gibi | dansmith: cool. changed my votes as the rest of my comments can be done in a fup | |
| 16:01:43 | dansmith | gibi: roger, just saw as I was replying, I'll post a fup for the nits and get a WIP enqueued for the stats so I can point at that if the question comes up again :D | |
| 16:02:21 | gibi | dansmith: thanks | |
| 16:04:44 | dansmith | gibi: oh, heh on that libvirt test name... it's totally opposite, I dunno how I did that :P | |
| 16:05:53 | gibi | :) | |
| 16:06:24 | dansmith | I'll call it a "testing gibi's attention to detail" easter egg | |
| 16:06:31 | gibi | it worked :) | |
| 16:06:56 | dansmith | yeah you passed the test this time | |
| 16:07:41 | gibi | I'm wondering was there other tests I did not even notice?! | |
| 16:09:05 | dansmith | gibi: muahah :D | |
| 16:09:12 | gibi | stephenfin: do you want me to refactor the fake image service ? https://review.opendev.org/#/c/688132/1/nova/tests/functional/test_boot_from_volume.py@203 | |
| 16:11:34 | gibi | stephenfin: https://github.com/openstack/nova/blob/ef6e49d5bc721840b331c87c6391a69309253ade/nova/tests/unit/image/fake.py#L45 | |
| 16:12:18 | stephenfin | gibi: If you have time, but I won't block on that now | |
| 16:12:48 | gibi | stephenfin: I can do that later. making a todo... | |
| 16:13:02 | stephenfin | tbh, I'd like to stop using the 'stub_out_image_service' function entirely since it obscures things | |
| 16:13:15 | stephenfin | I've a big functional test cleanup in-progress. Can include that | |
| 16:15:28 | gibi | stephenfin: OK, I will ping you when I reach my todo to see if you have already started on it | |
| 16:15:40 | stephenfin | (y) | |
| 16:16:10 | stephenfin | +2 | |
| 16:18:25 | gibi | Im leaving for today. Have a nice weeked you all! | |
| 16:22:17 | stephenfin | O/ | |
| 16:53:47 | openstackgerrit | Dan Smith proposed openstack/nova master: Fix up some feedback on image precache support https://review.opendev.org/688172 | |
| 16:53:47 | openstackgerrit | Dan Smith proposed openstack/nova master: WIP: Log some stats for image pre-cache https://review.opendev.org/688173 | |
| 17:37:35 | openstackgerrit | Dan Smith proposed openstack/nova master: Add image caching API for aggregates https://review.opendev.org/687140 | |
| 17:37:36 | openstackgerrit | Dan Smith proposed openstack/nova master: WIP: Add image precaching docs for aggregates https://review.opendev.org/687348 | |
| 17:37:37 | openstackgerrit | Dan Smith proposed openstack/nova master: Fix up some feedback on image precache support https://review.opendev.org/688172 | |
| 17:37:37 | openstackgerrit | Dan Smith proposed openstack/nova master: WIP: Log some stats for image pre-cache https://review.opendev.org/688173 | |
| 18:06:28 | openstackgerrit | Stephen Finucane proposed openstack/nova master: setup.cfg: Cleanup https://review.opendev.org/677969 | |
| 18:06:29 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Stop testing Python 2 https://review.opendev.org/687954 | |
| 18:13:30 | melwitt | o/ | |
| 18:19:49 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Stop testing Python 2 https://review.opendev.org/687954 | |
| 18:28:02 | openstackgerrit | Merged openstack/nova master: Add cache_image() driver method and libvirt implementation https://review.opendev.org/687137 | |
| 18:41:42 | openstackgerrit | Merged openstack/nova master: Add cache_image() support to the compute/{rpcapi,api,manager} https://review.opendev.org/687138 | |
| 18:52:19 | melwitt | zzzeek: hey, are you around? | |
| 18:52:32 | zzzeek | melwitt: heya | |
| 18:52:42 | melwitt | o. | |
| 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 | |