[openstack-dev] [nova][osc] How to deal with add/remove fixed/floating CLIs after novaclient 10.0.0?

Matt Riedemann mriedemos at gmail.com
Tue Jan 30 15:15:11 UTC 2018

The 10.0.0 release of python-novaclient dropped some deprecated CLIs and 
python API bindings for the server actions to add/remove fixed and 
floating IPs:


python-openstackclient was using some of those python API bindings from 
novaclient which now no longer work:


I've at least identified where the broken code is:


The question I'm struggling with is how to resolve this in OSC. We can't 
just remove the CLIs without a deprecation period. I thought about doing 
something similar to the proxy orchestration that the compute API does 
for these actions, but that gets a bit complicated in OSC if we are 
going to make the CLI support both nova-network and neutron. 
Furthermore, if we did still support nova-network in those CLIs, the 
novaclient python API bindings are gone, so OSC would have to do 
something different - likely make it's own REST API calls to the compute 
API at a low enough microversion where those APIs still exist (<=2.43):


So if we had to make a straight up REST API call to the compute endpoint 
anyway for the CLIs to still work, it seems easiest to just do that for 
now in both the nova-network and neutron cases. OSC CLI would make a 
request to the compute API on a microversion <= 2.43 and the compute 
service does the proxy work (albeit deprecated). In the OSC CLI, we 
could dump a deprecation warning if you're using these with nova-network 
since that is deprecated and the plan is in Rocky to drop support for 
nova-network altogether. Users of OSC could still be using newer 
versions of the client with older clouds that still run nova-network, 
but the deprecation timer would at least be set.

Are there other options here? Or some other precedent for a situation 
like this?




More information about the OpenStack-dev mailing list