Browse Source

Merge "[placement] Add status and links fields to version document at /" into stable/queens

changes/36/758736/1
Zuul 6 months ago
committed by Gerrit Code Review
parent
commit
78ac573a6c
5 changed files with 37 additions and 1 deletions
  1. +12
    -0
      nova/api/openstack/placement/handlers/root.py
  2. +2
    -0
      nova/tests/functional/api/openstack/placement/gabbits/microversion.yaml
  3. +8
    -1
      placement-api-ref/source/get-root.json
  4. +13
    -0
      placement-api-ref/source/parameters.yaml
  5. +2
    -0
      placement-api-ref/source/root.inc

+ 12
- 0
nova/api/openstack/placement/handlers/root.py View File

@ -32,6 +32,18 @@ def home(req):
'id': 'v%s' % min_version,
'max_version': max_version,
'min_version': min_version,
# for now there is only ever one version, so it must be CURRENT
'status': 'CURRENT',
'links': [{
# Point back to this same URL as the root of this version.
# NOTE(cdent): We explicitly want this to be a relative-URL
# representation of "this same URL", otherwise placement needs
# to keep track of proxy addresses and the like, which we have
# avoided thus far, in order to construct full URLs. Placement
# is much easier to scale if we never track that stuff.
'rel': 'self',
'href': '',
}],
}
version_json = jsonutils.dumps({'versions': [version_data]})
req.response.body = encodeutils.to_utf8(version_json)


+ 2
- 0
nova/tests/functional/api/openstack/placement/gabbits/microversion.yaml View File

@ -22,6 +22,8 @@ tests:
$.versions[0].max_version: /^\d+\.\d+$/
$.versions[0].min_version: /^\d+\.\d+$/
$.versions[0].id: v1.0
$.versions[0].status: CURRENT
$.versions[0].links[?rel = 'self'].href: ''
- name: unavailable microversion raises 406
GET: /


+ 8
- 1
placement-api-ref/source/get-root.json View File

@ -3,7 +3,14 @@
{
"min_version" : "1.0",
"id" : "v1.0",
"max_version" : "1.2"
"max_version" : "1.17",
"status": "CURRENT",
"links": [
{
"href": "",
"rel": "self"
}
]
}
]
}

+ 13
- 0
placement-api-ref/source/parameters.yaml View File

@ -416,6 +416,12 @@ version_id:
required: true
description: >
A common name for the version being described. Informative only.
version_links:
type: array
in: body
required: true
description: >
A list of links related to and describing this version.
version_max:
type: string
in: body
@ -428,6 +434,13 @@ version_min:
required: true
description: >
The minimum microversion that is supported.
version_status:
type: string
in: body
required: true
description: >
The status of the version being described. With placement this is
"CURRENT".
versions:
type: array
in: body


+ 2
- 0
placement-api-ref/source/root.inc View File

@ -41,6 +41,8 @@ Response
- id: version_id
- min_version: version_min
- max_version: version_max
- status: version_status
- links: version_links
Response Example
----------------


Loading…
Cancel
Save