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.
+1
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. efried .