[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:
https://docs.openstack.org/releasenotes/python-novaclient/queens.html#id2
python-openstackclient was using some of those python API bindings from
novaclient which now no longer work:
https://bugs.launchpad.net/python-openstackclient/+bug/1745795
I've at least identified where the broken code is:
https://review.openstack.org/#/c/538539/
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):
https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id39
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?
--
Thanks,
Matt
More information about the OpenStack-dev
mailing list