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,
|
||||
_DEFAULT_API_VERSION)
|
||||
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):
|
||||
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
|
||||
|
||||
|
||||
|
@ -633,6 +633,12 @@ class TestApiVersions(BaseAPITest):
|
||||
self.assertIn('%d.%d' % main.MINIMUM_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):
|
||||
@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…
Reference in New Issue
Block a user