| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-02-01 | |||
| 09:04:02 | ameeda | bauzas: can you help me with that ? | |
| 09:04:11 | maciejjozefczyk_ | hmm bauzas could be good | |
| 09:04:32 | maciejjozefczyk_ | leave the logic for pike, move new one if object is newest one | |
| 09:09:35 | bauzas | maciejjozefczyk: sec, looking at code | |
| 09:09:43 | bauzas | ie. where we are accessing ratios | |
| 09:09:59 | bauzas | AFAIR, we only get or set ratios either in compute service or within the scheduler | |
| 09:10:17 | bauzas | so, the big problem is only for the scheduler | |
| 09:10:19 | maciejjozefczyk | bauzas: I think too thats its only in compute-node or scheduler | |
| 09:10:22 | maciejjozefczyk | bauzas: right | |
| 09:10:44 | bauzas | of course, let's find a solution that would work for any service | |
| 09:11:09 | bauzas | because if we just fix that only for the scheduler, if after some time, someone lookups ratios in the nova-api worker for example, it couldn't owrk | |
| 09:11:28 | maciejjozefczyk | bauzas: yes, it should be complex | |
| 09:11:50 | bauzas | okay, so it's confirmed | |
| 09:12:01 | jianghuaw | Spaz-Work, thanks for updating the patch with well defined commit messages. It looks very reasonable. I totally agreed with you:-) | |
| 09:12:13 | bauzas | we load ComputeNode objects in the scheduler HostManager to correctly set the HostStates | |
| 09:12:45 | Spaz-Work | jianghuaw: Thanks sir. Definately nerve-wracking commit since it's nasty, wanted to make sure I was clear ;) | |
| 09:14:46 | jianghuaw | The commit message did help me to understand why the fix goes with that way:-) | |
| 09:15:19 | bauzas | maciejjozefczyk: so, after looking at the object code, I think checking the object version won't work | |
| 09:16:50 | bauzas | because if we call the object from the scheduler side, it will get the latest version, then calling the remotable method for getting the primitives, then transforming the primitives if necessary and then hydrating the object from the primitive | |
| 09:17:15 | bauzas | but when we hydrate the primitive, we're already having a computenode object version that is the latest | |
| 09:18:23 | maciejjozefczyk | bauzas: the stupid solution is duplicating the fields, right?:) | |
| 09:18:54 | bauzas | what do you mean ? | |
| 09:20:25 | maciejjozefczyk | like adding ram_allocation_ratio_v2 for Rocky and do magic in filtering primitives? If I understand it correctly | |
| 09:21:08 | bauzas | oh please no | |
| 09:21:10 | maciejjozefczyk | but yes, its not a solution, its workaround | |
| 09:21:12 | maciejjozefczyk | :D | |
| 09:21:22 | maciejjozefczyk | bauzas: yes, just kidding | |
| 09:25:21 | openstackgerrit | Marcin Juszkiewicz proposed openstack/nova master: Make sure that we have USB Host controller for USB tablet https://review.openstack.org/538003 | |
| 09:27:31 | kashyap | mriedem: About the question you asked me in the scroll, I asked the libvirt upstream folks, and this was the response: | |
| 09:28:06 | maciejjozefczyk | bauzas: So maybe some if logic from scheduler side? If the object is in version X, and we know that its from Rocky, then we'll not do thing from https://review.openstack.org/#/c/532924/6/nova/objects/compute_node.py L185, | |
| 09:28:11 | kashyap | mriedem: That "note" you pointed out from the OpenStack docs was never the case, so that statement wasn't ever true | |
| 09:28:30 | maciejjozefczyk | bauzas: I'm looking for better solution but I havent found any | |
| 09:28:48 | kashyap | mriedem: One can use `virsh nodedev-dumpxml` on the parent device and it will return a dump of the 'sysfs' attributes. | |
| 09:29:39 | bauzas | maciejjozefczyk: one possible outcome could be to transform in obj_make_compatible the primitive we got from the compute | |
| 09:30:26 | bauzas | maciejjozefczyk: ie. say that if the primitive is having a target version older than me, and if ratio is 0.0, set the value to what we want | |
| 09:32:20 | maciejjozefczyk | bauzas: Yes, obj_make_compatible is right place for that | |
| 09:34:53 | bauzas | maciejjozefczyk: so, when calling _from_db_object, we would get normalized values whatever the compute service version is | |
| 09:35:57 | maciejjozefczyk | bauzas: So the commit messag needs to be changed, to show that we introduce default values | |
| 09:36:11 | maciejjozefczyk | bauzas: and what about min config values? | |
| 09:36:35 | maciejjozefczyk | bauzas: do you agree that in rocky the min should be 0.1 at least? | |
| 09:37:16 | bauzas | 0.0 can be a trick for operatoes | |
| 09:37:36 | bauzas | like, say in my inventory, I don't want to count that resource for that specific compute | |
| 09:37:47 | bauzas | oh wait | |
| 09:37:51 | bauzas | it's the contrary | |
| 09:38:07 | bauzas | if I don't care about that resource class, then just have a ratio equal to 99999.99 | |
| 09:38:29 | bauzas | but if I want to stop allocating that compute, I could use a ratio of 0.0 | |
| 09:38:41 | bauzas | so I dunno | |
| 09:38:53 | bauzas | from a logical perspective, 0.1 makes sense | |
| 09:39:13 | lyarwood | Roamer`: re https://review.openstack.org/#/c/539742/ - looks like we are failing to cherry pick the nova patch in the StorPool job - http://logs.ci-openstack.storpool.com/42/539742/1/check/dsvm-tempest-storpool/f0a700e/console.html#_2018-02-01_06_49_47_306 | |
| 09:39:31 | bauzas | but from an operator perspective, I could say 'if I have a flavor that requires some disk but I want to not allocate that host if disk, then put it to 0.0' | |
| 09:39:46 | lyarwood | Roamer`: I'll try again using the change id but would you be able to manually test the fix from https://review.openstack.org/#/c/539739/ | |
| 09:39:47 | bauzas | I understand that can be sneaky | |
| 09:40:02 | maciejjozefczyk | bauzas: from placement side it makes now calculations ratio*resources=limit_on_host (something like that) | |
| 09:40:15 | maciejjozefczyk | so if we gonna place there 0 - you know what happend :) | |
| 09:41:19 | maciejjozefczyk | so maybe the logic should be also changed from placement side to not raise capacity check exception | |
| 09:42:11 | bauzas | yeah I know, but maybe some people would *want* to get capacity exceptions | |
| 09:42:15 | bauzas | I'm not kidding | |
| 09:42:30 | hrw | http://marcin.juszkiewicz.com.pl/2018/02/01/everyone-loves-90s-pc-hardware/ | |
| 09:43:53 | openstackgerrit | Elod Illes proposed openstack/nova master: Functional test: evacuate with no compute https://review.openstack.org/498482 | |
| 09:44:19 | openstackgerrit | Ameed Ashour proposed openstack/nova master: change instance_system_metadata column type https://review.openstack.org/526900 | |
| 09:45:00 | maciejjozefczyk | bauzas: For that 'I dont what to allocate on that compute' as operator I would just use host-disable | |
| 09:45:09 | maciejjozefczyk | rather than some trics around allocation_ratios | |
| 09:45:27 | bauzas | I agree | |
| 09:45:49 | bauzas | but host disabling is a whole thing for any kind of resource | |
| 09:46:06 | bauzas | in the past, we had CoreFilter, RAMFilter and DiskFilter | |
| 09:46:25 | bauzas | where you could disallow a host based on some sneaky crazy calculation | |
| 09:46:33 | maciejjozefczyk | bauzas: right | |
| 09:46:36 | bauzas | now, this is placement for the god sake | |
| 09:47:13 | bauzas | so, some people could argue that they would want to just exclude a specific host if and only if some flavor is asking for some resource | |
| 09:47:33 | bauzas | tricking the ratio for that resource class is one way of achieving that | |
| 09:48:11 | bauzas | I know that asking 0 vCPUs is crazy | |
| 09:48:18 | bauzas | like asking for 0 GB of RAM | |
| 09:48:30 | bauzas | but asking for a diskless instance can be understandable | |
| 09:48:56 | maciejjozefczyk | bauzas: you're right, I agree | |
| 09:49:10 | bauzas | tbh, if I was you, I'd decouple the normalization thing from the minimum ratio modification | |
| 09:49:13 | Roamer` | lyarwood, I actually restarted the job as soon as it managed to fail, it has been running some Tempest tests, it should be done in less than an hour now, then we'll know; the failing test is almost the last one to run :/ | |
| 09:49:28 | maciejjozefczyk | bauzas: eg. this host is for only 'volume' vms | |
| 09:50:03 | Roamer` | lyarwood, and yeah, I did some internal clean-up of the Jenkins job to make it fail much earlier if it fails to cherry-pick the changes (and review.o.o has been a bit flaky yesterday and today, at least from that Hetzner-based host) | |
| 09:50:05 | bauzas | maciejjozefczyk: well, I was thinking more about the long-standing issue we have with calculating disk spaces, in particular for BFV instances | |
| 09:50:40 | bauzas | sometimes, you hack like how you can | |
| 09:51:06 | bauzas | once we have the full monty with shared resource providers, that problem will be solved | |
| 09:51:13 | bauzas | but that's like 4 cycles we're working on that | |
| 09:54:10 | maciejjozefczyk | ok, to summarize about that change: do backport compatibility in obj_make_compatible() like we discussed, remove minimum from config files, then we gonna think twice about it, agree? | |
| 09:54:18 | openstackgerrit | Claudiu Belu proposed openstack/nova master: tests: fixes mock autospec usage https://review.openstack.org/447505 | |
| 09:54:18 | openstackgerrit | Claudiu Belu proposed openstack/nova master: tests: refactors and cleans up test_rbd.py https://review.openstack.org/538022 | |
| 09:54:19 | openstackgerrit | Claudiu Belu proposed openstack/nova master: hyper-v: autospec classes before they are instantiated https://review.openstack.org/342211 | |
| 09:54:19 | openstackgerrit | Claudiu Belu proposed openstack/nova master: tests: autospecs all the mock.patch usages https://review.openstack.org/470775 | |
| 09:54:58 | kashyap | mriedem: We should just rewrite it: saying that "libvirt supports enumerating the information about the supported types for a given device via `virsh nodedev-dumpxml` (or the equivalent API)" | |
| 09:56:35 | bauzas | maciejjozefczyk: I'd say just touch the default value in the conf opt, that's it | |
| 09:56:40 | bauzas | leave as it what is is now | |
| 09:56:46 | bauzas | (speaking of the min) | |
| 09:57:08 | bauzas | maciejjozefczyk: for the obj_make_compatible() hack, I think you need to check the object versions | |
| 09:57:15 | bauzas | and see if you need a new one | |
| 09:57:28 | bauzas | which could be tricky if that's only for signaling | |
| 09:57:39 | openstackgerrit | Ameed Ashour proposed openstack/nova stable/ocata: add "--until-complete" option for nova-manage db archive_deleted_rows. https://review.openstack.org/539878 | |
| 09:58:40 | bauzas | maciejjozefczyk: hah, you're doomed | |
| 09:59:00 | bauzas | ComputeNode version 1.17 (adding the mapped field) was merged in Pike | |
| 09:59:00 | maciejjozefczyk | bauzas: :) | |
| 09:59:11 | bauzas | https://github.com/openstack/nova/commit/0ce4dff4 | |
| 09:59:27 | bauzas | so you can't rely on it for checking the release version | |