| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-03-15 | |||
| 12:42:57 | openstack | Launchpad bug 1819794 in OpenStack Compute (nova) "nova-next job fail on Ubuntu Bionic" [Medium,Confirmed] | |
| 12:42:57 | kashyap | I ask because of this: it seems like a very Ubuntu might've messed something: https://bugs.launchpad.net/nova/+bug/1819794 | |
| 12:43:28 | mriedem | edleafe: some of the stuff in there still applies | |
| 12:43:50 | mriedem | but just stuff like "The recent NUMA features" that was written 3 years ago isn't so recent anymore | |
| 12:44:52 | edleafe | mriedem: it just seems that the bits that are still relevant don't merit a whole page in the docs. It's also a page that needs to be updated frequently | |
| 13:13:58 | openstackgerrit | Merged openstack/nova master: Avoid crashing while getting libvirt capabilities with unknown arch names https://review.openstack.org/643458 | |
| 13:24:03 | openstackgerrit | Matthew Booth proposed openstack/nova master: Fix SSL infinite recursion https://review.openstack.org/626952 | |
| 13:25:11 | openstackgerrit | Matthew Booth proposed openstack/nova master: WIP: Assert that we're monkey patching before importing https://review.openstack.org/643579 | |
| 13:25:24 | efried | mordred: dtantsur asked the question about openstacksdk-in-nova via https://review.openstack.org/#/c/642899/ -- which had to come up again sooner or later. When you have a minute, would you mind summarizing what would be involved in plumbing nova to use it? | |
| 13:26:29 | mordred | yes. happy to | |
| 13:26:33 | mordred | want me to do it on the review? | |
| 13:26:43 | openstackgerrit | Matthew Booth proposed openstack/nova master: DNM: What if we just monkey patched at the top level? https://review.openstack.org/643581 | |
| 13:33:49 | mordred | efried, dtantsur: Also - is this a thing you're wanting to squeeze in to stein? or for train? | |
| 13:34:14 | dtantsur | I'd expect Train to avoid surprises | |
| 13:34:35 | openstack | Launchpad bug 1820283 in OpenStack Compute (nova) "Scheduler Evolution in nova - the doc needs updating" [Medium,Confirmed] | |
| 13:34:35 | mriedem | edleafe: i just reported a bug so i don't lose track of the issues since i don't have time to work on it - those could all be worked as separate changes by interested contributors https://bugs.launchpad.net/nova/+bug/1820283 | |
| 13:35:04 | efried | mordred, dtantsur: Oh, yeah, Train fo sho. This first patch only swaps out one API; the work to hit all of them will be fairly extensive. And possibly warrants a blueprint as well. | |
| 13:35:36 | dtantsur | Which reminds me, I need to implement Baremetal Volume API in openstacksdk.. | |
| 13:35:37 | efried | mordred: Here probably better so I can ask questions (like, "whoah, you're assuming I know way more than I actually do") | |
| 13:35:58 | edleafe | mriedem: thanks for recording that. That page needs either a wholesale rewrite or a proper burial | |
| 13:40:34 | mordred | efried: well crap - I just responded to the patch :) | |
| 13:40:59 | mordred | efried: so maybe read that real quick and we can pick it up here | |
| 13:52:12 | efried | mordred: reading now, thanks. | |
| 13:55:53 | efried | mordred: "translating from service name to service type", like https://github.com/openstack/nova/blob/master/nova/utils.py#L1197-L1202 ? | |
| 13:57:29 | mordred | efried: yes. | |
| 13:57:40 | efried | so - already done \o/ | |
| 13:57:42 | efried | more or less | |
| 13:57:53 | mordred | efried: so - basically what we need is a loop that does what that's doing for all of the service types | |
| 13:58:33 | mordred | efried: and then we need to extract the parameters because the ks_loading.load_auth_from_ ... methods don't make sense in this context | |
| 13:58:41 | mordred | but it would be pretty quick/easy to do | |
| 13:58:57 | mordred | if we're talking train, it should be pretty easy to write the loader method in sdk | |
| 13:59:11 | efried | mordred: And as I understand it, the sdk contains "primitives" that will make e.g. https://review.openstack.org/#/c/642899/9/nova/virt/ironic/client_wrapper.py@101 (the node_get method) redundant and unnecessary. | |
| 13:59:18 | mordred | yes, that's right | |
| 13:59:52 | efried | cool. | |
| 14:00:06 | fried_rice | oh yeah ^ | |
| 14:00:25 | fried_rice | mordred: a little more on ks_loading_load_*_from conversion, if you please? | |
| 14:00:30 | mordred | efried: as a concrete example -- once you have a conn - you can either do conn.baremetal.get() for direct rest, or you can do conn.baremetal.chassis() to get a list of chassis | |
| 14:00:49 | fried_rice | mordred: ack, that makes sense (abstractly). | |
| 14:01:33 | mordred | fried_rice: yeah. sdk *needs* to be the one constructing the adapter, so it needs to consume those parameters as config input | |
| 14:01:42 | fried_rice | mordred: so right now we are, for all services (except maybe cinder?), doing this: https://github.com/openstack/nova/blob/master/nova/conf/ironic.py#L114-L115 | |
| 14:01:49 | mordred | it would be easier for it to also create the session and auth rather than having the ks_loading code do it | |
| 14:02:01 | mordred | yeah - totally - register_ksa_opts should stay | |
| 14:02:32 | fried_rice | so the ksa opts themselves don't change in the conf? That would be convenient. | |
| 14:02:35 | mordred | we just want to make the sdk be able to get its config from the same opts that ksa is defining | |
| 14:02:37 | mordred | yeah | |
| 14:02:53 | fried_rice | Ah nice. This sounds like a pretty low-surface-area change then, from a plumbing perspective. | |
| 14:03:04 | mordred | I *Think* there is a method call we can use to ask ksa what the opts are - so we should be able to be clever and the method should be pretty small | |
| 14:03:07 | mordred | yeah | |
| 14:03:29 | fried_rice | mordred: Yes, see https://github.com/openstack/nova/blob/master/nova/conf/utils.py#L58 | |
| 14:03:31 | mordred | it should be fairly easy - no noticable impact to deployers - and we should be able to delete a bunch of things from nova eventually | |
| 14:03:33 | fried_rice | i.e. we're already doing that. | |
| 14:04:03 | fried_rice | or rather https://github.com/openstack/nova/blob/master/nova/conf/utils.py#L36 | |
| 14:04:04 | mordred | yeah - awesome | |
| 14:04:21 | mordred | I can start a patch to sdk to add the conf loader function | |
| 14:04:31 | fried_rice | nice. | |
| 14:06:16 | mordred | I'm excited about this actually - I think it'll wind up being really helpful in both directions | |
| 14:06:20 | fried_rice | mordred: btw, in case you think this is all just serendipity, you helped me write all of that stuff. | |
| 14:06:38 | fried_rice | this is where you get to say things like, "I love it when a plan comes together". | |
| 14:07:28 | bauzas | internal meeting, in case people were looking at me | |
| 14:07:35 | fried_rice | mordred: agreed, there seems to be a lot of support for "get python-*client out of the way", to the point where I almost wonder whether it should be a Train community goal. | |
| 14:08:10 | fried_rice | mordred: I mean, it can be a U community goal, and that shouldn't stop us doing pieces of it in Train | |
| 14:08:22 | fried_rice | but that would get it more attention | |
| 14:09:31 | mordred | fried_rice: yeah - I thnik if we can get the sdk plumbed in and used in the places you're using adapters now (just the adapters on the sdk connection) | |
| 14:09:59 | mordred | then it'll be pretty easy then to pick off transitions one at a time - since the conn will be available and stuff | |
| 14:15:43 | openstackgerrit | Merged openstack/nova master: add python 3.7 unit test job https://review.openstack.org/610694 | |
| 14:20:01 | fried_rice | mordred: Well, tbh, the only place we're *actually* using the adapter that I know of is for talking to placement. | |
| 14:20:20 | fried_rice | mordred: All the other places we retrofitted to get and adapter so we could use its endpoint to pass to the client constructor and then throw the rest away. | |
| 14:20:40 | fried_rice | s/and adapter/an adapter/ | |
| 14:21:58 | fried_rice | mordred: that being the case, perhaps we could use the placement client (known as SchedulerReportClient) to lead the charge of testing the sdk plumbing. <== cdent | |
| 14:22:33 | cdent | i'd be pro that | |
| 14:22:56 | mordred | ++ | |
| 14:24:17 | fried_rice | mriedem, dansmith: Any foundational/historical/other reasons we shouldn't start doing this? (TLDR Incorporating openstacksdk into nova with the eventual goal of ripping out deps on python-*client and (directly) ksa.) | |
| 14:34:28 | bauzas | fried_rice: CLI is a thing, python bindings is another thing | |
| 14:34:43 | openstackgerrit | Eric Fried proposed openstack/nova master: WIP/PoC: Bypass ironicclient for node.get https://review.openstack.org/642899 | |
| 14:34:58 | bauzas | having a client that's managed by the project teams sounds more maintainable | |
| 14:35:14 | bauzas | with regards to microversions in particular | |
| 14:35:30 | bauzas | I honestly thought about the OSC gap we have atm | |
| 14:35:41 | bauzas | with sean mooney as well | |
| 14:36:00 | fried_rice | bauzas: Sorry, I don't follow. Are you suggesting we keep python-*client in the mix?? | |
| 14:36:12 | bauzas | and we wonder whether we could just use the plugin interface of OSC for having our microversions support *in-tree* | |
| 14:37:10 | fried_rice | forget CLI for the moment; I'm talking about e.g. nova talking to ironic via openstacksdk rather than through python-ironicclient | |
| 14:37:22 | bauzas | fried_rice: IIRC we said in the past that we could probably one day have an OSC CLI which'd be using novaclient python PAI | |
| 14:37:26 | bauzas | API* | |
| 14:37:50 | bauzas | fried_rice: yup, got it | |
| 14:38:10 | bauzas | the problem is that we don't have support for OSC microversions. In what openstacksdk would change this ? | |
| 14:38:27 | bauzas | pardon my french | |
| 14:38:39 | bauzas | I mean 'we don't have OSC supporting nova API microversions' | |
| 14:40:26 | fried_rice | bauzas: forget OSC for the moment. | |
| 14:41:11 | fried_rice | Is there a reason we shouldn't rip out nova's dep on the pythot-ironicclient lib (see nova/virt/ironic/client_wrapper.py) | |
| 14:41:43 | fried_rice | s/pythot/python/ wow | |
| 14:44:52 | bauzas | fried_rice: is there a feature parity between ironicclient and openstacksdk ? | |
| 14:46:02 | bauzas | at least for compute, I can't see it https://docs.openstack.org/openstacksdk/latest/user/guides/compute.html | |
| 14:46:03 | fried_rice | bauzas: For many if not all of the APIs - creepy_owlet could answer that - but even if there's a specific API missing, we can use the adapter.get/put/post/delete primitives | |
| 14:46:55 | fried_rice | ...which is what I was starting to do (via ksa directly as opposed to sdk) via https://review.openstack.org/642899 which started this discussion. | |
| 14:48:13 | bauzas | I'm confused, I thought we were talking about the potential TC goal for Train | |
| 14:49:02 | bauzas | my sole take on using other clients but the project ones is that we need to make sure those projects take ownerships of their respective parts | |
| 14:49:54 | fried_rice | bauzas: Right, we're specifically *not* talking about the current community goal. We're talking about a potential future community goal that's similar, but different. Namely: stop using python-*client from *services* (as opposed to CLIs). | |
| 14:50:49 | mordred | fried_rice: https://review.openstack.org/643601 WIP Make factory for a CloudRegion from CONF objects | |
| 14:51:27 | fried_rice | mordred: ack | |
| 14:51:30 | mordred | fried_rice: that's probably 95% there - obviously needs tests and whatnot - but that's the overall idea | |