[openstack-dev] [nova] [placement] experimenting with extracting placement

Matt Riedemann mriedemos at gmail.com
Tue Mar 14 15:27:59 UTC 2017

On 3/13/2017 9:14 AM, Sylvain Bauza wrote:
> To be honest, one of the things I think we're missing yet is a separate
> client that deployers would package so that Nova and other customer
> projects would use for calling the Placement API.
> At the moment, we have a huge amount of code in nova.scheduler.report
> module that does smart things and I'd love to see that being in a
> separate python package (maybe in the novaclient repo, or something
> else) so we could ask deployers to package *that only*
> The interest in that is that it wouldn't be a separate service project,
> just a pure client package at a first try, and we could see how to cut
> placement separately the cycle after that.
> -Sylvain

We talked about the need, or lack thereof, for a python API client in 
the nova IRC channel today and decided that for now, services should 
just be using a minimal in-tree pattern using keystoneauth to work with 
the placement API. Nova and Neutron are already doing this today. There 
might be common utility code that comes out of that at some point which 
could justify a placement-lib, but let's determine that after more 
projects are using the service, like Cinder and Ironic.

We also agreed to not create a python-placementclient type package that 
mimics novaclient and has a python API binding. We want API consumers to 
use the REST API directly which forces us to have a clean and 
well-documented API, rather than hiding warts within a python API 
binding client package.

We did agree to provide an openstackclient plugin purely for CLI 
convenience. That would be in a separate repo, not part of nova or 
novaclient. I've started a blueprint [1] for tracking that work. *The 
placement osc plugin blueprint does not currently have an owner.* If 
this is something someone is interested in working on, please let me know.

[1] https://blueprints.launchpad.net/nova/+spec/placement-osc-plugin




More information about the OpenStack-dev mailing list