Earlier  
Posted Nick Remark
#openstack-nova - 2018-08-16
09:48:34 mriedem this method https://github.com/openstack/nova/blob/master/nova/scheduler/host_manager.py#L710
09:48:46 mriedem specifically https://github.com/openstack/nova/blob/master/nova/scheduler/host_manager.py#L735
09:49:00 mriedem that queries the cell db per compute host to find the list of instance uuids on that host
09:50:29 sean-k-mooney mriedem: for the cern case you really only need to fine out what cell the project is mapped too right? so if we had placement aggreates per cell we would just need to add a member of to the placement query for the cells assocated with the tenant and let placement do all the work
09:51:13 mriedem sean-k-mooney: CERN already has that
09:51:19 tssurya mriedem: yea the time consumption is in the pulling of all instances info
09:51:22 mriedem they have tenants mapped to host aggregates which are mapped to resource provider aggregates
09:51:26 mriedem and that does the pre-filtering
09:51:46 sean-k-mooney mriedem: oh ok cool
09:52:07 mriedem they use this stuff https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html#aggregates-in-placement
09:52:09 sean-k-mooney mriedem: so why do we ever pull the per host info back?
09:52:34 openstackgerrit jichenjc proposed openstack/nova master: Add zvm admin intro and hypervisor information https://review.openstack.org/533125
09:52:35 openstackgerrit jichenjc proposed openstack/nova master: Add zvm CI information https://review.openstack.org/533512
09:52:51 mriedem sean-k-mooney: for the affinity filters
09:53:18 sean-k-mooney mriedem: ah but that is after the placmenet query right?
09:53:25 mriedem yes
09:53:46 mriedem pre-filter -> GET /allocation_candidates -> get_host_states -> per-host-instance query -> filters/weighers
09:54:11 sean-k-mooney ok i miss understood. i taught you were implying we were doing the db query in the prefilter
09:54:33 mriedem no the only thing we query there is which host aggregates are restricted for the tenant
09:54:52 sean-k-mooney ya that makes sense.
09:55:03 mriedem https://github.com/openstack/nova/blob/master/nova/scheduler/request_filter.py#L26
09:56:58 openstackgerrit Matthew Booth proposed openstack/nova master: Py3 fix in fake image service https://review.openstack.org/592056
09:57:00 openstackgerrit Matthew Booth proposed openstack/nova master: Add regression test for bug 1550919 https://review.openstack.org/591733
09:57:01 openstack bug 1550919 in OpenStack Compute (nova) "[Libvirt]Evacuate fail may cause disk image be deleted" [Medium,In progress] https://launchpad.net/bugs/1550919 - Assigned to Matthew Booth (mbooth-9)
09:57:01 openstackgerrit Matthew Booth proposed openstack/nova master: Don't delete disks on shared storage during evacuate https://review.openstack.org/578846
09:58:15 sean-k-mooney mriedem: right we just get the aggreate uuids and stuff them in the destination object
09:59:41 mdbooth mriedem: ^^^ is my proposed for failed evacuate on shared storage. The functional tests exercise all 4 combinations of shared/nonshared instance directory and share/nonshared block.
10:00:03 mdbooth mriedem: Good call ;)
10:01:39 sean-k-mooney there is no stien spec template ye correct? im going to make one reusing the rocky template.
10:02:05 sean-k-mooney is it stien or stein?
10:02:29 mdbooth sean-k-mooney: The latter
10:03:11 sean-k-mooney damb german words not doing the i before e thing
10:03:35 sean-k-mooney that said more english word dont follow that then do also
10:03:42 mdbooth Our crazy european neighbours
10:04:26 mdbooth Don't understand the weightiness of consistent spelling
10:07:09 sean-k-mooney you have seen my speeling correct ( yes i know i misspelled spelling, however that was kind of a typo). sometimes constency is a good thing but that does not mean i like us spelling more then uk.
10:14:39 openstackgerrit Vlad Gusev proposed openstack/nova stable/pike: Fix service list for disabled compute using MC driver https://review.openstack.org/592337
10:26:00 openstackgerrit Claudiu Belu proposed openstack/nova master: tests: autospecs all the mock.patch usages https://review.openstack.org/470775
10:26:01 openstackgerrit Claudiu Belu proposed openstack/nova master: hyper-v: autospec classes before they are instantiated https://review.openstack.org/342211
10:30:46 openstackgerrit Claudiu Belu proposed openstack/nova master: WIP: replace spec with autospec https://review.openstack.org/557299
10:38:14 openstackgerrit Chen proposed openstack/nova master: Fix soft deleting vm fails after "nova resize" vm https://review.openstack.org/546920
10:41:35 openstackgerrit Claudiu Belu proposed openstack/nova master: hyperv: Cleans up live migration Planned VM https://review.openstack.org/478943
11:59:12 openstackgerrit Matthew Booth proposed openstack/nova master: Move static _get_power_off_values to compute_utils https://review.openstack.org/578822
11:59:27 openstackgerrit Matthew Booth proposed openstack/nova master: Move static _get_power_off_values to compute_utils https://review.openstack.org/578822
12:07:38 mdbooth Any py3-loving cores fancy knocking this on the head: https://review.openstack.org/#/c/592056/ Trivial: change to explicit string type required by py3.
12:15:45 openstackgerrit Yikun Jiang (Kero) proposed openstack/nova master: Make monkey patch work in uWSGI mode https://review.openstack.org/592285
12:15:58 efried mdbooth: I glanced at that yesterday, but I'm not a py2-to-3 expert and the commit message is... sparse. Can you help me understand what's wrong and why it needs to be fixed?
12:16:15 mdbooth efried: Because the argument has to be binary
12:16:31 efried according to...?
12:16:31 mdbooth If it's not, it gives an error that the argument has to be binary
12:16:58 efried what gives an error? data.write or _imagedata.get?
12:17:07 efried presumably the former
12:17:10 mdbooth Yeah
12:17:40 efried and where does the error show up? It must not be in the py35 tox job...?
12:18:02 mdbooth Yeah, it was happening in the functional job
12:18:18 efried oooohhhh
12:18:29 efried I was blinded by the fact that the fake driver lives in the /unit/ path.
12:18:29 mdbooth Although it was non-deterministic until I twigged why
12:18:34 openstackgerrit Yikun Jiang (Kero) proposed openstack/nova master: Make monkey patch work in uWSGI mode https://review.openstack.org/592285
12:18:38 efried but it's used for the func tests too.
12:18:45 mdbooth They're pretty incestuous :)
12:18:54 efried okay, now that I have a way to try to repro locally I can take a better look at it.
12:19:17 efried If you wouldn't mind enhancing the commit message, future me will be grateful.
12:19:36 mdbooth Maybe if you open the file binary it has to have binary data written to it?
12:19:59 efried Well, it makes sense that you would *want* to write binary if you're opening with 'b'.
12:20:24 mdbooth TypeError: a bytes-like object is required, not 'str'
12:20:24 mdbooth File "<stdin>", line 1, in <module>
12:20:24 mdbooth Traceback (most recent call last):
12:20:24 mdbooth >>> f.write('foo')
12:20:24 mdbooth >>> f = open('/tmp/foo', 'wb+')
12:20:32 mdbooth That's the error you get, anyway
12:20:53 mdbooth 3
12:20:53 mdbooth >>> f.write(b'foo')
12:21:04 efried yeah, so they must have tightened that down in py3, eh?
12:21:24 mdbooth py2:
12:21:30 mdbooth >>> f.write(b'foo')
12:21:30 mdbooth >>> f.write('foo')
12:21:30 mdbooth >>> f = open('/tmp/foo', 'wb+')
12:21:32 mdbooth Both work
12:21:55 efried which func test would fail?
12:22:19 efried I try not to run full suites locally unless I need to reheat my coffee.
12:22:50 mdbooth So... the following functional test would fail non-deterministically depending on whether or not fake image service gave it an image with a kernel and ramdisk or not
12:23:38 efried We have a test that sometimes uses one kind of image and sometimes another, nondeterministically??
12:23:52 mdbooth efried: Yep. A few :)
12:24:16 efried that's... I can't... but WHY?
12:24:25 mdbooth I felt really good about myself for find that this morning :)
12:24:50 mdbooth efried: non-deterministic dict ordering
12:25:40 efried ...because the reward for good work is...
12:26:59 mdbooth efried: It's not relevant to my bug, or I would have. I was just tripping over it.
12:27:19 efried I was about to say: assume the topic bug isn't really related, so this should be tagged with the py3-first tag (whatever that tag is)
12:28:50 efried btw, I recently discovered with cdent's guidance that you can avoid gerrit re-topic'ing your whole series by using git-review -T (available only in recent versions of git-review)
12:29:07 mdbooth I mean the non-deterministic images, that is. My patch just needs a functioning image service in order to boot. kernel vs non-kernel is irrelevant, except that it caused a bug.
12:29:39 mdbooth I don't really use topics, tbh
12:30:32 mdbooth I've always found it more useful to use the fact that gerrit displays a series in dependency order in 'Related Changes'
12:30:51 efried um. For misc random patch that's fine, but when they're associated with a bug, blueprint, or initiative (like mox removal or py3 first), it's useful.
12:31:22 efried Well, yeah, on that note, in this case the fix really doesn't need to be in that series at all, does it?
12:31:48 mdbooth It does, because the functional test which follows it was tripping up on it
12:31:58 mdbooth non-deterministically
12:32:00 efried but only in py3, which isn't set up in the gate yet?
12:32:13 mdbooth Yeah, we run functional on py3

Earlier   Later