Earlier  
Posted Nick Remark
#openstack-nova - 2019-03-15
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
14:52:22 mordred fried_rice: I think - because nova supports people having different accounts for different services, for now we should keep the existing model and have your nova code load session and auth plugin and pass them in - and we'll do one-connection-per-service - even though that's ultimately a little strange
14:52:44 fried_rice mordred: okay, I was wondering about that.
14:52:46 mordred fried_rice: but fits with the consumption model better so we can keep things as it is
14:53:06 mordred then, later, we can talk about whether it makes sense to think about it differently
14:54:49 mordred fried_rice: anyway - I've got a call now, so I'll have to come back to it -but I don't think it'll be super hard to get a working poc based on that
14:55:02 fried_rice ack
14:56:31 creepy_owlet bauzas: there is no feature parity overall, but most of things needed for Nova are there.
14:57:04 creepy_owlet One missing is Volume API, but it should be easy to introduce now that we have all basic bits in place.
14:57:34 mordred and it woudl be good all around to get that added to sdk anyway, so the work would be generally useful
14:58:15 creepy_owlet exactly
14:58:43 creepy_owlet FYI I'd like to start Train with replacing ironicclient with openstacksdk in ironic-inspector
14:58:54 creepy_owlet metalsmith is already 100% openstacksdk
14:59:28 openstackgerrit Eric Fried proposed openstack/nova master: Remove [ironic]api_endpoint option https://review.openstack.org/643483
15:16:46 melwitt aspiers: heya, was wondering if you're up for writing up a doc for https://review.openstack.org/538498 for rc1? L38 https://etherpad.openstack.org/p/nova-stein-rc-potential
15:19:48 mriedem fried_rice: i was out, but i have an answer, sec
15:20:39 mriedem fried_rice: i mentioned historical context in the community wide goal about sdk usage in server projects and dtroyer replied https://review.openstack.org/#/c/639376/4/goals/train/osc.rst@33
15:20:52 mriedem tl;dr is it used to be heavyweight to use the sdk
15:20:59 mriedem now it's not so much so we should be ok to use if we want
15:26:28 mriedem but i see dmitry and monty already told you all this
15:40:51 openstackgerrit Matt Riedemann proposed openstack/nova master: Remove stale aggregates notes from scheduler evolution doc https://review.openstack.org/643613
15:40:54 mriedem bauzas: edleafe: ^
15:44:55 edleafe mriedem: so is the plan for the evolution doc to remove piece-by-piece instead of all at once?
15:44:58 openstackgerrit Matt Riedemann proposed openstack/nova master: Remove "Fixing the Scheduler DB model" from schedule evolution doc https://review.openstack.org/643615
15:45:08 mriedem edleafe: some of it needs re-wording,
15:45:12 mriedem it's not all removal
15:45:23 edleafe mriedem: ah, ^^ answers that
15:45:30 mriedem and i'd rather not try to bite off re-writing that entire thing in a single change because (1) i don't have the time and (2) people probably don't want to review it
15:45:50 mriedem so i'm just killing some time before lunch by hitting the low hanging fruit
15:49:54 openstackgerrit Merged openstack/nova stable/queens: Provide a useful error message when trying to update non-compute services https://review.openstack.org/638803
15:51:20 mriedem melwitt: want to hit this for rocky https://review.openstack.org/#/c/643173/
15:51:45 openstackgerrit Merged openstack/nova stable/queens: Fix incompatible version handling in BuildRequest https://review.openstack.org/634439
15:51:51 melwitt mriedem: sure
15:52:21 openstackgerrit Matt Riedemann proposed openstack/nova stable/rocky: Fix resetting non-persistent fields when saving obj https://review.openstack.org/643215

Earlier   Later