neutron-specs/835b07c55eb3738d12966437cb4...

674 lines
22 KiB
Plaintext

{
"comments": [
{
"unresolved": true,
"key": {
"uuid": "29ec251e_8be4176a",
"filename": "/COMMIT_MSG",
"patchSetId": 5
},
"lineNbr": 7,
"author": {
"id": 8655
},
"writtenOn": "2023-01-05T21:11:00Z",
"side": 1,
"message": "nit: agent",
"range": {
"startLine": 7,
"startChar": 4,
"endLine": 7,
"endChar": 11
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "c7b62558_5ddad1ab",
"filename": "/COMMIT_MSG",
"patchSetId": 5
},
"lineNbr": 7,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "Done",
"parentUuid": "29ec251e_8be4176a",
"range": {
"startLine": 7,
"startChar": 4,
"endLine": 7,
"endChar": 11
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "251ea3ea_042a236e",
"filename": "/PATCHSET_LEVEL",
"patchSetId": 5
},
"lineNbr": 0,
"author": {
"id": 6773
},
"writtenOn": "2023-01-06T11:41:46Z",
"side": 1,
"message": "Thanks Rodolfo, overall I think this looks good. You may want to fix a few nits in the writing before merging but the essence seems very good.\n\nThank you!",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "80cd12ed_3b1cb55d",
"filename": "/PATCHSET_LEVEL",
"patchSetId": 5
},
"lineNbr": 0,
"author": {
"id": 15554
},
"writtenOn": "2023-01-10T09:58:25Z",
"side": 1,
"message": "Looking close to complete.",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "1e4c5aa2_deeb2725",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 26,
"author": {
"id": 15554
},
"writtenOn": "2023-01-10T09:58:25Z",
"side": 1,
"message": "Do we need any information in the neutron agent API about which agent is a real agent and which one is an agent-like representation of something else? I hope not. Just thinking out loud...",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "6d47ab21_b877dacd",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 26,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "You are right on this. I need to include a reference to the OVN agent tracking method.",
"parentUuid": "1e4c5aa2_deeb2725",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "1a3e75c7_e5bcc188",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 35,
"author": {
"id": 6773
},
"writtenOn": "2023-01-06T11:41:46Z",
"side": 1,
"message": "OVN Agent ?",
"range": {
"startLine": 35,
"startChar": 66,
"endLine": 35,
"endChar": 77
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "0119245d_82e67e27",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 35,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "Done",
"parentUuid": "1a3e75c7_e5bcc188",
"range": {
"startLine": 35,
"startChar": 66,
"endLine": 35,
"endChar": 77
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "e2920da0_6471cc51",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 37,
"author": {
"id": 15554
},
"writtenOn": "2023-01-10T09:58:25Z",
"side": 1,
"message": "For future reference a sentence (or a link) about what these limitations are would be helpful, I think. After all if and when those limitations will be overcome may affect this new agent.",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "9c19c937_a5823131",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 37,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "Done",
"parentUuid": "e2920da0_6471cc51",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "a7e36104_aa487288",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 44,
"author": {
"id": 8655
},
"writtenOn": "2023-01-05T18:20:26Z",
"side": 1,
"message": "nit: I would call it \"Neutron-OVN agent\" or \"OVN-Neutron agent\" to avoid ambiguity that it might belong to the OVN project.",
"range": {
"startLine": 44,
"startChar": 22,
"endLine": 44,
"endChar": 31
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "a5d9e87e_03c70d5d",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 44,
"author": {
"id": 15554
},
"writtenOn": "2023-01-10T09:58:25Z",
"side": 1,
"message": "+1",
"parentUuid": "a7e36104_aa487288",
"range": {
"startLine": 44,
"startChar": 22,
"endLine": 44,
"endChar": 31
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "1365ac9d_308758a1",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 44,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "Done",
"parentUuid": "a5d9e87e_03c70d5d",
"range": {
"startLine": 44,
"startChar": 22,
"endLine": 44,
"endChar": 31
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "fa86175c_16ca447b",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 50,
"author": {
"id": 8655
},
"writtenOn": "2023-01-05T18:20:26Z",
"side": 1,
"message": "nit: Unlike ?",
"range": {
"startLine": 50,
"startChar": 0,
"endLine": 50,
"endChar": 6
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "24abe975_4a2425df",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 50,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "(I\u0027m still making these mistakes...)",
"parentUuid": "fa86175c_16ca447b",
"range": {
"startLine": 50,
"startChar": 0,
"endLine": 50,
"endChar": 6
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "41ace1ee_2593a161",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 54,
"author": {
"id": 15554
},
"writtenOn": "2023-01-10T09:58:25Z",
"side": 1,
"message": "I agree with previous comments, that we don\u0027t need to prohibit rpc altogether. For example unidirectional cast()-like messaging is usually not a concern for scale. If that makes sense for report_state(), let it be. As long as we keep the scale-sensitive communication inside ovsdb, that\u0027s okay.",
"range": {
"startLine": 53,
"startChar": 59,
"endLine": 54,
"endChar": 24
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "0a3a10c0_92fe2e67",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 54,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "Done",
"parentUuid": "41ace1ee_2593a161",
"range": {
"startLine": 53,
"startChar": 59,
"endLine": 54,
"endChar": 24
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "070d498e_cab18295",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 68,
"author": {
"id": 8655
},
"writtenOn": "2023-01-05T18:20:26Z",
"side": 1,
"message": "A note unrelated to this proposal to get feedback from knowledgable people: This is gonna change the number of connections at scale drastically. I\u0027m not familiar much with Telco edge sites but I assume they can have hundreds of HWOL enabled nodes to host VNFs. Maybe someone with better edge knowledge than mine can chime in to discuss what numbers do we plan to work with. We will need to document this architectural change for scale environments.",
"range": {
"startLine": 68,
"startChar": 52,
"endLine": 68,
"endChar": 66
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "ed3231a5_6a2f337d",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 68,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "There is always a balance between the new functionality and the scale. If they want to have QoS with HWOL, then they will need to use this new agent, increasing the DB connections.\n\nI\u0027ll say that since [1], we can reduce to 1 the number of SB connections per OVN metadata agent. When moving the metadata functionality to this monitor, we\u0027ll have just one single NB and one SB connections to the database.\n\n[1]https://review.opendev.org/c/openstack/neutron/+/861751",
"parentUuid": "070d498e_cab18295",
"range": {
"startLine": 68,
"startChar": 52,
"endLine": 68,
"endChar": 66
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "09857d57_0d60fe48",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 134,
"author": {
"id": 8655
},
"writtenOn": "2023-01-05T18:20:26Z",
"side": 1,
"message": "bandwidth ? Or rather \"stored in QoS table in bandwidth:rate column key\"",
"range": {
"startLine": 134,
"startChar": 72,
"endLine": 134,
"endChar": 76
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "13a20e78_81ae4351",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 134,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "Right, QoS:bandwidth",
"parentUuid": "09857d57_0d60fe48",
"range": {
"startLine": 134,
"startChar": 72,
"endLine": 134,
"endChar": 76
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "66323590_ef4a32c2",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 149,
"author": {
"id": 8655
},
"writtenOn": "2023-01-05T18:20:26Z",
"side": 1,
"message": "Idea: The QoS table is a lot smaller than LSP table. I\u0027m wondering if it\u0027s worth to monitor LSP table just to obtain the qos_min_rate value as this table can be in a number of tens of thousand of entries. If we, by the ovn mech driver, store this value as an external id in the QoS table along with LSP options then perhaps we can avoid having to monitor the LSP table completel?",
"range": {
"startLine": 149,
"startChar": 47,
"endLine": 149,
"endChar": 74
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "1e21687f_b85a611f",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 149,
"author": {
"id": 6773
},
"writtenOn": "2023-01-06T11:41:46Z",
"side": 1,
"message": "From what I understoond, we need to set this \"qos_min_rate\" option in the LSP table for this to work. And, if we are writing that option we need to include the LSP table when we create the connection.\n\nhttps://man7.org/linux/man-pages/man5/ovn-nb.5.html",
"parentUuid": "66323590_ef4a32c2",
"range": {
"startLine": 149,
"startChar": 47,
"endLine": 149,
"endChar": 74
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "8b5311af_caef2835",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 149,
"author": {
"id": 8655
},
"writtenOn": "2023-01-06T14:03:06Z",
"side": 1,
"message": "I meant to write it to both places, LSP options for OVN and to QoS as a data storage, so we can pick the data without having to monitor LSP table, because of it\u0027s assumed size. Thanks to transactions we will have the rate set either in both places or nowhere.",
"parentUuid": "1e21687f_b85a611f",
"range": {
"startLine": 149,
"startChar": 47,
"endLine": 149,
"endChar": 74
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "f941978e_354ac1c4",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 149,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "In OVN we have two types of QoS BW enforcement: using the kernel classes (linux \"tc\") or metering (NOTE1):\n* max and burst use metering\n* min uses linux traffic control (see [1])\n\nQoS registers are translated into meter rules; LSP.options are used to set the interface TC settings. We can\u0027t use the QoS registers for the min-bw rules.\n\nFor now I\u0027ll keep using the LSP registers but it will be necessary to investigate a future improvement not to use them.\n\nAs Lucas suggested, I\u0027ll add this information to the \"Performance Impact\" section too.\n\nNOTE1: if you check link [0], you\u0027ll see the metering feature has been implemented for mlnx cards. This is for connectx6 NICs, not connect5. But this is not solving the issue of the minimum BW feature, that is not implemented using metering (max and burst are) but using the linux traffic control implementation (HTB classful algorithm).\n\n[0]https://bugzilla.redhat.com/show_bug.cgi?id\u003d2002406\n[1]https://github.com/ovn-org/ovn/commit/dbf12e5fe1f7ab2acef4152854c239b999b70188#diff-538df8a7fc4aa894586caf2191217e5d8a50bf245ee88faf90516a1c229cf42aR6347",
"parentUuid": "8b5311af_caef2835",
"range": {
"startLine": 149,
"startChar": 47,
"endLine": 149,
"endChar": 74
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "de601b90_75fe275a",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 149,
"author": {
"id": 8655
},
"writtenOn": "2023-01-13T16:47:41Z",
"side": 1,
"message": "\u003e In OVN we have two types of QoS BW enforcement: using the kernel classes (linux \"tc\") or metering (NOTE1):\n\u003e * max and burst use metering\n\u003e * min uses linux traffic control (see [1])\n\u003e \n\u003e QoS registers are translated into meter rules; LSP.options are used to set the interface TC settings. We can\u0027t use the QoS registers for the min-bw rules.\n\nWhy can\u0027t we? The external_ids column can hold any arbitrary key/value pair. As long as we keep both QoS table and the external_ids under same transaction whenever we create/update/delete then you can use it for your purposes and will have a big impact on the data downloaded from the BD.",
"parentUuid": "f941978e_354ac1c4",
"range": {
"startLine": 149,
"startChar": 47,
"endLine": 149,
"endChar": 74
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "1658fa24_e82780b0",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 149,
"author": {
"id": 8655
},
"writtenOn": "2023-01-13T16:58:12Z",
"side": 1,
"message": "Rodolfo explained to me that the QoS entry doesn\u0027t exist in case we set just min-bw, therefore it can\u0027t be used. Sorry for the noise.",
"parentUuid": "de601b90_75fe275a",
"range": {
"startLine": 149,
"startChar": 47,
"endLine": 149,
"endChar": 74
},
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "d6a652d6_b4277b11",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 198,
"author": {
"id": 15554
},
"writtenOn": "2023-01-10T09:58:25Z",
"side": 1,
"message": "When an agent is down while one of these events happen, does it need to do anything special at the next start to re-sync with what changed? Or is it enough if the next start is just a regular start?",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "cbbe7620_df91f8d4",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 198,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "You are right. Please check [1]. When the agent is restarted and the DB retrieved, the IDL connection will issue a \"create\" event for each \"Interface\" in the DB. The QoS for these ports will be set in L49.\n\n[1]https://review.opendev.org/c/openstack/neutron/+/866480/11/neutron/agent/ovn/monitor/agent.py#48",
"parentUuid": "d6a652d6_b4277b11",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "84165855_19af6471",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 231,
"author": {
"id": 6773
},
"writtenOn": "2023-01-06T11:41:46Z",
"side": 1,
"message": "Maybe u can mention that in the future, as we port the metadata functionality to this new agent this issue could potentially be mitigated because all functionalities will share the same connections.",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "3b71c61c_95c70009",
"filename": "specs/2023.1/ovn-monitor.rst",
"patchSetId": 5
},
"lineNbr": 231,
"author": {
"id": 16688
},
"writtenOn": "2023-01-11T17:30:14Z",
"side": 1,
"message": "Exactly.",
"parentUuid": "84165855_19af6471",
"revId": "835b07c55eb3738d12966437cb445d8dd0e024fc",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
}
]
}