On 4/8/2019 11:37 AM, Chris Dent wrote:
* It is behind (in microversions) and sometimes hard to remember
Part of this is on the core team IMO. For nova compute API microversion changes we also require a corresponding change in python-novaclient since the client is capped at the microversion it supports, and that is used when doing version negotiation with the server to determine the default version to use for the CLI (which is a different behavior from openstack CLI which just defaults to 2.1 for everything). Anyway, the point is, we/I haven't considered a nova blueprint which adds a microversion as complete until the python-novaclient change is also merged. osc-placement has sort of missed this because of an out of sight / out of mind kind of situation. With StoryBoard tracking placement features we could definitely track something like the server side work in placement itself as a task and the osc-placement related change as another task, so the overall story isn't complete until both parts are done (or the CLI task is invalidated for whatever reason - not all microversions require CLI changes). Anyway, from a project management standpoint, it always helped me to know which nova blueprints weren't done yet because they still needed the CLI changes and then follow up on those.
* It's functional tests require a working devstack, which is a bit meh
I'm not familiar with vcrpy but a simple improvement if we're worried about the time it takes to spin up devstack for these functional jobs is simply trim down the list of enabled services in the devstack run. By default devstack is running with most everything [1] - for these tests we should be able to just enable keystone and placement. Granted I think devstack-gate modifies ENABLED_SERVICES a bit but you get the idea: we don't need glance/cinder/nova/neutron/etcd/tempest/horizon enabled in devstack for osc-placement functional tests. [1] https://github.com/openstack-dev/devstack/blob/a6e4e42fb3461b61e91ae63477462... -- Thanks, Matt