[openstack-dev] [nova] [placement] experimenting with extracting placement
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.
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  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.
More information about the OpenStack-dev