| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-01-10 | |||
| 16:15:38 | mriedem | and all 3 of those default to 0.0 in config :) | |
| 16:15:54 | mriedem | so yeah...we're always sending an inventory update with a capacity that's not going to be accepted | |
| 16:16:12 | efried | ouch | |
| 16:17:08 | maciejjozefczyk | mriedem: yes | |
| 16:18:29 | mriedem | left notes in https://review.openstack.org/#/c/520024/ | |
| 16:18:33 | mriedem | so how does this work today? | |
| 16:19:03 | maciejjozefczyk | today, you mean without my patch? | |
| 16:19:07 | cdent | i swear we've seen this before and changed it | |
| 16:19:11 | mriedem | maciejjozefczyk: yeah | |
| 16:19:37 | maciejjozefczyk | mriedem: https://github.com/openstack/nova/blob/cf33de28b15bb445d34bbdda1897130812e3b5c5/nova/scheduler/client/report.py#L696 always pass | |
| 16:19:51 | maciejjozefczyk | so we dont send anything to scheduler | |
| 16:19:54 | maciejjozefczyk | pff, placement* | |
| 16:19:58 | maciejjozefczyk | only DB is updated | |
| 16:20:18 | ameeda | Hello novaers, when I try to deploy overcloud on baremetal using undercloud "installed at vm" I got this error "No compute node record for host undercloud: ComputeHostNotFound_Remote: Compute host undercloud could not be found." from nova-compute.log file | |
| 16:20:25 | cfriesen | mriedem: reading your "working towards feature freeze" email...given reviewer resources is there any point in trying to refresh the live-migration resource tracking patches for Q or is that now basically an R thing? | |
| 16:20:45 | mriedem | live migration resource tracking patches? | |
| 16:21:02 | mriedem | maciejjozefczyk: but at some point we have to set the initial inventory for the provider | |
| 16:21:14 | cfriesen | mriedem: yeah, the ones that have been around forever to fix pinned cpus, hugepages, etc. on live migration | |
| 16:21:41 | mriedem | cfriesen: i didn't realize you were trying to get those into Q | |
| 16:21:51 | cfriesen | mriedem: I haven't actively | |
| 16:22:04 | cfriesen | mriedem: sfinucan refreshed one of them in November | |
| 16:22:55 | mriedem | maciejjozefczyk: so i'm trying to figure out why the initial PUT for inventories for that compute node doesn't fail | |
| 16:23:05 | mriedem | like, the first time the compute is created | |
| 16:23:28 | maciejjozefczyk | mriedem: Im curious too | |
| 16:23:36 | maciejjozefczyk | mriedem: also looking | |
| 16:24:06 | mriedem | on the first PUT we'd get here https://github.com/openstack/nova/blob/master/nova/objects/resource_provider.py#L371 | |
| 16:24:23 | mriedem | which also checks capacity https://github.com/openstack/nova/blob/master/nova/objects/resource_provider.py#L200 | |
| 16:25:03 | cdent | at create time is the inventory constructed by something else, which does not set allocation_ratio in the request? If so, the server side will default to 1.0 | |
| 16:25:34 | mriedem | i don't think so, should be the same code, | |
| 16:25:37 | mriedem | calls driver.get_inventory() | |
| 16:25:42 | mriedem | which for libvirt doesn't return allocation_ratio | |
| 16:30:20 | cdent | mriedem: I think maybe it just busted but in our functional tests and tempest we always set those config values | |
| 16:30:29 | cdent | tempest has allocation_ratio conf defaults | |
| 16:30:42 | cdent | and the gabbi test fixture for function does too | |
| 16:31:25 | mriedem | tempest? you mean devstack? | |
| 16:31:30 | mriedem | i don't see allocation_ratio set in nova.conf http://logs.openstack.org/24/520024/6/check/legacy-tempest-dsvm-neutron-full/255f8c4/logs/etc/nova/nova-cpu.conf.txt.gz | |
| 16:31:30 | cdent | yeah, sorry | |
| 16:31:58 | mriedem | http://logs.openstack.org/24/520024/6/check/legacy-tempest-dsvm-neutron-full/255f8c4/logs/screen-n-cpu.txt.gz#_Dec_15_15_20_27_560214 | |
| 16:32:00 | cdent | (I'm simultaneously working on some tempest stuff) | |
| 16:32:27 | melwitt | I've noticed the test_live_migration_actions functional test has been intermittently failing in the gate again http://logs.openstack.org/90/333990/22/check/openstack-tox-functional/24eeb2b/testr_results.html.gz | |
| 16:33:00 | mriedem | cdent: in this test run, this is the first inventory update after the compute node RP is created http://logs.openstack.org/24/520024/6/check/legacy-tempest-dsvm-neutron-full/255f8c4/logs/screen-n-cpu.txt.gz#_Dec_15_15_20_29_162934 | |
| 16:33:25 | melwitt | gibi ^ | |
| 16:33:54 | cdent | mriedem: presumably the set to 0.0 here shouldn't be? http://logs.openstack.org/24/520024/6/check/legacy-tempest-dsvm-neutron-full/255f8c4/logs/screen-n-cpu.txt.gz#_Dec_15_15_20_27_560214 | |
| 16:34:29 | mriedem | cdent: 0.0 is the default in the configs | |
| 16:34:44 | cdent | I get that. | |
| 16:35:01 | cdent | But one wouldn't expect that work, would one? | |
| 16:35:08 | cdent | unless 0 is meant to mean 1 | |
| 16:35:22 | cdent | and that's the conversation I seem to remember having, but can't find the thread of | |
| 16:35:52 | mriedem | i don't see how it works with the capacity checks on the placement side for updating inventory | |
| 16:36:00 | mriedem | for this ci run, this is the first inventory update http://logs.openstack.org/24/520024/6/check/legacy-tempest-dsvm-neutron-full/255f8c4/logs/screen-placement-api.txt.gz#_Dec_15_15_20_29_138893 | |
| 16:36:16 | mriedem | but doesn't tell us much | |
| 16:36:28 | gibi | melwitt: thanks for the heads up, I will look into it | |
| 16:36:56 | melwitt | thanks gibi | |
| 16:37:15 | cdent | mriedem: ah, it is the compute node object that does some jiggery pokery if it is doesn't like the values of the allocation ratios: see _from_db_object in class ComputeNode | |
| 16:37:44 | mriedem | yup i just found that | |
| 16:37:54 | mriedem | maciejjozefczyk: | |
| 16:37:54 | cdent | some presumably somewhere in the first step that pokery is happening, but then getting ruined in the second | |
| 16:38:41 | mriedem | maciejjozefczyk: https://github.com/openstack/nova/blob/master/nova/objects/compute_node.py#L198 | |
| 16:40:51 | maciejjozefczyk | mriedem: mmmmm | |
| 16:41:49 | maciejjozefczyk | mriedem: and yes, I dont have it specified in config at all | |
| 16:43:29 | mriedem | i don't really understand why the inventory request wouldn't have the allocation_ratio values from the compute node object though | |
| 16:43:39 | mriedem | because in your patch, _update is called after the compute node record is created, | |
| 16:43:56 | mriedem | and ComputeNode.create() eventually calls _from_db_object to set the 'default' allocation ratios on the object itself | |
| 16:43:57 | cfriesen | just stumbled over something odd...if the os_type isn't set, then in some scenarios the ephemeral disks are formated vfat. if the ephemeral size is too big for vfat, this chokes. Should we default to something else in the code or just not format it at all if a default isn't specified in the config file? | |
| 16:44:03 | mriedem | which will be used in _normalize_inventory_from_cn_obj | |
| 16:44:51 | cfriesen | mdbooth: ^ | |
| 16:48:08 | mriedem | maciejjozefczyk: if you have a recreate of that failure, try logging the compute node record in _update() before calling reportclient.set_inventory_for_provider | |
| 16:57:04 | maciejjozefczyk | mriedem: ok | |
| 17:01:07 | diga | jaypipes: Hi | |
| 17:01:38 | diga | jaypipes: have you seen my mail on this bug - https://bugs.launchpad.net/nova/+bug/1719933 | |
| 17:01:40 | openstack | Launchpad bug 1719933 in OpenStack Compute (nova) "placement server needs to retry allocations, server-side" [Medium,Triaged] - Assigned to Jay Pipes (jaypipes) | |
| 17:03:57 | cdent | diga: twitter suggests that jay is rather ill today | |
| 17:04:13 | diga | cdent: ohh | |
| 17:05:50 | maciejjozefczyk | mriedem: Ok, I'll paste it tomorrow, need to go | |
| 17:05:55 | mdbooth | cfriesen: The behaviour of that formatting is lost in the depths of time. That sounds like a bona fide bug, though. | |
| 17:06:07 | diga | cdent: do you have sometime, can you help me ? | |
| 17:06:07 | mriedem | maciejjozefczyk: o/ | |
| 17:06:24 | cdent | diga: I might be able to yeah, what's up? | |
| 17:06:34 | mdbooth | cfriesen: Do other clouds format blank ephemeral disks for you? It seems like such a weird thing to do in Nova. | |
| 17:07:39 | maciejjozefczyk | first sight, strange, https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L763 gives me https://pastebin.com/skR0X0Mm (at init) | |
| 17:07:46 | mdbooth | cfriesen: I don't think we can change that behaviour without at least a microversion bump, btw. Probably a cycle of ops discussion, a prominent release note, and a microversion bump. | |
| 17:07:55 | maciejjozefczyk | mriedem: and cpu_allocation_ratio is set as 16.0 | |
| 17:08:35 | openstackgerrit | Eric Berglund proposed openstack/nova master: PowerVM Driver: vSCSI volume driver https://review.openstack.org/526094 | |
| 17:08:49 | mriedem | maciejjozefczyk: that's because it pulls the object from the db and runs it through ComputeNode._from_db_object which sets the 'default' allocation ratios (hardcoded in code) if not set in config | |
| 17:08:59 | mdbooth | cfriesen: When the ephemeral disk is too big, does the mkfs choke causing the spawn to fail? | |
| 17:09:14 | maciejjozefczyk | mriedem: I'll check it tomorrow why then it is changed to 0 | |
| 17:09:25 | maciejjozefczyk | mriedem: thats the real cause, yes? | |
| 17:09:51 | mriedem | yeah i don't know what is changing it to 0.0 before we hit placement | |
| 17:10:11 | maciejjozefczyk | mriedem: I'll find it for you ;) bb | |
| 17:10:18 | mriedem | godspeed | |
| 17:11:42 | diga | cdent: | |
| 17:11:49 | diga | cdent: - Here I got the error after adding scenarios - http://paste.openstack.org/show/641294/ | |
| 17:12:26 | diga | cdent: changes are made in git diff - http://paste.openstack.org/show/641293/ | |
| 17:12:28 | cdent | diga: do you have a work in progress that you post up to gerrit so there's code to look at? | |
| 17:13:10 | diga | cdent: I have submit the patch yet, Let me submit the patch then | |
| 17:13:20 | diga | s/have/haven't | |
| 17:14:15 | diga | cdent: yes, I am working on this as per jaypipes suggestions | |
| 17:14:43 | cdent | diga: note that DbDeadLock is already handled, what's not handled is ConcurrentUpdate | |
| 17:15:28 | diga | cdent: okay | |
| 17:15:46 | cdent | _set_allocations method already has the retry handing on it | |