Update patch set 5

Patch Set 5:

(5 comments)

Patch-set: 5
Attention: {"person_ident":"Gerrit User 7166 \u003c7166@4a232e18-c5a9-48ee-94c0-e04e7cca6543\u003e","operation":"ADD","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change"}
Attention: {"person_ident":"Gerrit User 15334 \u003c15334@4a232e18-c5a9-48ee-94c0-e04e7cca6543\u003e","operation":"REMOVE","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change"}
This commit is contained in:
Gerrit User 15334 2024-03-28 17:22:48 +00:00 committed by Gerrit Code Review
parent bb93fb2654
commit 99aad33ead
1 changed files with 90 additions and 0 deletions

View File

@ -34,6 +34,24 @@
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "46906d4b_1d5497de",
"filename": "specs/2024.2/approved/openapi.rst",
"patchSetId": 5
},
"lineNbr": 214,
"author": {
"id": 15334
},
"writtenOn": "2024-03-28T17:22:48Z",
"side": 1,
"message": "Many of our actions do no validation of the value. For example, this is currently completely valid:\n\n```\nPOST /servers/123/action\n{\n \"pause\": {\n \"foo\": \"bar\",\n \"wow\": [\"this should not be allowed, surely\"]\n }\n}\n```\n\nMy plan is add very loose schemas that continue to allow this (i.e. effectively empty schemas for now), with the idea being that we could (could, not must) tighten them up in a future microversion. That tightening up of the schema is explicitly out-of-scope of this effort.\n\nIn addition, many of the deprecated and removed APIs have no schemas. This isn\u0027t a big deal right now - they\u0027re deprecated/removed - but it does matter from a schema generation (and therefore client and doc generation) perspective.\n\nThese gaps will be obvious once I push up patches, given I am adding tests to validate that all `POST` actions are decorated correctly (see below). I can list them here but hopefully you can take my word on this (and my explanation above).",
"parentUuid": "1cafeecf_b3b40797",
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -51,6 +69,24 @@
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "72ed7f81_eb601d27",
"filename": "specs/2024.2/approved/openapi.rst",
"patchSetId": 5
},
"lineNbr": 216,
"author": {
"id": 15334
},
"writtenOn": "2024-03-28T17:22:48Z",
"side": 1,
"message": "While query strings are possible for all HTTP methods, we only use them for `GET` requests. So this means every `index`, `detail` and `show` method that doesn\u0027t currently have a `validation.query_schema` decorator. As above, I _could_ list these but as I am including a test to make sure all methods that accept `GET` request are decorated, I\u0027d rather not if that\u0027s okay.",
"parentUuid": "1d41b781_1b337908",
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -68,6 +104,24 @@
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "6d841a24_d32b8dac",
"filename": "specs/2024.2/approved/openapi.rst",
"patchSetId": 5
},
"lineNbr": 218,
"author": {
"id": 15334
},
"writtenOn": "2024-03-28T17:22:48Z",
"side": 1,
"message": "We currently have no schemas for response bodies (or anything else in the response), so this will apply to every API and action we have.",
"parentUuid": "f3a696ec_7a703812",
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -85,6 +139,24 @@
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "746b6624_bfab33e2",
"filename": "specs/2024.2/approved/openapi.rst",
"patchSetId": 5
},
"lineNbr": 220,
"author": {
"id": 15334
},
"writtenOn": "2024-03-28T17:22:48Z",
"side": 1,
"message": "~~I don\u0027t understand. Could you rephrase? Another tool for what?~~\n\nLater: Oh, you\u0027re asking what we do next once we have added all these schemas? After that we will need a tool that will inspect our `Router`, extract the schemas for each path+method(+action), and spit out an openapi spec that uses all these schemas combined. I haven\u0027t included this step here yet since I\u0027m still not certain where this tool will live and I don\u0027t want to lie. While the Sphinx extension and code generator should definitely *not* live in Nova (since it\u0027s broadly applicable), the code to generate the schema file _could_. I\u0027d like to discuss this at the PTG and I suspect the decision on where it lives will be based on our ability to use similar tooling across Nova, Cinder, Glance, etc. In any case, this shouldn\u0027t stop us pushing ahead with adding schemas since we will eventually be able to use them _somehow_.",
"parentUuid": "c22a6926_fdbe191c",
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -101,6 +173,24 @@
"message": "Well, I\u0027d like to make sure that our dependency would be an important service used by all of the projects and where we are some team for it.",
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "0d6bdfa7_53cb578c",
"filename": "specs/2024.2/approved/openapi.rst",
"patchSetId": 5
},
"lineNbr": 230,
"author": {
"id": 15334
},
"writtenOn": "2024-03-28T17:22:48Z",
"side": 1,
"message": "I don\u0027t understand. Could you rephrase?",
"parentUuid": "eb7fa1de_0e0ea052",
"revId": "7fde79a92c2c6eb5d2df578f7835711e9a4de1f6",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
}
]
}