[cyborg][nova][sdk]Cyborgclient integration

Eric Fried openstack at fried.cc
Thu May 23 19:09:57 UTC 2019

> We need changes in Cyborg CLI for version 2 (which enables Nova integration, and introduces new objects in the process). New CLIs are supposed to be based on OpenStackClient [1]. Not sure if that is mandatory, but seems like a good idea if we have to redo significant parts of the CLI anyway.


> The CLI from python-cyborgclient is based on the OpenStack CLI syntax. However, AFAICS, it is not a plugin into OSC. For example, it does not do "from openstackclient import shell". The list of OpenStack CLI plugins [3] does not include Cyborg.
> Does this mean that python-cyborgclient should be rewritten as an OSC plugin?

Ultimately yes*. Both can exist concurrently, so for the sake of not
accruing further technical debt, you might consider starting the OSC
plugin piece with v2 and porting v1 functionality gradually/later. (Or
maybe not at all. Is the v1 API a real thing that's going to be
maintained long term?) Eventually the goal would be to retire the
non-OSC CLI pieces.

*or starting a new osc-cyborg project for the plugin

> IIUC, the push towards OpenStack SDK [4] is unrelated to OpenStack CLI. It becomes relevant only if some other service wants to call into Cyborg.

Agreed. I think the overlap is that a given OSC plugin can (with at
least an undercurrent of "should") use the SDK. Since cyborg is starting
both OSC and v2 from scratch, I would definitely say write the OSC code
to talk through SDK.


More information about the openstack-discuss mailing list