governance/ff3620f6a97325417df544a599d...

737 lines
28 KiB
Plaintext

{
"comments": [
{
"unresolved": true,
"key": {
"uuid": "9edd0352_fcb3abaf",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 122,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "nitty nit: double \"at\"",
"range": {
"startLine": 122,
"startChar": 9,
"endLine": 122,
"endChar": 15
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "b4c3901a_3d5a1b69",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 122,
"author": {
"id": 13252
},
"writtenOn": "2023-12-22T08:59:01Z",
"side": 1,
"message": "Done",
"parentUuid": "9edd0352_fcb3abaf",
"range": {
"startLine": 122,
"startChar": 9,
"endLine": 122,
"endChar": 15
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "cb1246cd_e758f56b",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 168,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "components",
"range": {
"startLine": 168,
"startChar": 41,
"endLine": 168,
"endChar": 52
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "6ee31815_5faa3c75",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 168,
"author": {
"id": 13252
},
"writtenOn": "2023-12-22T08:59:01Z",
"side": 1,
"message": "Done",
"parentUuid": "cb1246cd_e758f56b",
"range": {
"startLine": 168,
"startChar": 41,
"endLine": 168,
"endChar": 52
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "e7a591ef_a489ceb4",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 177,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "described",
"range": {
"startLine": 177,
"startChar": 4,
"endLine": 177,
"endChar": 13
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "5afefae3_5302bb16",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 177,
"author": {
"id": 13252
},
"writtenOn": "2023-12-22T08:59:01Z",
"side": 1,
"message": "Done",
"parentUuid": "e7a591ef_a489ceb4",
"range": {
"startLine": 177,
"startChar": 4,
"endLine": 177,
"endChar": 13
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "572e51c3_7ec8556b",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 205,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "problem for",
"range": {
"startLine": 205,
"startChar": 9,
"endLine": 205,
"endChar": 19
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "ac1246d5_e08ad299",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 205,
"author": {
"id": 13252
},
"writtenOn": "2023-12-22T08:59:01Z",
"side": 1,
"message": "Done",
"parentUuid": "572e51c3_7ec8556b",
"range": {
"startLine": 205,
"startChar": 9,
"endLine": 205,
"endChar": 19
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "e956b738_85ed8d92",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 261,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "do we want to set any deadline to try to reach out to the current maintainers? When we should say \"ok, we tried but they didn\u0027t respond at all so we need to fork it\"?",
"range": {
"startLine": 259,
"startChar": 0,
"endLine": 261,
"endChar": 32
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "74bfe0b3_2d4e8806",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 261,
"author": {
"id": 28522
},
"writtenOn": "2023-12-22T15:57:49Z",
"side": 1,
"message": "I added some sort of deadlines, let me know if they match your expectations.",
"parentUuid": "e956b738_85ed8d92",
"range": {
"startLine": 259,
"startChar": 0,
"endLine": 261,
"endChar": 32
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "cc9b068c_8c43c989",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 261,
"author": {
"id": 28522
},
"writtenOn": "2024-02-21T09:57:47Z",
"side": 1,
"message": "Done",
"parentUuid": "74bfe0b3_2d4e8806",
"range": {
"startLine": 259,
"startChar": 0,
"endLine": 261,
"endChar": 32
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "d36824d3_cdb38ddd",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 281,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "fork",
"range": {
"startLine": 281,
"startChar": 15,
"endLine": 281,
"endChar": 18
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "d50d8844_c2ef77d4",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 281,
"author": {
"id": 13252
},
"writtenOn": "2023-12-22T08:59:01Z",
"side": 1,
"message": "Done",
"parentUuid": "d36824d3_cdb38ddd",
"range": {
"startLine": 281,
"startChar": 15,
"endLine": 281,
"endChar": 18
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "2be76bc5_d6400287",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 303,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "what will be default Python version in Ubuntu 24.04? Is it known already?",
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "dee99474_b1422e27",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 303,
"author": {
"id": 28522
},
"writtenOn": "2023-12-06T14:35:50Z",
"side": 1,
"message": "Apparently 3.11 and 3.12 https://launchpad.net/ubuntu/noble/+package/python3-all",
"parentUuid": "2be76bc5_d6400287",
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "afa0154b_f40e1b6b",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 303,
"author": {
"id": 13252
},
"writtenOn": "2023-12-22T08:59:01Z",
"side": 1,
"message": "that will be the available versions. afaict the default will still be 3.11? https://launchpad.net/ubuntu/noble/+package/python3\n\nbut also I think we have pretty good chances now that this option won\u0027t be needed, as it would have strong effects on at least Debian and Fedora.",
"parentUuid": "dee99474_b1422e27",
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "7838067d_0f2a90ec",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 303,
"author": {
"id": 28522
},
"writtenOn": "2023-12-22T15:45:06Z",
"side": 1,
"message": "ok",
"parentUuid": "afa0154b_f40e1b6b",
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "a4d1ba64_62c5616d",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 404,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "practically speaking IMHO most problematic may be not \"big\" components like Nova but smaller ones which aren\u0027t really well maintained. I think we will need to set some deadline for that at some point (not now of course), otherwise we will never reach the point where everything is using only asyncio and oslo.aiohub can be retired",
"range": {
"startLine": 402,
"startChar": 3,
"endLine": 404,
"endChar": 30
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "0131b871_750f4fcd",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 404,
"author": {
"id": 28522
},
"writtenOn": "2023-12-06T14:35:50Z",
"side": 1,
"message": "good point",
"parentUuid": "a4d1ba64_62c5616d",
"range": {
"startLine": 402,
"startChar": 3,
"endLine": 404,
"endChar": 30
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "ee726623_e6acb199",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 404,
"author": {
"id": 28522
},
"writtenOn": "2023-12-22T15:57:49Z",
"side": 1,
"message": "done",
"parentUuid": "0131b871_750f4fcd",
"range": {
"startLine": 402,
"startChar": 3,
"endLine": 404,
"endChar": 30
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "cf24d547_ece7bf99",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 487,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "wouldn\u0027t it be too much work for infra team to actually create so many new repositories?",
"range": {
"startLine": 487,
"startChar": 3,
"endLine": 487,
"endChar": 22
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "df9ba4e3_2acacc20",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 487,
"author": {
"id": 28522
},
"writtenOn": "2023-12-06T14:35:50Z",
"side": 1,
"message": "As the migration rely mainly on human resources, I don\u0027t think we have to fork everything at the same time, the forks could be created one at time, when people start migrating one specific deliverable. In other words, one or a couple of deliverable at time for a given team, depending on the free human resources related to this team.",
"parentUuid": "cf24d547_ece7bf99",
"range": {
"startLine": 487,
"startChar": 3,
"endLine": 487,
"endChar": 22
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "4b72ccab_b4762855",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 487,
"author": {
"id": 11604
},
"writtenOn": "2023-12-20T19:55:25Z",
"side": 1,
"message": "for some libs like os-vif we already have a policy of never directly calling eventlet. i belive the same was or should eb true ro os-brick.\n\nso i dont thnk we will need to fork many libs.\n\nbut i also dont th9ink forking is the best approch here\nif we can supprot both modes of operation in the same code base we should for the openstack libs.",
"parentUuid": "df9ba4e3_2acacc20",
"range": {
"startLine": 487,
"startChar": 3,
"endLine": 487,
"endChar": 22
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "81020537_8a661fd5",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 487,
"author": {
"id": 27615
},
"writtenOn": "2023-12-26T15:23:30Z",
"side": 1,
"message": "that\u0027s correct, os-brick doesn\u0027t import/use eventlet directly",
"parentUuid": "4b72ccab_b4762855",
"range": {
"startLine": 487,
"startChar": 3,
"endLine": 487,
"endChar": 22
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "2d85664a_3ce28c88",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 487,
"author": {
"id": 28522
},
"writtenOn": "2024-02-21T09:57:47Z",
"side": 1,
"message": "Done",
"parentUuid": "81020537_8a661fd5",
"range": {
"startLine": 487,
"startChar": 3,
"endLine": 487,
"endChar": 22
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "f4557034_82026c50",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 501,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "and even more with this optional step",
"range": {
"startLine": 501,
"startChar": 3,
"endLine": 501,
"endChar": 33
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "678b5c45_dd37403c",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 501,
"author": {
"id": 11604
},
"writtenOn": "2023-12-20T19:55:25Z",
"side": 1,
"message": "forking nova is not something that is goingto happen imo\n\nwe need a way to opt into one or the other modle\n\nwaht that might mean is providing 2 console script entry points \n\nnova-compute would becoem\n\nnova-compute, nova-compute-eventlet and nova-comptue-asyncio\nwith nova-comptue initally being an alias for nova-compute-eventlet\n\n\nalternitivly we could supprot the diffent code paths via config options or envionement variabels.\n\nit reallly depend on what the incremental improment looks like.\n\nif we fork however we are going to have the python2 python 3 problem of on going code devleopemtn happing in both in parallel\n\nin my view that will make this unacivhable and fork our comunity so i dont think this is a good approch to take at all.",
"parentUuid": "f4557034_82026c50",
"range": {
"startLine": 501,
"startChar": 3,
"endLine": 501,
"endChar": 33
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "03f55f41_20cd4953",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 501,
"author": {
"id": 28522
},
"writtenOn": "2023-12-21T15:07:20Z",
"side": 1,
"message": "Thanks Sean for your feedback, your perspective is really interesting. I agree with you. I\u0027ll try to rework my proposal to adapt to your proposed solution.\n\nHow do you think we can know if a service like nova is fully migrated? In other words, how do you think we can measure the advancement of the migration in services like nova?\n\nI think migrations should happen in 2 times, firstly, we migrate the runtime code, and secondly we migrate the unit tests. If aiohub is in the middle, I don\u0027t think it will be an issue. Migrating tests in a second time would warrant that runtime things are not broken and that CI are not green because we adapted the tests in the same time.",
"parentUuid": "678b5c45_dd37403c",
"range": {
"startLine": 501,
"startChar": 3,
"endLine": 501,
"endChar": 33
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "a374a194_e3190dec",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 501,
"author": {
"id": 11604
},
"writtenOn": "2023-12-21T15:38:26Z",
"side": 1,
"message": "for nova specificaly we currently have the following binaries\n\nconsole_scripts \u003d\n nova-api \u003d nova.cmd.api:main\n nova-api-metadata \u003d nova.cmd.api_metadata:main\n nova-api-os-compute \u003d nova.cmd.api_os_compute:main\n nova-compute \u003d nova.cmd.compute:main\n nova-conductor \u003d nova.cmd.conductor:main\n nova-manage \u003d nova.cmd.manage:main\n nova-novncproxy \u003d nova.cmd.novncproxy:main\n nova-policy \u003d nova.cmd.policy:main\n nova-rootwrap \u003d oslo_rootwrap.cmd:main\n nova-rootwrap-daemon \u003d oslo_rootwrap.cmd:daemon\n nova-scheduler \u003d nova.cmd.scheduler:main\n nova-serialproxy \u003d nova.cmd.serialproxy:main\n nova-spicehtml5proxy \u003d nova.cmd.spicehtml5proxy:main\n nova-status \u003d nova.cmd.status:main\n \n\nrest apis \nnova-api \u003d nova.cmd.api:main\nnova-api-metadata \u003d nova.cmd.api_metadata:main\nnova-api-os-compute \u003d nova.cmd.api_os_compute:main\n\nall three of these entry points use eventlet to serve the wsgi applciation via a python webserver. nova-api just servers both the metadata and comptue endpoint form teh same webserver\n\nthe metadtaa api does not actuly use eventlet explcitly so that should jsut work under a diffent webserver either the built in oen form the python stdlib or we can use a alternitve such as flask or grnicorn to have the same effect\n\nwe could also just remove these entirly and only supprot wsgi script and leave the webserver to the user.\n\nthe compute api currently has a direct eventlet dep btu it did not for years and we have plans to remove that again https://review.opendev.org/c/openstack/nova/+/650172\n\nso i think nova can remove all useage of eventlet form our rest apis in the caracal cycle with little direct impact.\n\n\nnova does not actully use rootwap os-brick does\nso these are largely irrlevent i dont think we need eventlet in them so we can ignore them for now.\n nova-rootwrap \u003d oslo_rootwrap.cmd:main\n nova-rootwrap-daemon \u003d oslo_rootwrap.cmd:daemon\n\nthe command line clients \nnova-policy \u003d nova.cmd.policy:main\nnova-status \u003d nova.cmd.status:main\nnova-manage \u003d nova.cmd.manage:main\nare monkey patch but i dont belive we use eventlet directly in any of them and it woudl be trivial to use somethign else if we are.\ni think it would be very simple to make them not use eventlet and keep it that way goign forward.\n\nThe proxies are basically using websockify to serve a tcp session as a websocket\nwhile they use eventlet we coudl liketly rewrite those with litlel efferot to\nwork using flask or fastapi and asyncio perhaps making them a wsgi/asgi applicaiton\nalthough since they export long lived seesion it may not fit with that model.\nnova-novncproxy \u003d nova.cmd.novncproxy:main\nnova-serialproxy \u003d nova.cmd.serialproxy:main\nnova-spicehtml5proxy \u003d nova.cmd.spicehtml5proxy:main\n\n\nThat just leave the nova deliveables that do the heavy lifting\n\n nova-compute \u003d nova.cmd.compute:main\n nova-conductor \u003d nova.cmd.conductor:main\n nova-scheduler \u003d nova.cmd.scheduler:main\n \nthese will be the hardest ot decouple\nthe schduler will be the simplest of the 3 followed likely by the conductor and then compute\n\nwhile it wont require an entire rewite of those three it will require a signifcant rewrite.\n\nmy proposal would be to have a spec to remove the use of eventlet form everythign excpet nova-compute, nova-conductor, and nova-scheduler in D which we can even start making progress on in caracal by removing the usage in teh nova api adn metadta api which melany has already started.\n\nthe proxies would allwo us to prototype an asycio based nova-servce binary that can then be reused for the schduler and conductor.\n\nnova-comptue may well be the hardest to refactor which is why i woudl do that last.\n\nso to your question of tracking when its compelted i think we can use spec to track that and have the project teams self report there progress.",
"parentUuid": "03f55f41_20cd4953",
"range": {
"startLine": 501,
"startChar": 3,
"endLine": 501,
"endChar": 33
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "166b7566_dacdde05",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 501,
"author": {
"id": 11604
},
"writtenOn": "2023-12-21T15:52:58Z",
"side": 1,
"message": "by the way im currently leanign toward using \nhttps://fastapi.tiangolo.com/ flask or https://docs.python.org/3/library/http.server.html#http.server.ThreadingHTTPServer as apprpirate to remove some of oru dependence on our custom wsgi frameworks like paste/paste deploy.\n\n\nim currently adding a new healtcheck endpoint to nova that would be exposed usign the eventlet webserver and im stongly considerign rewriting that o just use\n\nThreadingHTTPServer to serve it as a flask or fastapi app based on this and other converstaions to not add any more debth we will need to port.\n\nmoving away form some of our custom wsgi tooling is a sliightly diffent topic.\nbut i do see advanages in fastapi/flask as a way to reduce related tech debt in the api space. in general providing wsgi/asgi applciation that can be used with any web server that support those protocal i think will be better in in teh long run instead of haveing console script spin up a webserver to serve them. so the solution might be to jsut remove those console script and move to that model for all rest api. i.e. tell people if they want to run nova-api use gunicorn or uwsgi or mod_wsgi which is what keystone did years ago.\n\nif think fastapi/flask will be what we should use to reimplement our console proxies for example and then jsut run them as a wsgi app. we can deprecate teh console script in D/E and remove them in F using ThreadingHTTPServer instead of eventlests webserver for the transiton period while tooling catches up with usign them as wsgi applciations.",
"parentUuid": "a374a194_e3190dec",
"range": {
"startLine": 501,
"startChar": 3,
"endLine": 501,
"endChar": 33
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "a57a2137_f0ff3594",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 523,
"author": {
"id": 11975
},
"writtenOn": "2023-12-06T09:16:42Z",
"side": 1,
"message": "nitty nit: community",
"range": {
"startLine": 523,
"startChar": 7,
"endLine": 523,
"endChar": 15
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "9f7109ae_23caf388",
"filename": "goals/proposed/modernize-openstack-async-model.rst",
"patchSetId": 4
},
"lineNbr": 523,
"author": {
"id": 13252
},
"writtenOn": "2023-12-22T08:59:01Z",
"side": 1,
"message": "Done",
"parentUuid": "a57a2137_f0ff3594",
"range": {
"startLine": 523,
"startChar": 7,
"endLine": 523,
"endChar": 15
},
"revId": "ff3620f6a97325417df544a599d0040011274296",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
}
]
}