Support latest as the microversion value
Adds support to use latest as the microversion value. When set to latest, the maximum version is assumed by ironic-inspector. Story: 1672400 Task: 11363 Change-Id: I35be1034697a7d69ed30af9542d9711fb2f65bd0
This commit is contained in:
parent
34b150340c
commit
04ee0bc031
@ -49,10 +49,13 @@ def _get_version():
|
|||||||
ver = flask.request.headers.get(conf_opts.VERSION_HEADER,
|
ver = flask.request.headers.get(conf_opts.VERSION_HEADER,
|
||||||
_DEFAULT_API_VERSION)
|
_DEFAULT_API_VERSION)
|
||||||
try:
|
try:
|
||||||
requested = tuple(int(x) for x in ver.split('.'))
|
if ver.lower() == 'latest':
|
||||||
|
requested = CURRENT_API_VERSION
|
||||||
|
else:
|
||||||
|
requested = tuple(int(x) for x in ver.split('.'))
|
||||||
except (ValueError, TypeError):
|
except (ValueError, TypeError):
|
||||||
return error_response(_('Malformed API version: expected string '
|
return error_response(_('Malformed API version: expected string '
|
||||||
'in form of X.Y'), code=400)
|
'in form of X.Y or latest'), code=400)
|
||||||
return requested
|
return requested
|
||||||
|
|
||||||
|
|
||||||
|
@ -633,6 +633,12 @@ class TestApiVersions(BaseAPITest):
|
|||||||
self.assertIn('%d.%d' % main.MINIMUM_API_VERSION, error)
|
self.assertIn('%d.%d' % main.MINIMUM_API_VERSION, error)
|
||||||
self.assertIn('%d.%d' % main.CURRENT_API_VERSION, error)
|
self.assertIn('%d.%d' % main.CURRENT_API_VERSION, error)
|
||||||
|
|
||||||
|
def test_request_latest_version(self):
|
||||||
|
headers = {conf_opts.VERSION_HEADER: 'latest'}
|
||||||
|
res = self.app.get('/', headers=headers)
|
||||||
|
self.assertEqual(200, res.status_code)
|
||||||
|
self._check_version_present(res)
|
||||||
|
|
||||||
|
|
||||||
class TestPlugins(unittest.TestCase):
|
class TestPlugins(unittest.TestCase):
|
||||||
@mock.patch.object(example_plugin.ExampleProcessingHook,
|
@mock.patch.object(example_plugin.ExampleProcessingHook,
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Adds support to use ``latest`` as the microversion value in the request
|
||||||
|
to the ironic-inspector API.
|
Loading…
x
Reference in New Issue
Block a user