| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-07-20 | |||
| 12:13:26 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: placement: init alloc_reqs earlier https://review.openstack.org/485585 | |
| 12:16:05 | openstackgerrit | Alex Szarka proposed openstack/nova master: Add method for verify multiple versioned notifications https://review.openstack.org/465526 | |
| 12:20:50 | gibi | cdent: thanks for the comment on the patch. Let's wait for the others to wake up to discuss if this is the good fix for the problem | |
| 12:21:18 | cdent | yeah, that’s pretty much what I was trying to say in my comment, in too many words | |
| 12:21:29 | gibi | cdent: then I got your message :) | |
| 12:22:16 | openstackgerrit | Chris Dent proposed openstack/nova master: Add functional test for local delete allocations https://review.openstack.org/470578 | |
| 12:22:32 | openstackgerrit | Alex Szarka proposed openstack/nova master: Raise Exception instead of Exception method call https://review.openstack.org/482200 | |
| 12:26:14 | openstackgerrit | Merged openstack/nova master: Fix indentation in policy doc https://review.openstack.org/484646 | |
| 12:26:21 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: placement: init alloc_reqs earlier https://review.openstack.org/485585 | |
| 12:30:12 | openstackgerrit | Merged openstack/nova master: Only setup iptables for metadata if using nova-net https://review.openstack.org/480765 | |
| 12:31:11 | openstackgerrit | Merged openstack/nova master: Add log info in scheduler to mark start of scheduling https://review.openstack.org/481340 | |
| 12:32:01 | openstackgerrit | Merged openstack/nova master: Updated from global requirements https://review.openstack.org/485410 | |
| 12:32:50 | openstackgerrit | Merged openstack/nova master: VStorage: changed default log path https://review.openstack.org/458557 | |
| 12:33:51 | openstackgerrit | Chris Dent proposed openstack/nova master: Optional separate database for placement API https://review.openstack.org/362766 | |
| 12:49:04 | openstackgerrit | Takashi NATSUME proposed openstack/nova master: List/show all server migration types (2/2) https://review.openstack.org/459483 | |
| 12:50:20 | openstackgerrit | Matthew Booth proposed openstack/nova master: Allow wrapping of closures https://review.openstack.org/479801 | |
| 12:50:21 | openstackgerrit | Matthew Booth proposed openstack/nova master: Use _error_out_instance_on_exception in finish_resize https://review.openstack.org/485601 | |
| 12:51:37 | openstackgerrit | Sean Dague proposed openstack/nova master: WIP: request_log addition for running under uwsgi https://review.openstack.org/485602 | |
| 13:01:04 | cdent | sdague: I wrote a couple of alternative ideas (to avoid paste changes) on ^. If it seems useful and you haven’t got the time I can probably look into tomorrow. | |
| 13:08:13 | mdbooth | dansmith: https://review.openstack.org/#/c/479802/ | |
| 13:08:56 | mdbooth | You wanted me to break it up, but as I put in a comment I don't think that works. | |
| 13:10:44 | cdent | gibi: if you learn something while I’m away, let me know | |
| 13:11:39 | mdbooth | dansmith: Anyway, working on it now so I'd really like to make sure I've understood you. | |
| 13:11:58 | openstackgerrit | iswarya vakati proposed openstack/nova master: Fixed wrap from taking negative values https://review.openstack.org/481465 | |
| 13:13:42 | dansmith | mdavidson: what doesn't work? | |
| 13:14:09 | dansmith | heh, mdbooth ^ | |
| 13:14:14 | bauzas | gibi: so, could you please tl:dr the problem about https://bugs.launchpad.net/nova/+bug/1705446 ? | |
| 13:14:15 | openstack | Launchpad bug 1705446 in OpenStack Compute (nova) "filter scheduler raises TypeError: argument of type 'NoneType' is not iterable when placement returns no allocation candidates" [High,In progress] - Assigned to Balazs Gibizer (balazs-gibizer) | |
| 13:16:49 | gibi | bauzas: hi! so when placement returns no allocation candidates because there is no resource left, the scheduler/manager calls the scheduler drivers with None in alloc_reqs_by_rp_uuid | |
| 13:16:49 | openstackgerrit | Alex Szarka proposed openstack/nova master: Transform the transformed notifications functional tests https://review.openstack.org/483448 | |
| 13:17:02 | gibi | bauzas: then the FilterScheduler tries to iterate on alloc_reqs_by_rp_uuid and blows up | |
| 13:17:29 | gibi | bauzas: see also https://review.openstack.org/#/c/485585/3/nova/scheduler/manager.py | |
| 13:18:17 | gibi | bauzas: alloc_reqs_by_rp_uuid onyl properly initialized in the else branch at line 147 | |
| 13:18:31 | mdbooth | dansmith: I think it's an atomic change | |
| 13:18:41 | openstackgerrit | Alex Szarka proposed openstack/nova master: Transform instance.exists notification https://review.openstack.org/403660 | |
| 13:18:54 | mdbooth | dansmith: I appreciate it's obtuse | |
| 13:19:14 | gibi | bauzas: as soon as I moved the initialization up to the top the FilterScheduler was happy again | |
| 13:19:21 | mdbooth | But being obtuse is the problem | |
| 13:20:03 | mdbooth | We've got this 1 thing which is there for no immediately discernable reason. After a mountaintop retreat, I have communed with the spirits and believe I have discerned a reason. | |
| 13:20:37 | mdbooth | If I remove it, I have to simultaneously replace its function, right? | |
| 13:21:19 | mdbooth | It looks like it's all over the place, but only because the code was previously all over the place. | |
| 13:21:43 | mdbooth | ...unless the spirits were lying to me, and I haven't correctly discerned its purpose. | |
| 13:21:54 | dansmith | the refactor of the decorator into a context manager does not have to be atomic with the rest of it (although I think I'd rather not even have that refactor, tbh) | |
| 13:22:17 | mdbooth | I could do that, but there would be no user of the context manager without the rest of it. | |
| 13:22:24 | dansmith | but that refactor has nothing to do with the removal of the two state exclusion right? | |
| 13:22:43 | mdbooth | Yeah, it does. The only reason I added a context manager is so I could reduce the scope. | |
| 13:23:18 | mdbooth | And the only reason I want to do that is to replace (my guest guess of) that exclusion block's purpose. | |
| 13:23:47 | dansmith | you can refactor it to a context manager first and then remove the state exclusion | |
| 13:23:50 | bauzas | gibi: sure, the point I had for the change adding that was about having different values | |
| 13:24:01 | mdbooth | dansmith: Yep, but the context manager wouldn't have a user. | |
| 13:24:08 | bauzas | gibi: if placement wasn't supported, returning None | |
| 13:24:20 | mdbooth | I guess I'm ok with that, but we just normally don't do it. | |
| 13:24:24 | dansmith | mdbooth: sure it would, the decorator | |
| 13:24:27 | dansmith | mdbooth: we do it constantly | |
| 13:24:33 | bauzas | gibi: if placement was supported but returning no candidates, then an empty dict | |
| 13:24:36 | mdbooth | Oh, ok | |
| 13:24:47 | dansmith | we do transitions as setup, migration, cleanup all the time | |
| 13:24:57 | bauzas | gibi: FWIW, your change is saying that if we don't have placement, it would return a None | |
| 13:24:59 | gibi | bauzas: sure that makes sense | |
| 13:25:00 | bauzas | oops | |
| 13:25:06 | bauzas | it would return {} | |
| 13:25:11 | mdbooth | Yeah, sure I can do that. Not sure it's worth it for a relatively small patch, but it's no great hassle. | |
| 13:25:13 | bauzas | while I was wanting a None | |
| 13:25:18 | gibi | bauzas: so you want to make a bit more finegrained fix | |
| 13:25:26 | dansmith | after the refactor, | |
| 13:25:36 | bauzas | gibi: https://review.openstack.org/#/c/485585/3/nova/tests/unit/scheduler/test_scheduler.py@135 tbc | |
| 13:25:39 | gibi | bauzas: where {} is returned only when we got empty allocations back | |
| 13:25:53 | dansmith | mdbooth: you can apply it to a smaller scope to avoid the race with the rpc call/notification stuff, | |
| 13:25:58 | mdbooth | dansmith: I thought you wanted me to split out the individual function changes. | |
| 13:26:02 | dansmith | and after that you can remove the state exclusion rght? | |
| 13:26:22 | bauzas | gibi: yup, that | |
| 13:26:24 | dansmith | mdbooth: well, I do, if possible | |
| 13:26:34 | gibi | bauzas: OK, I will rework the patch | |
| 13:26:36 | gibi | bauzas: thanks | |
| 13:26:37 | mdbooth | Those 2 really are the same issue. | |
| 13:26:50 | openstackgerrit | Alex Szarka proposed openstack/nova master: Transform instance.exists notification https://review.openstack.org/403660 | |
| 13:26:56 | dansmith | mdbooth: how? | |
| 13:27:00 | bauzas | gibi: thanks for working on it :) | |
| 13:27:22 | mdbooth | Because the exclusion is the current mechanism by which we reduce the scope of errors_out_migration | |
| 13:28:18 | mdbooth | If you do it lexically, the exclusion no longer has a user. | |
| 13:28:23 | dansmith | mdbooth: but your commit message says there's no reason for that code at all right? | |
| 13:28:35 | gibi | bauzas: I have another placement question if you have a minute | |
| 13:28:35 | mdbooth | The exclusion code? | |
| 13:28:57 | dansmith | mdbooth: the state exclusion yeah | |
| 13:29:00 | mdbooth | Its purpose is undocumented, and I've only guessed what it is | |
| 13:29:07 | bauzas | gibi: sure | |
| 13:29:15 | mdbooth | But I'm assuming that the person who put it there did it deliberately | |
| 13:29:39 | gibi | bauzas: when the scheduler claims the resources it is possible that there is a conflict | |
| 13:29:46 | mdbooth | It appears to be to prevent the migration being put in an error state after certain points in the task | |
| 13:29:55 | gibi | bauzas: I see that placement return http 409 | |
| 13:30:00 | gibi | bauzas: and that seems correct to me | |
| 13:30:15 | gibi | bauzas: I mean when there is really a conflict | |
| 13:30:22 | bauzas | gibi: yup, correct | |
| 13:30:24 | dansmith | mdbooth: right but I don't see how removing that (which you think needs to happen) is atomically related to the other scope change | |
| 13:30:36 | dansmith | mdbooth: I gotta join this terrible 6:30am call now, so do whatever you think is right I guess | |
| 13:30:47 | gibi | bauzas: but at the same time placement logs a ERROR log about the invalid inventory and that seems not that nice as it suggest a software error for me | |
| 13:31:07 | mdbooth | dansmith: Enjoy :) | |
| 13:31:22 | bauzas | gibi: when PUT /allocation ? | |
| 13:31:39 | bauzas | gibi: if so, yup, it seems weirdo to pass a error level log | |
| 13:32:18 | gibi | bauzas: here is the stack trace https://pastebin.com/cJP97xQr | |