neutron-specs/24268d016484e0227f61221942d...

354 lines
13 KiB
Plaintext

{
"comments": [
{
"unresolved": false,
"key": {
"uuid": "d40c578d_96e670a9",
"filename": "/PATCHSET_LEVEL",
"patchSetId": 1
},
"lineNbr": 0,
"author": {
"id": 24824
},
"writtenOn": "2023-01-12T20:09:51Z",
"side": 1,
"message": "Added some WIP notes for discussion.",
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "09a4468b_cdb5339c",
"filename": "/PATCHSET_LEVEL",
"patchSetId": 1
},
"lineNbr": 0,
"author": {
"id": 13686
},
"writtenOn": "2023-01-13T07:07:49Z",
"side": 1,
"message": "Great stuff Dmitrii! I added a few comments in-line spurred by immediate thoughts that appeared while reading it.",
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "f093a66f_189e32cd",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 24,
"author": {
"id": 13686
},
"writtenOn": "2023-01-13T07:07:49Z",
"side": 1,
"message": "Add a bullet for L3 based resilience?\n\nI.e. this is also useful for making use of multiple upstream gateways within a DC network without the need for a shared L2 between the gateways. (L3+BFD replacing L2+VRRP)",
"range": {
"startLine": 24,
"startChar": 29,
"endLine": 24,
"endChar": 52
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "11704456_d97bf60c",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 24,
"author": {
"id": 24824
},
"writtenOn": "2023-01-13T13:00:47Z",
"side": 1,
"message": "Yes, I suppose that deserves a separate bullet.\n\nI thought the \"independent network paths\" part covers it but I could expand it as you suggest.",
"parentUuid": "f093a66f_189e32cd",
"range": {
"startLine": 24,
"startChar": 29,
"endLine": 24,
"endChar": 52
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "1f41f8bd_cd9992a4",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 26,
"author": {
"id": 13686
},
"writtenOn": "2023-01-13T07:07:49Z",
"side": 1,
"message": "Perhaps elaborate this point a bit because it is not obvious that this proposal allows load sharing across both network components outside the cloud and gateway chassis in the cloud.",
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "d4d75c70_c1d7fc6f",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 26,
"author": {
"id": 24824
},
"writtenOn": "2023-01-13T13:00:47Z",
"side": 1,
"message": "Indeed, we could have multiple OVN-side gateways sharing the load while pointing to the same next-hop or we could have both multiple OVN GWs and multiple next-hops so that the load is shared at multiple levels.",
"parentUuid": "1f41f8bd_cd9992a4",
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "b4e5df7a_47f3eb56",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 66,
"author": {
"id": 13686
},
"writtenOn": "2023-01-13T07:07:49Z",
"side": 1,
"message": "There are some restrictions [0] for the use of this option which may not fit with the way Neutron currently lay out logical routers.\n\nBut we should definitively plan for how we would expose/consume the option given the right topology.\n\n0: https://github.com/ovn-org/ovn/blob/c61a0e1d03da93ed47daf31892e9b0f69982efee/northd/northd.c#L9955-L9964",
"range": {
"startLine": 66,
"startChar": 16,
"endLine": 66,
"endChar": 23
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "bd87dad9_a2fa84be",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 66,
"author": {
"id": 24824
},
"writtenOn": "2023-01-13T13:00:47Z",
"side": 1,
"message": "Thanks for pointing this one out - I missed this one.\n\nI wonder what the restriction is at the OVN level as it would be nice to have this feature enabled in the distributed case as well. Though the load-sharing benefit would have less effect as it would only be relevant for instances that don\u0027t have floating IPs (for which load-sharing would happen naturally). For the FIP + distributed case just using ECMP default routes would be enough to get some load-sharing.",
"parentUuid": "b4e5df7a_47f3eb56",
"range": {
"startLine": 66,
"startChar": 16,
"endLine": 66,
"endChar": 23
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "e217957c_9cd432b3",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 66,
"author": {
"id": 13686
},
"writtenOn": "2023-01-13T13:24:42Z",
"side": 1,
"message": "The load sharing also has effect for the unNATted project network case.\n\nWe know about some large production clusters that do that today.",
"parentUuid": "bd87dad9_a2fa84be",
"range": {
"startLine": 66,
"startChar": 16,
"endLine": 66,
"endChar": 23
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "ea2f042d_b1652524",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 121,
"author": {
"id": 24824
},
"writtenOn": "2023-01-12T20:09:51Z",
"side": 1,
"message": "We can assume that or it could also be configurable at the router level with an extra option like `enable_default_route_ecmp_symmetric_reply`.\n\nThe problem here is if we add to many options that won\u0027t frequently be used we will just confuse the operator.\n\nI\u0027d be curious to hear any feedback about this since hard-coding this default is a trade-off.",
"range": {
"startLine": 121,
"startChar": 0,
"endLine": 121,
"endChar": 27
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "94854109_5dae0873",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 121,
"author": {
"id": 24824
},
"writtenOn": "2023-01-13T13:00:47Z",
"side": 1,
"message": "Considering it only works for non-distributed OVN routers we should also make sure to have proper logic Neutron to account for that.\n\nhttps://review.opendev.org/c/openstack/neutron-specs/+/870030/comments/b4e5df7a_47f3eb56\n\nOr fix OVN itself to handle this option for distributed routers too.",
"parentUuid": "ea2f042d_b1652524",
"range": {
"startLine": 121,
"startChar": 0,
"endLine": 121,
"endChar": 27
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "77b3af73_f42f0430",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 147,
"author": {
"id": 24824
},
"writtenOn": "2023-01-12T20:09:51Z",
"side": 1,
"message": "The API for managing BFD needs more thought in this spec.\n\nManually associating those sessions with each route or router can be tedious for an operator.\n\nAt the same time, creating too many BFD sessions could be avoided as well if the gateway device could specify a single BFD peer IP for multiple subnets: that way multiple routes could reuse the same BFD record and its settings.",
"range": {
"startLine": 147,
"startChar": 37,
"endLine": 147,
"endChar": 53
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "de0e543c_8b9c7826",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 236,
"author": {
"id": 24824
},
"writtenOn": "2023-01-12T20:09:51Z",
"side": 1,
"message": "This is an important difference from the previous multiple-external-gateways spec.\n\nBringing an analogy with the L3-agent based implementation, this is much like having multiple snat-\u003crouter-id\u003e namespaces across multiple nodes with multiple gateway IPs present in them at the same time (compared to the typical L3HA behavior of one VIP jumping around those namespaces on failover).",
"range": {
"startLine": 236,
"startChar": 16,
"endLine": 236,
"endChar": 27
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "56df9795_d29ab582",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 287,
"author": {
"id": 24824
},
"writtenOn": "2023-01-12T20:09:51Z",
"side": 1,
"message": "To be revisited since since a choice actually needs to be made here.\n\nUsability for an operator is a concern but I also do not want to clutter the extra routes API.",
"range": {
"startLine": 287,
"startChar": 39,
"endLine": 287,
"endChar": 45
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "fc7e358a_fac12728",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 310,
"author": {
"id": 13686
},
"writtenOn": "2023-01-13T07:07:49Z",
"side": 1,
"message": "Should we mention somewhere that we view the implementation of this spec as a building block for use by a possible future implementation of dynamic routing protocol support?",
"range": {
"startLine": 310,
"startChar": 2,
"endLine": 310,
"endChar": 11
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "b0d96cd6_5d3b18f5",
"filename": "specs/2023.1/active-active-l3-gateway-with-multihoming.rst",
"patchSetId": 1
},
"lineNbr": 310,
"author": {
"id": 24824
},
"writtenOn": "2023-01-13T13:00:47Z",
"side": 1,
"message": "I can extend this paragraph to say it - I think it\u0027s a useful thing to note.\n\nI think Neutron would need to get modelling for the \"administrative distance\" (or sometimes \"preference\") concept to resolve tie-breakers when it comes to routes to the same next-hop that come from different sources.\n\nhttps://en.wikipedia.org/wiki/Administrative_distance\n\nI\u0027ve seen different modes implemented where:\n\n* The lowest administrative distance assigned to the protocol by the system determines which route to the same destination wins;\n* \"Inter-protocol ECMP\" - when load-sharing is done across routes that come from different sources (static, different dynamic routing protocols) provided they have the same destination and metric.\n\nSo, there\u0027s a bit more modelling to do from what I guess.",
"parentUuid": "fc7e358a_fac12728",
"range": {
"startLine": 310,
"startChar": 2,
"endLine": 310,
"endChar": 11
},
"revId": "24268d016484e0227f61221942d87193812d8e2f",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
}
]
}