should novaclient expect nova endpoints as computeV3 or computeV21
Running with Juno, I have defined a 'V3' Nova API extension and I'm now trying to add the corresponding python-novaclient extension to go with this. From a Nova point of view the 'V3' extension is actually 2.1 and the endpoint is registered as such - computeV21. From a novaclient point of view, the os-compute-api-version to endpoint mapping options are:
'1.1': 'compute', '2': 'compute', '3': 'computev3'
As it is, a novaclient will never find a valid endpoint for a 'V3' extension as it will be looking for a 'computeV3' endpoint that does not exist. Should the '3' mapping not be specifying 'computev21
'? ... or did I misunderstand the "Nova v3 is 2.1" thing and their should be a 'computeV3' endpoint?
Edit:
Two workarounds I have found include:
- Change Mapping :
'3': 'computev21'
Use decorator to specify service_type:
@utils.arg('--service_type', dest="service_type", default='computev21', metavar='<servicetype>', help='Compute API version.') # or perhaps better yet ... @cliutils.service_type('computev21')