| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-03-26 | |||
| 13:41:50 | cdent | seems a reasonable plan | |
| 13:43:08 | mriedem | i think dropping at the ptg is a good idea b/c there is a forum session on extraction right before that as well | |
| 13:43:21 | mriedem | as a final 'in 2 days we're going to drop this code from nova, any questions?' | |
| 13:43:23 | dansmith | yeah | |
| 13:56:06 | mnaser | dansmith, mriedem, cdent: OSA hasn’t progressed unfortunately. However, having an official timeline would be nice | |
| 13:56:29 | mnaser | So I’m supportive of at least knowing when it will be done. | |
| 13:56:53 | mnaser | We can probably get deploy from extracted easily but orchestrating the upgrade is the hard part | |
| 13:57:58 | openstackgerrit | Matt Riedemann proposed openstack/nova master: api-ref: add more details to confirmResize troubleshooting https://review.openstack.org/647741 | |
| 13:58:16 | mriedem | efried: there is some wording for the API reference ^ | |
| 13:59:23 | dansmith | mnaser: oh I thought deploy from extracted was already working, but I'm sure I was just confusing that with tripleo or something | |
| 14:01:48 | mnaser | Yeah, well, we have an ansible role that deploys placement only. But we have not integrated the role with our playbooks | |
| 14:01:55 | dansmith | ah, okay | |
| 14:12:31 | mriedem | mdbooth: if you're busy do you care if i add the unit test for https://review.openstack.org/#/c/645546/ ? | |
| 14:14:19 | trident | Hmm. Is trait:CUSTOM_FOO=forbidden set as flavor property expected to work in stable/rocky? I get instances spun up with flavors with that set ending up on resource providers (compute nodes) with that trait set. The other way around seem to work - a flavor with trait:CUSTOM_FOO=required makes instances with that flavor end up on the resource providers with that trait set. | |
| 14:15:51 | mriedem | trident: says it should https://docs.openstack.org/nova/rocky/user/flavors.html | |
| 14:15:58 | mriedem | "Added in the 18.0.0 Rocky release." | |
| 14:16:49 | mdbooth | mriedem: I'd be delighted :) I'm currently working on https://bugs.launchpad.net/nova/+bug/1821373 | |
| 14:16:50 | openstack | Launchpad bug 1821373 in OpenStack Compute (nova) "Most instance actions can be called concurrently" [Undecided,New] | |
| 14:17:52 | trident | mriedem: Yeah, that's what I thought as well, so I am a bit surprised. Didn't really find any bugs that seem relevant either. | |
| 14:17:58 | mriedem | mdbooth: ok will do. another thing was https://review.openstack.org/#/c/551349/ just needs some tweaks i think, but it looks like maybe lyarwood is working that now | |
| 14:18:08 | mriedem | unless lyarwood is stuck in tripleo limbo for the next month | |
| 14:18:27 | openstackgerrit | Sylvain Bauza proposed openstack/nova master: Add doc on VGPU allocs and inventories for nrp https://review.openstack.org/647519 | |
| 14:18:46 | mdbooth | mriedem: He's away this week, but he has taken that patch. | |
| 14:19:29 | mriedem | trident: if it's helpful, here is a functional test that does traits-based scheduling https://github.com/openstack/nova/blob/358776a303b0c5dba3c279f242c82b7a12ff5ce8/nova/tests/functional/test_servers.py#L4451 | |
| 14:20:09 | trident | mriedem: Butt still the API call to placement /allocation_candidates doesn't seem to pass the forbidden trait (which if I understand it correctly should be "required=!CUSTOM_FOO" while it does pass it for the flavor with trait required: "required=CUSTOM_FOO" | |
| 14:21:08 | trident | mriedem: Thanks, I'll keep looking then, just wanted to check that I am not missing anything obvious. | |
| 14:21:33 | mriedem | hmm, looking at the test in there that uses a forbidden trait on a flavor https://github.com/openstack/nova/blob/358776a303b0c5dba3c279f242c82b7a12ff5ce8/nova/tests/functional/test_servers.py#L4824 it doesn't seem like the forbidden trait is actually testing anything useful | |
| 14:22:26 | mriedem | meaning, a better test would be to have something like 2 computes, one with trait CUSTOM_FOO and one without, and disable the one without so we can't schedule there, then schedule with forbidden CUSTOM_FOO and it should have a NoValidHost result, | |
| 14:22:33 | mriedem | but you're saying it sounds like it might just pass | |
| 14:23:42 | trident | mriedem: I'll see what I find continuing the troubleshooting and get back... | |
| 14:24:13 | mriedem | ack, this is the code that builds the GET /allocation_candidates query string fwiw https://github.com/openstack/nova/blob/358776a303b0c5dba3c279f242c82b7a12ff5ce8/nova/scheduler/utils.py#L257 | |
| 14:28:03 | trident | mriedem: Thanks. that's exactly where I am currently looking :) | |
| 15:01:36 | brandor5 | hello everyone: I'm trying to use hypervisor_hostname as a scheduler hint and it's worked in the past but I'm running into issues now... I get a 400 bad request back... anyone have any ideas why that could be? | |
| 15:02:12 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Fix incomplete instance data returned after build failure https://review.openstack.org/645546 | |
| 15:02:14 | mriedem | mdbooth: done ^ | |
| 15:03:47 | mdbooth | mriedem: Thanks! You ought to add a co-authored line, esp considering the tests are longer than the fix :) | |
| 15:04:42 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Fix incomplete instance data returned after build failure https://review.openstack.org/645546 | |
| 15:06:13 | mriedem | melwitt: want to hit ^ when you get a chance? | |
| 15:06:15 | mriedem | goes back to pike | |
| 15:06:48 | mriedem | brandor5: would be helpful if you shared the actual 400 error message | |
| 15:07:15 | brandor5 | mriedem: I'm trying to dig it out, 1 second :) | |
| 15:07:59 | mriedem | scheduler hints are open-ended for the most part, and hypervisor_hostname is not a known hint https://github.com/openstack/nova/blob/358776a303b0c5dba3c279f242c82b7a12ff5ce8/nova/api/openstack/compute/schemas/servers.py#L93 | |
| 15:08:07 | mriedem | so i'm assuming you're using some out of tree scheduler filter for this hint? | |
| 15:08:27 | brandor5 | http://sprunge.us/9pGzX9 | |
| 15:08:37 | mriedem | like forcing to build on a specific baremetal node? | |
| 15:08:44 | brandor5 | exactly | |
| 15:08:51 | mriedem | that doesn't give the error message | |
| 15:08:59 | brandor5 | query: '["=","$hypervisor_hostname","b23bbc4a-9a43-4ed8-b028-43d2aca3a6d7"]' | |
| 15:09:05 | brandor5 | that's the only 400 I see anywhere | |
| 15:09:17 | brandor5 | when i'm running the command | |
| 15:09:26 | mriedem | you don't get an error message on the client side? | |
| 15:09:29 | brandor5 | ansible returns: msg: 'BadRequestException: 400' | |
| 15:09:47 | brandor5 | if I remove the filter from the call it works fine | |
| 15:09:48 | mriedem | there is nothing else in the logs for req-f5f66dc0-8035-4c07-a631-a438fb79ba42 ? | |
| 15:10:07 | mriedem | so you're hitting something with this https://github.com/openstack/nova/blob/358776a303b0c5dba3c279f242c82b7a12ff5ce8/nova/api/openstack/compute/schemas/servers.py#L125 | |
| 15:10:24 | mriedem | i want to say i've heard this reported bfore | |
| 15:10:26 | mriedem | *before | |
| 15:11:13 | brandor5 | nothing else found in the logs with that request | |
| 15:11:32 | brandor5 | the 400 would be coming from nova, correct? | |
| 15:11:37 | brandor5 | I shouldn't be looking down in ironic? | |
| 15:11:46 | mriedem | it's coming from nova | |
| 15:11:57 | brandor5 | that's what I thought | |
| 15:12:34 | mdbooth | Is it worth writing new code whose only consumer would be cellsv1? | |
| 15:12:52 | mriedem | mdbooth: nope | |
| 15:12:58 | mdbooth | Specifically, it looks like the only user of expected_vm_state is cellsv1 | |
| 15:13:13 | mdbooth | i.e. instance.save(expected_vm_state=FOO) | |
| 15:13:15 | mriedem | probably because cells v1 was racy | |
| 15:13:26 | mriedem | syncing state between child and parent cell | |
| 15:13:55 | mdbooth | Ok. It'll look a bit odd to add new expected_task_state code without expected_vm_state code, though, so I'll add a comment | |
| 15:15:53 | mriedem | brandor5: i don't know what would be returning that 400 except the json schema validation code, but that query hint is just marked as a string or object, and you're passing a json string | |
| 15:16:22 | mriedem | the actual query hint isn't used until we hit the JsonFilter scheduler filter, which is long after you'd get that 400 | |
| 15:16:43 | mriedem | so my guess is the request schema validation is somehow puking | |
| 15:16:54 | brandor5 | ok, i'll keep digging and will report back if I figure it out | |
| 15:17:08 | mriedem | i very much doubt we have any functional testing for JsonFilter | |
| 15:17:35 | mriedem | brandor5: i think the last person that had this problem just used availability_zone=nova::b23bbc4a-9a43-4ed8-b028-43d2aca3a6d7 | |
| 15:17:45 | mriedem | the only problem with that is it bypasses the filters and forces to that node | |
| 15:17:55 | brandor5 | that would be okay in this case | |
| 15:18:04 | mriedem | https://docs.openstack.org/nova/latest/admin/availability-zones.html | |
| 15:18:05 | brandor5 | so I'll try that if the thing im about to test doesn't work | |
| 15:18:07 | mriedem | then force away | |
| 15:23:38 | brandor5 | mriedem: it turns out it was a bug in ansible, updating to latest and I don't see that issue now | |
| 15:26:18 | mriedem | huh | |
| 15:26:29 | mriedem | well you made me find our docs are busted at least :) https://bugs.launchpad.net/nova/+bug/1821764 | |
| 15:26:30 | openstack | Launchpad bug 1821764 in OpenStack Compute (nova) "docs: JsonFilter query hint examples do not use valid json strings" [Medium,Triaged] | |
| 15:26:30 | brandor5 | yeah, weird | |
| 15:26:46 | brandor5 | hehe glad to be of assistance :D | |
| 15:28:55 | sean-k-mooney | mriedem: [">=", "$free_ram_mb", 1024] is a vlaid json array | |
| 15:29:21 | mriedem | sean-k-mooney: did you read the bug? | |
| 15:30:08 | sean-k-mooney | im just looking at it but '[">=", "$free_ram_mb", 1024]' is not the same thing as json.loads("[>=,$free_ram_mb,1024]") | |
| 15:30:57 | mriedem | serenity now | |
| 15:32:06 | openstackgerrit | Merged openstack/nova stable/pike: Fix WeighedHost logging regression https://review.openstack.org/641398 | |
| 15:33:48 | sean-k-mooney | oh you are saying its correct in the schduler doc but not in the create server example | |
| 15:34:40 | mriedem | i don't see how what i wrote in the bug report is unclear | |
| 15:36:48 | sean-k-mooney | i was confused by the fact that it was correct in the osc command but not in the api example in the json filter doc | |
| 15:37:46 | sean-k-mooney | i intially looked at it and didnt see teh api example was wrong as my brain just filled in teh missing quots ared the args | |
| 15:38:53 | sean-k-mooney | its why im terible are prof readign my own stuff if i read two things that are almost identical and expect them to be the same i have troble seeign the difference | |
| 15:38:55 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Fix JsonFilter query hint examples in docs https://review.openstack.org/647778 | |
| 15:42:44 | mriedem | ooo dansmith i could use the JsonFilter to schedule directly to a cell, that's fun | |
| 15:43:22 | sean-k-mooney | mriedem: you can you the json filter to do a lot of horribel things | |
| 15:43:57 | dansmith | mriedem: you can probably use it to do all kinds of things | |