Browse Source

Merge "api: Set min, maxItems for server_group.policies field" into stable/train

tags/20.4.1
Zuul 3 months ago
committed by Gerrit Code Review
parent
commit
c718cf445d
3 changed files with 22 additions and 9 deletions
  1. +11
    -7
      nova/api/openstack/compute/schemas/server_groups.py
  2. +1
    -2
      nova/tests/functional/regressions/test_bug_1894966.py
  3. +10
    -0
      releasenotes/notes/bug-1894966-d25c12b1320cb910.yaml

+ 11
- 7
nova/api/openstack/compute/schemas/server_groups.py View File

@@ -11,6 +11,7 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

import copy

from nova.api.validation import parameter_types
@@ -27,15 +28,18 @@ create = {
'name': parameter_types.name,
'policies': {
# This allows only a single item and it must be one of the
# enumerated values. So this is really just a single string
# value, but for legacy reasons is an array. We could
# probably change the type from array to string with a
# microversion at some point but it's very low priority.
# enumerated values. It's changed to a single string value
# in 2.64.
'type': 'array',
'items': [{
'type': 'string',
'enum': ['anti-affinity', 'affinity']}],
'items': [
{
'type': 'string',
'enum': ['anti-affinity', 'affinity'],
},
],
'uniqueItems': True,
'minItems': 1,
'maxItems': 1,
'additionalItems': False,
}
},


+ 1
- 2
nova/tests/functional/regressions/test_bug_1894966.py View File

@@ -37,5 +37,4 @@ class TestCreateServerGroupWithEmptyPolicies(
client.OpenStackApiException,
self.api.post_server_groups,
{'name': 'test group', 'policies': []})
# FIXME(stephenfin): This should not be a 500 error
self.assertEqual(500, exc.response.status_code)
self.assertEqual(400, exc.response.status_code)

+ 10
- 0
releasenotes/notes/bug-1894966-d25c12b1320cb910.yaml View File

@@ -0,0 +1,10 @@
---
fixes:
- |
Resolved an issue whereby providing an empty list for the ``policies``
field in the request body of the ``POST /os-server-groups`` API would
result in a server error. This only affects the 2.1 to 2.63 microversions,
as the 2.64 microversion replaces the ``policies`` list field with a
``policy`` string field. See `bug #1894966`__ for more information.

.. __: https://bugs.launchpad.net/nova/+bug/1894966

Loading…
Cancel
Save