)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d729cf8ee302dd7b73ce5f10610212af21de2284","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f83148d2_12af4e72","updated":"2023-08-14 14:09:36.000000000","message":"Just a heads-up: this spec should target 2024.1, not 2023.2","commit_id":"9b32acfc7b44c41c094bfec89efbdaeaf1b21c38"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"9c3617ccbe6547a73f295e8b7a81fd6d41540ec4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"92ff3322_ecef935f","in_reply_to":"f83148d2_12af4e72","updated":"2023-08-14 14:34:57.000000000","message":"Thanks for clarifying this.","commit_id":"9b32acfc7b44c41c094bfec89efbdaeaf1b21c38"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d3c9aa22_a8d3cd1e","updated":"2023-10-18 23:22:41.000000000","message":"Looks pretty good to me. Some questions and suggestions","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0823b51b_bc92d032","updated":"2023-10-20 13:10:35.000000000","message":"Thanks for your feedback Miguel 😊","commit_id":"72e6a1d535864eaed953c58f5d68f9d0d6c815f9"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"8abfc0d8325b508d0afe822c27f834f3dadf7c89","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"31c07fb6_6a4f176b","updated":"2023-10-20 15:46:22.000000000","message":"Thanks for the review Lajos 😊","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a14bfab97e4de11bd3f8d9dbdf1e4f76eb459f38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2572b8fb_b7f725af","updated":"2023-10-20 18:52:31.000000000","message":"We are getting close. Please see in-line comments, especially the one related to documentation","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"78168e5bf1ee3d146743273d5753ad29b7279a82","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"590bda54_6812fc6c","updated":"2023-11-01 16:32:40.000000000","message":"It seems to me that neutron\u0027s ovn sync utility, should in general be designed in such a way that it only touches ports that it *knows* are neutron\u0027s as opposed to having to affirmatively declare things that it should ignore.","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"d396bd5ef749973a8659a2e2e59a7e77e2a76def","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"24f78c8b_7629deda","updated":"2023-11-01 17:13:54.000000000","message":"Re: my previous comments, at least until they\u0027re discussed.","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"d7f87b96f58dfd6627621203a008b6fccef21bba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a9e38b9c_4124b982","in_reply_to":"040b44a3_7f0e30db","updated":"2023-11-01 18:05:49.000000000","message":"Hi Terry, thanks for the review.\n\nyeah, my initial proposal was with this main idea, as you can see in the related LP BUG. However, after many discussions with Neutron\u0027 core members, this generic solution is not seen as viable since the source of truth would be the neutron DB, and it could get out of control or generate inconsistencies at some point (overlaps, collisions, etc). Other people have asked about the same question, I\u0027m sorry I don\u0027t have a better answer.\n\nIf it\u0027s consensus with the community members that the implementation could be generic, perfect! I can change the RFE without any problems.\n\nReviwers:\nWould it be possible to make it generic and have Neutron only manage its own resources in db_sync?","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"f7ea90f2935d45cc09f2aeb5a165bdcfdc195c70","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4ab8f795_3f21e01d","in_reply_to":"1891e985_ffd0b5c8","updated":"2023-11-02 01:50:58.000000000","message":"Thanks for bringing up this good discussion!\n\nI\u0027m sorry if I made you confused with my previouslly example. The point I tried to exemplify was not this specific bug but the possibility that the OVN code has a bug that could leave something inconsistent. And you\u0027re absolutely right, Neutron will always create these resources with a very specific \u0027signature\u0027 in the external_ids (neutron:...).  \n\nAs you probably know, there are two classic resources repair cases used by DB sync: \u0027found in Neutron but not in OVN\u0027, and \u0027found in OVN but not in Neutron\u0027. I was trying to understand \u0027when and why\u0027 the \"found in OVN but not in Neutron\" comparison part was included but looking at the current code [1] (it\u0027s been as long as ml2/ovn), and in the networking_ovn code[2][3][4] it doesn\u0027t seem to have a specific reason. I mean, it\u0027s probably always been this way since the beginning of ml2/ovn.\n\nPerhaps most (if not all) sync_repair periodic executions by operators are related to resources created by Neutron that have become inconsistent and need to be restored (seems to be the stale ports case). So this is more about existing in the Neutron and not the OVN than the opposite.\n\nI don\u0027t have a strong final opinion on this, I would like to hear other points of view.\n\n[1] https://opendev.org/openstack/neutron/blame/commit/1daa0dd5bfa06f44cc49662aa97d3c7a7f4d36e4/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py#L714\n\n[2] https://opendev.org/openstack/networking-ovn/blame/commit/e2a23d69d70079f09555789b22dc1fd088242bcb/networking_ovn/ovn_db_sync.py#L406\n[3] https://opendev.org/openstack/networking-ovn/commit/e31919f3eef4f4aaf16f0992dc32ed4e5554023a\n[4] https://bugs.launchpad.net/networking-ovn/+bug/1546315","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"ba29ecc26c202360ce415cdce347fe655f5f6f7d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"9cebd8ce_8d1e35f1","in_reply_to":"1df0696f_fae75162","updated":"2023-11-21 14:40:34.000000000","message":"I did not comment earlier, but when I read this spec, the same was also my first question: Why don\u0027t we explicitly track who owns what in the ovn db? Instead of creating process specific ignore-flags we could track the ownership of records and make sure the db sync tool (starting from a particular version) only ever touches neutron-owned resources. If not all neutron created resources have a readily identifiable way to tell this, I believe the db sync tool itself could be modified to correct this situation one-time during an upgrade. While I\u0027m not familiar with the implementation details, I hope this would not be a complicated change.\n\nIn short: +1 for the generic way.","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"0b3f1c767ad7ca6a7b02caf741fc291bd2ad9677","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"6e484f26_865e2ef7","in_reply_to":"42e389ed_6053879b","updated":"2023-11-28 15:34:36.000000000","message":"Sure, the provnet ports are some special case in ovn-db-sync... but NAT/ACLs/Port_Groups have the external_ids register in the OVSDB schema [1][2][3], so it would be a case of including the neutron key if it does not exist. It can be any key that starts with \u0027neutron\u0027, including the neutron:revision_number.\n\n[1] https://github.com/ovn-org/ovn/blob/06c0a4a3ff23c3ffb25a502b1cf318e44e5e683a/ovn-nb.ovsschema#L283\n[2] https://github.com/ovn-org/ovn/blob/06c0a4a3ff23c3ffb25a502b1cf318e44e5e683a/ovn-nb.ovsschema#L187\n[3] https://github.com/ovn-org/ovn/blob/06c0a4a3ff23c3ffb25a502b1cf318e44e5e683a/ovn-nb.ovsschema#L519","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5d4048a8c7c688b44803dc973762ad71f73fa8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1df0696f_fae75162","in_reply_to":"4ab8f795_3f21e01d","updated":"2023-11-21 14:24:09.000000000","message":"So after talking on IRC, I think we all agreed that the DB sync tool (and technically any other part of neutron, see the OVN LB recent change) shouldn\u0027t be removing resources it didn\u0027t add to the OVN DB.\n\nIn the current form of this spec, we\u0027d change it to detect things related to OVN-IC and leave them alone.\n\nThe problem is that for the next OVN-XYZ spec we\u0027ll add another thing, and so-on. I tend to agree that making it smarter by having it look for a neutron \"fingerprint\" is probably a better long-term solution.\n\nIt\u0027s really an implementation detail on how we change things in my opinion, again, assuming it can be be done the other way.\n\nDid I summarize that correctly? Do other reviewers agree?","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"735784f04a8377e27a5aa2b1fd495ad1e5d6a1eb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"040b44a3_7f0e30db","in_reply_to":"590bda54_6812fc6c","updated":"2023-11-01 17:12:23.000000000","message":"To be more specific, I think most neutron-owned objects have very identifiable external_ids already. If any were missing that, it\u0027d be easy to add. It just seems like if there is a general issue of neutron-ovn-db-sync deleting things it doesn\u0027t own, special handling in two different ways (ignoring ovn-ic-specific external_ids, and then addding a more generic \"hey, ignore this!\" external-id) would be unnecessary and also leave it open for future problems down the road where some other thing creates objects in the ovn db, etc.","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"ffdecc0e18f339cb473d62ebacca3360a0d58ca4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"6b2f9ed3_21f59677","in_reply_to":"6e484f26_865e2ef7","updated":"2023-11-29 15:14:09.000000000","message":"Yes. Just trying to point out the specific cases I\u0027ve found where we will need to add those keys (NATs for router gateways and provnet ports). It should be easy to do, I\u0027m just trying to save a little work for the developer. ;) Also, I may have missed some things, so good to have additional eyes on it.","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"16ba874ffa29fcd2eaaca8d9dc7de691b1dbe39c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c4dd7f5a_2001e452","in_reply_to":"9cebd8ce_8d1e35f1","updated":"2023-11-27 20:54:28.000000000","message":"+1\n\nAFAIK all resources created by neutron via OVSDB IDL API have the \u0027neutron:\u0027 key in the external_ids register. So, it would be a simple change and would not require one-time adjustments during an upgrade.","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"fa79e4c7fe4c777abb7c05db486f74639c8692eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c39d285a_0e9ec3e3","in_reply_to":"a9e38b9c_4124b982","updated":"2023-11-01 18:37:23.000000000","message":"BTW Although I started with this idea, I changed my mind along the way, as we have a number of issues on the OVN side that can cause resources duplication and strange behaviours [1,2].\n\nA generic implementation would make Neutron unpredictable and susceptible to BUGs on the OVN side.\n\nDoes it make sense to you?\n\n\n[1] https://bugs.launchpad.net/ubuntu/+source/ovn/+bug/1961046\n[2] https://bugs.launchpad.net/neutron/+bug/1960006/comments/7","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"7d4b52630e4f064ea8da01be14d0ba0cefd096a1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1891e985_ffd0b5c8","in_reply_to":"c39d285a_0e9ec3e3","updated":"2023-11-01 21:49:09.000000000","message":"I\u0027m not sure I understand how refusing to delete non-neutron ports(i.e. ports that don\u0027t have a neutron-specific external_id) leads to stale ports or inconsistencies. \"Stale ports\" in the ovn db would have neutron-specific external_ids, right? I\u0027ll try to read more carefully and see if I can figure out what people are afraid of. Maybe if previous versions that were missing the particular external_id or whatever identifying characteristic? But especially with ports, those external_ids have been around for years and years if not for as long as ml2/ovn.\n\nFrom what I can tell, *most* things that are neutron-related in the OVN DB have some kind of neutron:... external id. provnet ports don\u0027t (but look like they\u0027re handled as a special case in ovn-db-sync), router gateway NAT entries don\u0027t. Most have a neutron:revision_number (ACLs/Port_Groups don\u0027t have this).","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"1db76da32845f1274ebaf0073919d817036d852f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"42e389ed_6053879b","in_reply_to":"c4dd7f5a_2001e452","updated":"2023-11-28 15:11:57.000000000","message":"Last I checked, provnet ports don\u0027t (but look like they\u0027re handled as a special case in ovn-db-sync), I see some related constants like OVN_PHYSNET_EXT_ID that aren\u0027t used. Router gateway NAT entries don\u0027t have a neutron: key. Most specifically have a neutron:revision_number (ACLs/Port_Groups don\u0027t have this).","commit_id":"84739ce8d7673bc2d14ee23529460d47f95948fb"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3e8189a1efd14b96b3dc65767339f2a728ada689","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"44783ffb_f450d982","updated":"2024-01-23 10:06:28.000000000","message":"As I see this is ready except some nits.","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"55b483e3_e5f8bbbc","updated":"2024-01-22 21:24:38.000000000","message":"Looks good, really just some nits","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"1db76da32845f1274ebaf0073919d817036d852f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"63eb1af0_8fffde34","updated":"2023-11-28 15:11:57.000000000","message":"Mostly lgtm. We need to do a thorough audit of all of the synced objects and ensure that they all have `neutron` ext_id keys, and add them if they don\u0027t. On a test system I have up I saw router gateway port NAT entries and provnet ports w/o external_ids. There may be more, it was a quick check.","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"0b3f1c767ad7ca6a7b02caf741fc291bd2ad9677","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"616ec0e4_71c397a5","in_reply_to":"63eb1af0_8fffde34","updated":"2023-11-28 15:34:36.000000000","message":"yeah, we can create some kind of audit mthod in maintenance tool to ensure that they all have \u0027neutron\u0027 key in exteral_id.\n\nI can update the RFE to include this audit information or just make it available in a release note.","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"73c7794eefb989c9e3481fd58210408af8f27e24","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"bf1360cf_204135ff","updated":"2024-01-30 06:48:06.000000000","message":"Waiting for an extra core reviewer. In any case, this spec could be merged now.","commit_id":"6e5c76fb1b5f9271d6fc9fae32691dbc2973fb4e"}],"specs/2024.1/ml2ovn-coexistence-support-ovn-ext-resources.rst":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":12,"context_line":"\r"},{"line_number":13,"context_line":"Currently two individual Neutron deployments using ML2/OVN are separate and may\r"},{"line_number":14,"context_line":"only communicate using normal provider networks. However OVN supports the\r"},{"line_number":15,"context_line":"feature ``OVN interconnect``, that allows multiple separate OVN deployments to\r"},{"line_number":16,"context_line":"be connected together. The interconnection is implemented using a normal\r"},{"line_number":17,"context_line":"overlay (just like the one between compute nodes) and can therefore be created\r"},{"line_number":18,"context_line":"easily in a large scale (something that is not necessarily the case for\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"c2b43724_cdfd6c1b","line":15,"range":{"start_line":15,"start_character":8,"end_line":15,"end_character":28},"updated":"2024-01-22 21:24:38.000000000","message":"It might be useful to put the abbreviation here, something like:\n\n``OVN interconnect`` (OVN-IC)\n\nThat way you can us it below without confusion. nit: Note there are uses of OVN-ic (I think) below, should just be consistent.","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\r"},{"line_number":13,"context_line":"Currently two individual Neutron deployments using ML2/OVN are separate and may\r"},{"line_number":14,"context_line":"only communicate using normal provider networks. However OVN supports the\r"},{"line_number":15,"context_line":"feature ``OVN interconnect``, that allows multiple separate OVN deployments to\r"},{"line_number":16,"context_line":"be connected together. The interconnection is implemented using a normal\r"},{"line_number":17,"context_line":"overlay (just like the one between compute nodes) and can therefore be created\r"},{"line_number":18,"context_line":"easily in a large scale (something that is not necessarily the case for\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7d133ebd_5dd24f70","line":15,"range":{"start_line":15,"start_character":8,"end_line":15,"end_character":28},"in_reply_to":"c2b43724_cdfd6c1b","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3e8189a1efd14b96b3dc65767339f2a728ada689","unresolved":true,"context_lines":[{"line_number":36,"context_line":"In the case of layer 3 interconnection, the logical routers on each cluster /\r"},{"line_number":37,"context_line":"availability zone can be connected via transit overlay networks. The transit\r"},{"line_number":38,"context_line":"network is an abstract representation of the interconnect layer, and the\r"},{"line_number":39,"context_line":"element responsible for this intercluster visibility is the Transit Switch.\r"},{"line_number":40,"context_line":"These interconnection switches are created in a global database and replicated\r"},{"line_number":41,"context_line":"to each AZ via ovn-ic daemon. So, basically, a logical router in one AZ is\r"},{"line_number":42,"context_line":"connected to a Logical router in another AZ via Transit switch. More details\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"88005d57_6d2ac207","line":39,"range":{"start_line":39,"start_character":60,"end_line":39,"end_character":74},"updated":"2024-01-23 10:06:28.000000000","message":"nit: Transit Switch (TS)","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":36,"context_line":"In the case of layer 3 interconnection, the logical routers on each cluster /\r"},{"line_number":37,"context_line":"availability zone can be connected via transit overlay networks. The transit\r"},{"line_number":38,"context_line":"network is an abstract representation of the interconnect layer, and the\r"},{"line_number":39,"context_line":"element responsible for this intercluster visibility is the Transit Switch.\r"},{"line_number":40,"context_line":"These interconnection switches are created in a global database and replicated\r"},{"line_number":41,"context_line":"to each AZ via ovn-ic daemon. So, basically, a logical router in one AZ is\r"},{"line_number":42,"context_line":"connected to a Logical router in another AZ via Transit switch. More details\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"76b091f5_4dcb3eb4","line":39,"range":{"start_line":39,"start_character":60,"end_line":39,"end_character":74},"in_reply_to":"88005d57_6d2ac207","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":198,"context_line":"  (if route learning is enabled)\r"},{"line_number":199,"context_line":"\r"},{"line_number":200,"context_line":"The resources owned by ovn-ic are dynamically created and removed by the\r"},{"line_number":201,"context_line":"ovn-ic daemon when the process syncronizes the Northbound database between\r"},{"line_number":202,"context_line":"interconnect domain elements.\r"},{"line_number":203,"context_line":"\r"},{"line_number":204,"context_line":"resources owned by the operator\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"0f6e886b_d00a0bd2","line":201,"range":{"start_line":201,"start_character":31,"end_line":201,"end_character":42},"updated":"2024-01-22 21:24:38.000000000","message":"nit: synchronizes","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":198,"context_line":"  (if route learning is enabled)\r"},{"line_number":199,"context_line":"\r"},{"line_number":200,"context_line":"The resources owned by ovn-ic are dynamically created and removed by the\r"},{"line_number":201,"context_line":"ovn-ic daemon when the process syncronizes the Northbound database between\r"},{"line_number":202,"context_line":"interconnect domain elements.\r"},{"line_number":203,"context_line":"\r"},{"line_number":204,"context_line":"resources owned by the operator\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5e1399a3_7f7c83cb","line":201,"range":{"start_line":201,"start_character":31,"end_line":201,"end_character":42},"in_reply_to":"0f6e886b_d00a0bd2","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":214,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":215,"context_line":"\r"},{"line_number":216,"context_line":"The above setup can already be created by an operator.\r"},{"line_number":217,"context_line":"However the `neutron-ovn-db-sync` tool will remove the resources owned by\r"},{"line_number":218,"context_line":"ovn-ic and the operator, as Neutron does not know about them.\r"},{"line_number":219,"context_line":"\r"},{"line_number":220,"context_line":"Example of resources created by ovn-ic:\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"16534376_bf5f6c95","line":217,"range":{"start_line":217,"start_character":13,"end_line":217,"end_character":32},"updated":"2024-01-22 21:24:38.000000000","message":"s/neutron-ovn-db-sync-util","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":214,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":215,"context_line":"\r"},{"line_number":216,"context_line":"The above setup can already be created by an operator.\r"},{"line_number":217,"context_line":"However the `neutron-ovn-db-sync` tool will remove the resources owned by\r"},{"line_number":218,"context_line":"ovn-ic and the operator, as Neutron does not know about them.\r"},{"line_number":219,"context_line":"\r"},{"line_number":220,"context_line":"Example of resources created by ovn-ic:\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"8f481379_153dc30d","line":217,"range":{"start_line":217,"start_character":13,"end_line":217,"end_character":32},"in_reply_to":"16534376_bf5f6c95","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":236,"context_line":"* Logical_Router_Port\r"},{"line_number":237,"context_line":"  `external_ids` or `other_config` with any value\r"},{"line_number":238,"context_line":"\r"},{"line_number":239,"context_line":"For resources created by operator such predefined options for `external_ids` or\r"},{"line_number":240,"context_line":"`other_config` do not exist.\r"},{"line_number":241,"context_line":"\r"},{"line_number":242,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"537c0429_1ad68f3c","line":239,"range":{"start_line":239,"start_character":25,"end_line":239,"end_character":33},"updated":"2024-01-22 21:24:38.000000000","message":"nit: s/operators (or an operator)","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":236,"context_line":"* Logical_Router_Port\r"},{"line_number":237,"context_line":"  `external_ids` or `other_config` with any value\r"},{"line_number":238,"context_line":"\r"},{"line_number":239,"context_line":"For resources created by operator such predefined options for `external_ids` or\r"},{"line_number":240,"context_line":"`other_config` do not exist.\r"},{"line_number":241,"context_line":"\r"},{"line_number":242,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"00a048fc_aeee43ae","line":239,"range":{"start_line":239,"start_character":25,"end_line":239,"end_character":33},"in_reply_to":"537c0429_1ad68f3c","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":244,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":245,"context_line":"\r"},{"line_number":246,"context_line":"To solve the problem described above, the proposal is to introduce a new filter\r"},{"line_number":247,"context_line":"rule to check for the Neutron key during the `neutron-ovn-db-sync` method and\r"},{"line_number":248,"context_line":"not remove resources externally managed by OVN.\r"},{"line_number":249,"context_line":"\r"},{"line_number":250,"context_line":"This implementation is being named to as `coexistence support for OVN\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"f453e0a7_c3d6dcab","line":247,"range":{"start_line":247,"start_character":46,"end_line":247,"end_character":65},"updated":"2024-01-22 21:24:38.000000000","message":"s/neutron-ovn-db-sync-util\n\nOf course now writing this a second time, neutron-ovn-db-sync-util is a script run by an operator, just to be clear.","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":244,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":245,"context_line":"\r"},{"line_number":246,"context_line":"To solve the problem described above, the proposal is to introduce a new filter\r"},{"line_number":247,"context_line":"rule to check for the Neutron key during the `neutron-ovn-db-sync` method and\r"},{"line_number":248,"context_line":"not remove resources externally managed by OVN.\r"},{"line_number":249,"context_line":"\r"},{"line_number":250,"context_line":"This implementation is being named to as `coexistence support for OVN\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da226b02_a866404a","line":247,"range":{"start_line":247,"start_character":46,"end_line":247,"end_character":65},"in_reply_to":"f453e0a7_c3d6dcab","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":247,"context_line":"rule to check for the Neutron key during the `neutron-ovn-db-sync` method and\r"},{"line_number":248,"context_line":"not remove resources externally managed by OVN.\r"},{"line_number":249,"context_line":"\r"},{"line_number":250,"context_line":"This implementation is being named to as `coexistence support for OVN\r"},{"line_number":251,"context_line":"externally managed resources` because it is out of scope any type of OVN\r"},{"line_number":252,"context_line":"externally managed resources integration as part of Neutron. The proposal of\r"},{"line_number":253,"context_line":"this implementation is the creation of filters in the checking of the resources\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"42062343_4027d49b","line":250,"range":{"start_line":250,"start_character":35,"end_line":250,"end_character":40},"updated":"2024-01-22 21:24:38.000000000","message":"s/as to","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":247,"context_line":"rule to check for the Neutron key during the `neutron-ovn-db-sync` method and\r"},{"line_number":248,"context_line":"not remove resources externally managed by OVN.\r"},{"line_number":249,"context_line":"\r"},{"line_number":250,"context_line":"This implementation is being named to as `coexistence support for OVN\r"},{"line_number":251,"context_line":"externally managed resources` because it is out of scope any type of OVN\r"},{"line_number":252,"context_line":"externally managed resources integration as part of Neutron. The proposal of\r"},{"line_number":253,"context_line":"this implementation is the creation of filters in the checking of the resources\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"e899396f_a675da61","line":250,"range":{"start_line":250,"start_character":35,"end_line":250,"end_character":40},"in_reply_to":"42062343_4027d49b","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":254,"context_line":"created by Neutron, and it is the basis for any future implementation that\r"},{"line_number":255,"context_line":"intends to integrate the OVN interconnect or other OVN features to Neutron.\r"},{"line_number":256,"context_line":"\r"},{"line_number":257,"context_line":"To implement the coexistence support the `neutron-ovn-db-sync` tool only needs\r"},{"line_number":258,"context_line":"to check the resources managed by Neutron. The main idea of this proposal is\r"},{"line_number":259,"context_line":"described below.\r"},{"line_number":260,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"92cf191b_3c39adc3","line":257,"range":{"start_line":257,"start_character":42,"end_line":257,"end_character":61},"updated":"2024-01-22 21:24:38.000000000","message":"s/neutron-ovn-db-sync-util","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":254,"context_line":"created by Neutron, and it is the basis for any future implementation that\r"},{"line_number":255,"context_line":"intends to integrate the OVN interconnect or other OVN features to Neutron.\r"},{"line_number":256,"context_line":"\r"},{"line_number":257,"context_line":"To implement the coexistence support the `neutron-ovn-db-sync` tool only needs\r"},{"line_number":258,"context_line":"to check the resources managed by Neutron. The main idea of this proposal is\r"},{"line_number":259,"context_line":"described below.\r"},{"line_number":260,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"d96e6ac3_1ddf7959","line":257,"range":{"start_line":257,"start_character":42,"end_line":257,"end_character":61},"in_reply_to":"92cf191b_3c39adc3","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":260,"context_line":"\r"},{"line_number":261,"context_line":"For resources created by Neutron the proposed solution implements the support\r"},{"line_number":262,"context_line":"by checking the specific Neutron signature on these resources. Neutron creates\r"},{"line_number":263,"context_line":"resources in the OVN NB database with the `neutron:` key in `external_ids`\r"},{"line_number":264,"context_line":"register:\r"},{"line_number":265,"context_line":"\r"},{"line_number":266,"context_line":"* Logical_Switch\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ca6109ef_571afbb4","line":263,"range":{"start_line":263,"start_character":57,"end_line":263,"end_character":59},"updated":"2024-01-22 21:24:38.000000000","message":"s/in the","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":260,"context_line":"\r"},{"line_number":261,"context_line":"For resources created by Neutron the proposed solution implements the support\r"},{"line_number":262,"context_line":"by checking the specific Neutron signature on these resources. Neutron creates\r"},{"line_number":263,"context_line":"resources in the OVN NB database with the `neutron:` key in `external_ids`\r"},{"line_number":264,"context_line":"register:\r"},{"line_number":265,"context_line":"\r"},{"line_number":266,"context_line":"* Logical_Switch\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba5ad43a_a86f7028","line":263,"range":{"start_line":263,"start_character":57,"end_line":263,"end_character":59},"in_reply_to":"ca6109ef_571afbb4","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":293,"context_line":"\r"},{"line_number":294,"context_line":"These `neutron:...` keys in external_ids are automatically set by Neutron, so\r"},{"line_number":295,"context_line":"we can rely on them being there. We need to ensure that all methods called by\r"},{"line_number":296,"context_line":"`neutron-ovn-db-sync` check the Neutron signature in the external_ids, and\r"},{"line_number":297,"context_line":"filter/ignore all the other externally managed resources when synchronizing\r"},{"line_number":298,"context_line":"between Neutron and the OVN NB database.\r"},{"line_number":299,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"f38235ee_0fb53dc4","line":296,"range":{"start_line":296,"start_character":1,"end_line":296,"end_character":20},"updated":"2024-01-22 21:24:38.000000000","message":"s/neutron-ovn-db-sync-util","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":293,"context_line":"\r"},{"line_number":294,"context_line":"These `neutron:...` keys in external_ids are automatically set by Neutron, so\r"},{"line_number":295,"context_line":"we can rely on them being there. We need to ensure that all methods called by\r"},{"line_number":296,"context_line":"`neutron-ovn-db-sync` check the Neutron signature in the external_ids, and\r"},{"line_number":297,"context_line":"filter/ignore all the other externally managed resources when synchronizing\r"},{"line_number":298,"context_line":"between Neutron and the OVN NB database.\r"},{"line_number":299,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"2e8b665c_81b011c6","line":296,"range":{"start_line":296,"start_character":1,"end_line":296,"end_character":20},"in_reply_to":"f38235ee_0fb53dc4","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":310,"context_line":"OVN driver changes\r"},{"line_number":311,"context_line":"------------------\r"},{"line_number":312,"context_line":"\r"},{"line_number":313,"context_line":"Update `neutron-ovn-db-sync` as described above.\r"},{"line_number":314,"context_line":"\r"},{"line_number":315,"context_line":"Out of Scope\r"},{"line_number":316,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"be6cab4d_89da3db9","line":313,"range":{"start_line":313,"start_character":8,"end_line":313,"end_character":27},"updated":"2024-01-22 21:24:38.000000000","message":"s/neutron-ovn-db-sync-util","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":310,"context_line":"OVN driver changes\r"},{"line_number":311,"context_line":"------------------\r"},{"line_number":312,"context_line":"\r"},{"line_number":313,"context_line":"Update `neutron-ovn-db-sync` as described above.\r"},{"line_number":314,"context_line":"\r"},{"line_number":315,"context_line":"Out of Scope\r"},{"line_number":316,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"97cc0c80_7887c357","line":313,"range":{"start_line":313,"start_character":8,"end_line":313,"end_character":27},"in_reply_to":"be6cab4d_89da3db9","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":331,"context_line":"Work Items\r"},{"line_number":332,"context_line":"----------\r"},{"line_number":333,"context_line":"\r"},{"line_number":334,"context_line":"* Add exclusion to `neutron-ovn-db-sync`\r"},{"line_number":335,"context_line":"\r"},{"line_number":336,"context_line":"* Implement relevant unit and functional tests using the existing facilities\r"},{"line_number":337,"context_line":"  in Neutron.\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"b764e87f_edaf07bc","line":334,"range":{"start_line":334,"start_character":20,"end_line":334,"end_character":39},"updated":"2024-01-22 21:24:38.000000000","message":"s/neutron-ovn-db-sync-util","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":331,"context_line":"Work Items\r"},{"line_number":332,"context_line":"----------\r"},{"line_number":333,"context_line":"\r"},{"line_number":334,"context_line":"* Add exclusion to `neutron-ovn-db-sync`\r"},{"line_number":335,"context_line":"\r"},{"line_number":336,"context_line":"* Implement relevant unit and functional tests using the existing facilities\r"},{"line_number":337,"context_line":"  in Neutron.\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ad56e24a_d85c7ac2","line":334,"range":{"start_line":334,"start_character":20,"end_line":334,"end_character":39},"in_reply_to":"b764e87f_edaf07bc","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01ac41c59b12d22581298165e0e44e9b2c80cd5a","unresolved":true,"context_lines":[{"line_number":357,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":358,"context_line":"\r"},{"line_number":359,"context_line":".. [1] https://www.ovn.org/support/dist-docs/ovn-architecture.7.html\r"},{"line_number":360,"context_line":".. [2] https://docs.openstack.org/neutron/latest/contributor/testing/testing.html"}],"source_content_type":"text/x-rst","patch_set":9,"id":"e956cd27_f7448966","line":360,"updated":"2024-01-22 21:24:38.000000000","message":"Don\u0027t know if you need a blank line below this to quiet the newline complaint below.","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"e346a00db0c8c48eb1870612a6c44182a8effdf9","unresolved":false,"context_lines":[{"line_number":357,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":358,"context_line":"\r"},{"line_number":359,"context_line":".. [1] https://www.ovn.org/support/dist-docs/ovn-architecture.7.html\r"},{"line_number":360,"context_line":".. [2] https://docs.openstack.org/neutron/latest/contributor/testing/testing.html"}],"source_content_type":"text/x-rst","patch_set":9,"id":"be5aa1b5_470196f6","line":360,"in_reply_to":"e956cd27_f7448966","updated":"2024-01-24 11:59:51.000000000","message":"Done","commit_id":"1c90ed9da5bd16c3dfde320172cf3ab9563d5ade"}],"specs/2024.1/ml2ovn-coexistence-support-ovn-interconnect.rst":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3230389a62d9d53a9234ff2b6f56c53ada1f9ff4","unresolved":true,"context_lines":[{"line_number":21,"context_line":"Nowadays the Neutron OVN db sync command is actively interfering with\r"},{"line_number":22,"context_line":"OVN interconnect by removing resources from the northbound database.\r"},{"line_number":23,"context_line":"The goal of this spec is to remove this interference and allow operators to\r"},{"line_number":24,"context_line":"use OVN interconnect. Is out of the scope of this spec to integrate OVN\r"},{"line_number":25,"context_line":"interconnect directly to Neutron (however this might be part of a future spec).\r"},{"line_number":26,"context_line":"\r"},{"line_number":27,"context_line":"Background: OVN Interconnect\r"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b3be5ff2_5be0c1c6","line":25,"range":{"start_line":24,"start_character":22,"end_line":25,"end_character":32},"updated":"2023-10-20 14:00:43.000000000","message":"so this can be an admin operation, I supposes we need documentation for it in Neutron also, at least with reference to the related OVN docs","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"8abfc0d8325b508d0afe822c27f834f3dadf7c89","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nowadays the Neutron OVN db sync command is actively interfering with\r"},{"line_number":22,"context_line":"OVN interconnect by removing resources from the northbound database.\r"},{"line_number":23,"context_line":"The goal of this spec is to remove this interference and allow operators to\r"},{"line_number":24,"context_line":"use OVN interconnect. Is out of the scope of this spec to integrate OVN\r"},{"line_number":25,"context_line":"interconnect directly to Neutron (however this might be part of a future spec).\r"},{"line_number":26,"context_line":"\r"},{"line_number":27,"context_line":"Background: OVN Interconnect\r"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c8c478e5_abf8f7a1","line":25,"range":{"start_line":24,"start_character":22,"end_line":25,"end_character":32},"in_reply_to":"b3be5ff2_5be0c1c6","updated":"2023-10-20 15:46:22.000000000","message":"+1\nIt would be good to have a doc on how to integrate a tenant\u0027 subnet between two OpenStack deployments, perhaps with some abstractions and/or presumptions about necessary infrastructure.\nI can work on it, but I imagine it will be outside this spec, right?","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":106,"context_line":" +---------------------------------------------------------------------+\r"},{"line_number":107,"context_line":"\r"},{"line_number":108,"context_line":"The following example will outline how OVN Interconnect works within the scope\r"},{"line_number":109,"context_line":"of OVN. It therefor follows the naming of OVN and not that of Neutron (should\r"},{"line_number":110,"context_line":"the two disagree).\r"},{"line_number":111,"context_line":"\r"},{"line_number":112,"context_line":"Example setup::\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c5e75da3_a87c7283","line":109,"range":{"start_line":109,"start_character":11,"end_line":109,"end_character":19},"updated":"2023-10-18 23:22:41.000000000","message":"I was intrigued by this spelling. I think the word you want to use is \"therefore\": https://languagetool.org/insights/post/word-choice-therefore-or-therefor/","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":106,"context_line":" +---------------------------------------------------------------------+\r"},{"line_number":107,"context_line":"\r"},{"line_number":108,"context_line":"The following example will outline how OVN Interconnect works within the scope\r"},{"line_number":109,"context_line":"of OVN. It therefor follows the naming of OVN and not that of Neutron (should\r"},{"line_number":110,"context_line":"the two disagree).\r"},{"line_number":111,"context_line":"\r"},{"line_number":112,"context_line":"Example setup::\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"2adc00a3_123085b4","line":109,"range":{"start_line":109,"start_character":11,"end_line":109,"end_character":19},"in_reply_to":"c5e75da3_a87c7283","updated":"2023-10-20 13:10:35.000000000","message":"oh, sorry for the mistake, and thank you so much for your help.","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":172,"context_line":"With the usage of OVN Interconnect Neutron is no longer the only owner of\r"},{"line_number":173,"context_line":"resources in each OVN deployment.\r"},{"line_number":174,"context_line":"\r"},{"line_number":175,"context_line":"We therefor need to first define which component owns which kind of resources.\r"},{"line_number":176,"context_line":"The resources will be listed below for the left OVN deployment from the\r"},{"line_number":177,"context_line":"example above.\r"},{"line_number":178,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"85db8f59_4c088674","line":175,"range":{"start_line":175,"start_character":3,"end_line":175,"end_character":11},"updated":"2023-10-18 23:22:41.000000000","message":"Ditto","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":172,"context_line":"With the usage of OVN Interconnect Neutron is no longer the only owner of\r"},{"line_number":173,"context_line":"resources in each OVN deployment.\r"},{"line_number":174,"context_line":"\r"},{"line_number":175,"context_line":"We therefor need to first define which component owns which kind of resources.\r"},{"line_number":176,"context_line":"The resources will be listed below for the left OVN deployment from the\r"},{"line_number":177,"context_line":"example above.\r"},{"line_number":178,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"2aad0723_a03d6aa1","line":175,"range":{"start_line":175,"start_character":3,"end_line":175,"end_character":11},"in_reply_to":"85db8f59_4c088674","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":192,"context_line":"Resources owned by ovn-ic\r"},{"line_number":193,"context_line":"-------------------------\r"},{"line_number":194,"context_line":"* ts1\r"},{"line_number":195,"context_line":"* lsp_ts1_lr2 (created in the left OVN deployment)\r"},{"line_number":196,"context_line":"* potentially Logical_Router_Static_Routes attached to lr1\r"},{"line_number":197,"context_line":"  (if route learning is enabled)\r"},{"line_number":198,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"23d23500_c5a9ccfc","line":195,"range":{"start_line":195,"start_character":2,"end_line":195,"end_character":13},"updated":"2023-10-18 23:22:41.000000000","message":"should this be lsp_ts1_lr1?","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":192,"context_line":"Resources owned by ovn-ic\r"},{"line_number":193,"context_line":"-------------------------\r"},{"line_number":194,"context_line":"* ts1\r"},{"line_number":195,"context_line":"* lsp_ts1_lr2 (created in the left OVN deployment)\r"},{"line_number":196,"context_line":"* potentially Logical_Router_Static_Routes attached to lr1\r"},{"line_number":197,"context_line":"  (if route learning is enabled)\r"},{"line_number":198,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"d0e594c8_0f44fa1f","line":195,"range":{"start_line":195,"start_character":2,"end_line":195,"end_character":13},"in_reply_to":"23d23500_c5a9ccfc","updated":"2023-10-20 13:10:35.000000000","message":"That\u0027s right, the LSP of the left OVN deployment (in the same TS) is automatically created by ovn-ic daemon.","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":230,"context_line":"there.\r"},{"line_number":231,"context_line":"\r"},{"line_number":232,"context_line":"For the resources owned by the operator such predefined options do not exist.\r"},{"line_number":233,"context_line":"We therefor define a new key `external_ids:neutron-ovn-db-sync-ignore`.\r"},{"line_number":234,"context_line":"We ignore all resources that have this key set with any value.\r"},{"line_number":235,"context_line":"\r"},{"line_number":236,"context_line":"For resources created by operator with the new key in external_ids this can be\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"91e3347d_018dfbce","line":233,"range":{"start_line":233,"start_character":30,"end_line":233,"end_character":69},"updated":"2023-10-18 23:22:41.000000000","message":"And this has to be set by the operator, either manually or with automation, right?","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":230,"context_line":"there.\r"},{"line_number":231,"context_line":"\r"},{"line_number":232,"context_line":"For the resources owned by the operator such predefined options do not exist.\r"},{"line_number":233,"context_line":"We therefor define a new key `external_ids:neutron-ovn-db-sync-ignore`.\r"},{"line_number":234,"context_line":"We ignore all resources that have this key set with any value.\r"},{"line_number":235,"context_line":"\r"},{"line_number":236,"context_line":"For resources created by operator with the new key in external_ids this can be\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"af026eee_fa1a7f09","line":233,"range":{"start_line":233,"start_character":30,"end_line":233,"end_character":69},"in_reply_to":"91e3347d_018dfbce","updated":"2023-10-20 13:10:35.000000000","message":"Yes, the operator needs to set manually or via some kind of automation. The kube-ovn has manually used this for testing in the past.\nhttps://github.com/kubeovn/kube-ovn/blob/v1.11.11/docs/cluster-interconnection.md","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3230389a62d9d53a9234ff2b6f56c53ada1f9ff4","unresolved":true,"context_lines":[{"line_number":249,"context_line":"rule for the ovn-ic and operator resources created in the OVN Northbound\r"},{"line_number":250,"context_line":"database.\r"},{"line_number":251,"context_line":"\r"},{"line_number":252,"context_line":"This implementation is being named to as coexistence support for OVN\r"},{"line_number":253,"context_line":"interconnect because it is out of scope any type of ovn-ic integration as part\r"},{"line_number":254,"context_line":"of Neutron. The proposal of this implementation is the creation of filters in\r"},{"line_number":255,"context_line":"the checking of the resources created by the ovn-ic and operator, and it is the\r"},{"line_number":256,"context_line":"basis for any future implementation that intends to integrate the OVN\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"27289d59_2622e736","line":253,"range":{"start_line":252,"start_character":41,"end_line":253,"end_character":12},"updated":"2023-10-20 14:00:43.000000000","message":"nit: perhaps highlight it: ``coexistence support for OVN interconnect``","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"8abfc0d8325b508d0afe822c27f834f3dadf7c89","unresolved":false,"context_lines":[{"line_number":249,"context_line":"rule for the ovn-ic and operator resources created in the OVN Northbound\r"},{"line_number":250,"context_line":"database.\r"},{"line_number":251,"context_line":"\r"},{"line_number":252,"context_line":"This implementation is being named to as coexistence support for OVN\r"},{"line_number":253,"context_line":"interconnect because it is out of scope any type of ovn-ic integration as part\r"},{"line_number":254,"context_line":"of Neutron. The proposal of this implementation is the creation of filters in\r"},{"line_number":255,"context_line":"the checking of the resources created by the ovn-ic and operator, and it is the\r"},{"line_number":256,"context_line":"basis for any future implementation that intends to integrate the OVN\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"89479da0_a1828f5c","line":253,"range":{"start_line":252,"start_character":41,"end_line":253,"end_character":12},"in_reply_to":"27289d59_2622e736","updated":"2023-10-20 15:46:22.000000000","message":"sounds good!","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":256,"context_line":"basis for any future implementation that intends to integrate the OVN\r"},{"line_number":257,"context_line":"interconnect to Neutron.\r"},{"line_number":258,"context_line":"\r"},{"line_number":259,"context_line":"There are pros and cons to completelly integrating OVN interconnect into\r"},{"line_number":260,"context_line":"Neutron. From a technical perspective, the operator can use the coexistence\r"},{"line_number":261,"context_line":"support proposed in this RFE to manage their interconnect resources in a\r"},{"line_number":262,"context_line":"large-scale and multi-tenant deployment.\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e10a1511_5b9afc7b","line":259,"range":{"start_line":259,"start_character":27,"end_line":259,"end_character":38},"updated":"2023-10-18 23:22:41.000000000","message":"completely","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":256,"context_line":"basis for any future implementation that intends to integrate the OVN\r"},{"line_number":257,"context_line":"interconnect to Neutron.\r"},{"line_number":258,"context_line":"\r"},{"line_number":259,"context_line":"There are pros and cons to completelly integrating OVN interconnect into\r"},{"line_number":260,"context_line":"Neutron. From a technical perspective, the operator can use the coexistence\r"},{"line_number":261,"context_line":"support proposed in this RFE to manage their interconnect resources in a\r"},{"line_number":262,"context_line":"large-scale and multi-tenant deployment.\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"744299fe_c9bc2f69","line":259,"range":{"start_line":259,"start_character":27,"end_line":259,"end_character":38},"in_reply_to":"e10a1511_5b9afc7b","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":263,"context_line":"\r"},{"line_number":264,"context_line":"To implement the coexistence support the `neutron-ovn-db-sync` tool needs to\r"},{"line_number":265,"context_line":"know about the ovn-ic and the operator interconnection resources. The main idea\r"},{"line_number":266,"context_line":"of this proposal is described bellow.\r"},{"line_number":267,"context_line":"\r"},{"line_number":268,"context_line":"For resources created by ovn-ic the proposed solution implement the support by\r"},{"line_number":269,"context_line":"checking specific fields on these resources:\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"135a3c9d_fc968073","line":266,"range":{"start_line":266,"start_character":30,"end_line":266,"end_character":36},"updated":"2023-10-18 23:22:41.000000000","message":"You want \"below\": https://www.merriam-webster.com/dictionary/bellow","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":263,"context_line":"\r"},{"line_number":264,"context_line":"To implement the coexistence support the `neutron-ovn-db-sync` tool needs to\r"},{"line_number":265,"context_line":"know about the ovn-ic and the operator interconnection resources. The main idea\r"},{"line_number":266,"context_line":"of this proposal is described bellow.\r"},{"line_number":267,"context_line":"\r"},{"line_number":268,"context_line":"For resources created by ovn-ic the proposed solution implement the support by\r"},{"line_number":269,"context_line":"checking specific fields on these resources:\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"48416082_00c466c7","line":266,"range":{"start_line":266,"start_character":30,"end_line":266,"end_character":36},"in_reply_to":"135a3c9d_fc968073","updated":"2023-10-20 13:10:35.000000000","message":"thanks","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":265,"context_line":"know about the ovn-ic and the operator interconnection resources. The main idea\r"},{"line_number":266,"context_line":"of this proposal is described bellow.\r"},{"line_number":267,"context_line":"\r"},{"line_number":268,"context_line":"For resources created by ovn-ic the proposed solution implement the support by\r"},{"line_number":269,"context_line":"checking specific fields on these resources:\r"},{"line_number":270,"context_line":"\r"},{"line_number":271,"context_line":"* Logical_Switch\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"abde2cca_f0f28e29","line":268,"range":{"start_line":268,"start_character":54,"end_line":268,"end_character":63},"updated":"2023-10-18 23:22:41.000000000","message":"\"is to implement\" or \"implements\"","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":265,"context_line":"know about the ovn-ic and the operator interconnection resources. The main idea\r"},{"line_number":266,"context_line":"of this proposal is described bellow.\r"},{"line_number":267,"context_line":"\r"},{"line_number":268,"context_line":"For resources created by ovn-ic the proposed solution implement the support by\r"},{"line_number":269,"context_line":"checking specific fields on these resources:\r"},{"line_number":270,"context_line":"\r"},{"line_number":271,"context_line":"* Logical_Switch\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"49dad793_7f991ffe","line":268,"range":{"start_line":268,"start_character":54,"end_line":268,"end_character":63},"in_reply_to":"abde2cca_f0f28e29","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":271,"context_line":"* Logical_Switch\r"},{"line_number":272,"context_line":"  `other_config:interconn-ts` with any value\r"},{"line_number":273,"context_line":"\r"},{"line_number":274,"context_line":"OVN interconnection dynamically create logical switches in the OVN NB database\r"},{"line_number":275,"context_line":"with the `interconn-ts` key in other_config register.\r"},{"line_number":276,"context_line":"\r"},{"line_number":277,"context_line":".. code::\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"829d7fe6_69e34511","line":274,"range":{"start_line":274,"start_character":20,"end_line":274,"end_character":38},"updated":"2023-10-18 23:22:41.000000000","message":"wouldn\u0027t \"automatically creates\" better?","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":271,"context_line":"* Logical_Switch\r"},{"line_number":272,"context_line":"  `other_config:interconn-ts` with any value\r"},{"line_number":273,"context_line":"\r"},{"line_number":274,"context_line":"OVN interconnection dynamically create logical switches in the OVN NB database\r"},{"line_number":275,"context_line":"with the `interconn-ts` key in other_config register.\r"},{"line_number":276,"context_line":"\r"},{"line_number":277,"context_line":".. code::\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"cf4fe694_b42debce","line":274,"range":{"start_line":274,"start_character":20,"end_line":274,"end_character":38},"in_reply_to":"829d7fe6_69e34511","updated":"2023-10-20 13:10:35.000000000","message":"yeah, it makes sense and souds better. Thanks","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":297,"context_line":"* Logical_Switch_Port\r"},{"line_number":298,"context_line":"  `type` field is set to `remote`\r"},{"line_number":299,"context_line":"\r"},{"line_number":300,"context_line":"OVN interconnection dynamically create logical switch ports in the OVN NB\r"},{"line_number":301,"context_line":"Logical_Switch table with the field `type` set to `remote`.\r"},{"line_number":302,"context_line":"\r"},{"line_number":303,"context_line":".. code::\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"21b3ec17_7d9b110d","line":300,"range":{"start_line":300,"start_character":20,"end_line":300,"end_character":38},"updated":"2023-10-18 23:22:41.000000000","message":"Ditto","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":297,"context_line":"* Logical_Switch_Port\r"},{"line_number":298,"context_line":"  `type` field is set to `remote`\r"},{"line_number":299,"context_line":"\r"},{"line_number":300,"context_line":"OVN interconnection dynamically create logical switch ports in the OVN NB\r"},{"line_number":301,"context_line":"Logical_Switch table with the field `type` set to `remote`.\r"},{"line_number":302,"context_line":"\r"},{"line_number":303,"context_line":".. code::\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"06177f15_36764d95","line":300,"range":{"start_line":300,"start_character":20,"end_line":300,"end_character":38},"in_reply_to":"21b3ec17_7d9b110d","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":317,"context_line":"          addresses: [\"aa:aa:aa:aa:cc:11 169.254.100.21/24 fd00::a/64\"]\r"},{"line_number":318,"context_line":"\r"},{"line_number":319,"context_line":"The Neutron method `sync_networks_ports_and_dhcp_opts` is the part of the\r"},{"line_number":320,"context_line":"db_sync tool that perform the sync of networks and ports between Neutron and\r"},{"line_number":321,"context_line":"OVN NB database. It is important to check for this case the Logical_Switch with\r"},{"line_number":322,"context_line":"`interconn-ts` key in other_config register and the Logical_Switch_Port with\r"},{"line_number":323,"context_line":"the field `type` set to `remote`, and keep these resources without removing\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1e91e679_a39743ae","line":320,"range":{"start_line":320,"start_character":18,"end_line":320,"end_character":25},"updated":"2023-10-18 23:22:41.000000000","message":"performs","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":317,"context_line":"          addresses: [\"aa:aa:aa:aa:cc:11 169.254.100.21/24 fd00::a/64\"]\r"},{"line_number":318,"context_line":"\r"},{"line_number":319,"context_line":"The Neutron method `sync_networks_ports_and_dhcp_opts` is the part of the\r"},{"line_number":320,"context_line":"db_sync tool that perform the sync of networks and ports between Neutron and\r"},{"line_number":321,"context_line":"OVN NB database. It is important to check for this case the Logical_Switch with\r"},{"line_number":322,"context_line":"`interconn-ts` key in other_config register and the Logical_Switch_Port with\r"},{"line_number":323,"context_line":"the field `type` set to `remote`, and keep these resources without removing\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"05293491_cedb4993","line":320,"range":{"start_line":320,"start_character":18,"end_line":320,"end_character":25},"in_reply_to":"1e91e679_a39743ae","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":318,"context_line":"\r"},{"line_number":319,"context_line":"The Neutron method `sync_networks_ports_and_dhcp_opts` is the part of the\r"},{"line_number":320,"context_line":"db_sync tool that perform the sync of networks and ports between Neutron and\r"},{"line_number":321,"context_line":"OVN NB database. It is important to check for this case the Logical_Switch with\r"},{"line_number":322,"context_line":"`interconn-ts` key in other_config register and the Logical_Switch_Port with\r"},{"line_number":323,"context_line":"the field `type` set to `remote`, and keep these resources without removing\r"},{"line_number":324,"context_line":"them.\r"},{"line_number":325,"context_line":"\r"},{"line_number":326,"context_line":"* Logical_Router_Static_Route\r"},{"line_number":327,"context_line":"  `external_ids:ic-learned-route` with any value\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7d261a3f_cdaf3f92","line":324,"range":{"start_line":321,"start_character":42,"end_line":324,"end_character":5},"updated":"2023-10-18 23:22:41.000000000","message":"For clarity, consider:\n\n\"... in this case for LogicalSwitchs with the \u0027intercon-ts\u0027 key in the other_config register and Logical_Switch_Ports with the field \u0027type\u0027 set to \u0027remote\u0027 and don\u0027t remove them\"","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":318,"context_line":"\r"},{"line_number":319,"context_line":"The Neutron method `sync_networks_ports_and_dhcp_opts` is the part of the\r"},{"line_number":320,"context_line":"db_sync tool that perform the sync of networks and ports between Neutron and\r"},{"line_number":321,"context_line":"OVN NB database. It is important to check for this case the Logical_Switch with\r"},{"line_number":322,"context_line":"`interconn-ts` key in other_config register and the Logical_Switch_Port with\r"},{"line_number":323,"context_line":"the field `type` set to `remote`, and keep these resources without removing\r"},{"line_number":324,"context_line":"them.\r"},{"line_number":325,"context_line":"\r"},{"line_number":326,"context_line":"* Logical_Router_Static_Route\r"},{"line_number":327,"context_line":"  `external_ids:ic-learned-route` with any value\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7c02032b_a4a974a0","line":324,"range":{"start_line":321,"start_character":42,"end_line":324,"end_character":5},"in_reply_to":"7d261a3f_cdaf3f92","updated":"2023-10-20 13:10:35.000000000","message":"yeah, much better this way, thanks.","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":326,"context_line":"* Logical_Router_Static_Route\r"},{"line_number":327,"context_line":"  `external_ids:ic-learned-route` with any value\r"},{"line_number":328,"context_line":"\r"},{"line_number":329,"context_line":"OVN interconnection dynamically create Static Routes in the OVN NB\r"},{"line_number":330,"context_line":"Logical_Router entries referenced to the table Logical_Router_Static_Route\r"},{"line_number":331,"context_line":"with the `ic-learned-route` key in external_ids register.\r"},{"line_number":332,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1d4c0362_d1958de7","line":329,"range":{"start_line":329,"start_character":20,"end_line":329,"end_character":38},"updated":"2023-10-18 23:22:41.000000000","message":"automatically creates","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":326,"context_line":"* Logical_Router_Static_Route\r"},{"line_number":327,"context_line":"  `external_ids:ic-learned-route` with any value\r"},{"line_number":328,"context_line":"\r"},{"line_number":329,"context_line":"OVN interconnection dynamically create Static Routes in the OVN NB\r"},{"line_number":330,"context_line":"Logical_Router entries referenced to the table Logical_Router_Static_Route\r"},{"line_number":331,"context_line":"with the `ic-learned-route` key in external_ids register.\r"},{"line_number":332,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"18038a96_d6817aac","line":329,"range":{"start_line":329,"start_character":20,"end_line":329,"end_character":38},"in_reply_to":"1d4c0362_d1958de7","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":328,"context_line":"\r"},{"line_number":329,"context_line":"OVN interconnection dynamically create Static Routes in the OVN NB\r"},{"line_number":330,"context_line":"Logical_Router entries referenced to the table Logical_Router_Static_Route\r"},{"line_number":331,"context_line":"with the `ic-learned-route` key in external_ids register.\r"},{"line_number":332,"context_line":"\r"},{"line_number":333,"context_line":"Neutron managed Logical_Router example:\r"},{"line_number":334,"context_line":".. code::\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"6abb351b_04930f43","line":331,"range":{"start_line":331,"start_character":35,"end_line":331,"end_character":47},"updated":"2023-10-18 23:22:41.000000000","message":"the external_ids","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":328,"context_line":"\r"},{"line_number":329,"context_line":"OVN interconnection dynamically create Static Routes in the OVN NB\r"},{"line_number":330,"context_line":"Logical_Router entries referenced to the table Logical_Router_Static_Route\r"},{"line_number":331,"context_line":"with the `ic-learned-route` key in external_ids register.\r"},{"line_number":332,"context_line":"\r"},{"line_number":333,"context_line":"Neutron managed Logical_Router example:\r"},{"line_number":334,"context_line":".. code::\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"404500ec_c44bc362","line":331,"range":{"start_line":331,"start_character":35,"end_line":331,"end_character":47},"in_reply_to":"6abb351b_04930f43","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":392,"context_line":"  route_table         : \"\"\r"},{"line_number":393,"context_line":"\r"},{"line_number":394,"context_line":"The Neutron method `sync_routers_and_rports` is the part of the db_sync tool\r"},{"line_number":395,"context_line":"that perform the sync of Logical_Router between Neutron and OVN NB database.\r"},{"line_number":396,"context_line":"This method gets the list of the static routes related to a Logical_Router. It\r"},{"line_number":397,"context_line":"is important to check for this case the routes with `ic-learned-route` in the\r"},{"line_number":398,"context_line":"external_ids register and keep these resources without removing them.\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"32e0ddab_e3f588ee","line":395,"range":{"start_line":395,"start_character":5,"end_line":395,"end_character":12},"updated":"2023-10-18 23:22:41.000000000","message":"performs","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":392,"context_line":"  route_table         : \"\"\r"},{"line_number":393,"context_line":"\r"},{"line_number":394,"context_line":"The Neutron method `sync_routers_and_rports` is the part of the db_sync tool\r"},{"line_number":395,"context_line":"that perform the sync of Logical_Router between Neutron and OVN NB database.\r"},{"line_number":396,"context_line":"This method gets the list of the static routes related to a Logical_Router. It\r"},{"line_number":397,"context_line":"is important to check for this case the routes with `ic-learned-route` in the\r"},{"line_number":398,"context_line":"external_ids register and keep these resources without removing them.\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ae7f27a_0f62b1ec","line":395,"range":{"start_line":395,"start_character":5,"end_line":395,"end_character":12},"in_reply_to":"32e0ddab_e3f588ee","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":394,"context_line":"The Neutron method `sync_routers_and_rports` is the part of the db_sync tool\r"},{"line_number":395,"context_line":"that perform the sync of Logical_Router between Neutron and OVN NB database.\r"},{"line_number":396,"context_line":"This method gets the list of the static routes related to a Logical_Router. It\r"},{"line_number":397,"context_line":"is important to check for this case the routes with `ic-learned-route` in the\r"},{"line_number":398,"context_line":"external_ids register and keep these resources without removing them.\r"},{"line_number":399,"context_line":"\r"},{"line_number":400,"context_line":"For resources created by operator the proposed solution implement the support\r"},{"line_number":401,"context_line":"by checking specific fields on these resources:\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b2ddac39_b10b3cc3","line":398,"range":{"start_line":397,"start_character":22,"end_line":398,"end_character":69},"updated":"2023-10-18 23:22:41.000000000","message":"Consider a suggestion similar to the one offered for line 321","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":394,"context_line":"The Neutron method `sync_routers_and_rports` is the part of the db_sync tool\r"},{"line_number":395,"context_line":"that perform the sync of Logical_Router between Neutron and OVN NB database.\r"},{"line_number":396,"context_line":"This method gets the list of the static routes related to a Logical_Router. It\r"},{"line_number":397,"context_line":"is important to check for this case the routes with `ic-learned-route` in the\r"},{"line_number":398,"context_line":"external_ids register and keep these resources without removing them.\r"},{"line_number":399,"context_line":"\r"},{"line_number":400,"context_line":"For resources created by operator the proposed solution implement the support\r"},{"line_number":401,"context_line":"by checking specific fields on these resources:\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"12935d65_119a7c60","line":398,"range":{"start_line":397,"start_character":22,"end_line":398,"end_character":69},"in_reply_to":"b2ddac39_b10b3cc3","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":403,"context_line":"* Logical_Switch_Port\r"},{"line_number":404,"context_line":"  `external_ids:neutron-ovn-db-sync-ignore` with any value\r"},{"line_number":405,"context_line":"\r"},{"line_number":406,"context_line":"OVN interconnection dynamically create the Logical_Switch (TS) in the OVN NB.\r"},{"line_number":407,"context_line":"The operator needs to create a Logical_Switch_Port to link TS with the tenant\r"},{"line_number":408,"context_line":"Logical_Router.\r"},{"line_number":409,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5bd6d5fa_11063991","line":406,"range":{"start_line":406,"start_character":20,"end_line":406,"end_character":39},"updated":"2023-10-18 23:22:41.000000000","message":"automatically creates","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":403,"context_line":"* Logical_Switch_Port\r"},{"line_number":404,"context_line":"  `external_ids:neutron-ovn-db-sync-ignore` with any value\r"},{"line_number":405,"context_line":"\r"},{"line_number":406,"context_line":"OVN interconnection dynamically create the Logical_Switch (TS) in the OVN NB.\r"},{"line_number":407,"context_line":"The operator needs to create a Logical_Switch_Port to link TS with the tenant\r"},{"line_number":408,"context_line":"Logical_Router.\r"},{"line_number":409,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"30c26de9_e80eac30","line":406,"range":{"start_line":406,"start_character":20,"end_line":406,"end_character":39},"in_reply_to":"5bd6d5fa_11063991","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":407,"context_line":"The operator needs to create a Logical_Switch_Port to link TS with the tenant\r"},{"line_number":408,"context_line":"Logical_Router.\r"},{"line_number":409,"context_line":"\r"},{"line_number":410,"context_line":"The Logical_Switch_Port created by operator needs to set the new key\r"},{"line_number":411,"context_line":"`neutron-ovn-db-sync-ignore` in the external_ids register with any value. In\r"},{"line_number":412,"context_line":"the example below, the value was filled with `true` but it could have any\r"},{"line_number":413,"context_line":"value because the only relevant information is the key contained in the\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"d8d8a765_9c2f8adf","line":410,"range":{"start_line":410,"start_character":53,"end_line":410,"end_character":56},"updated":"2023-10-18 23:22:41.000000000","message":"s/set/have","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":407,"context_line":"The operator needs to create a Logical_Switch_Port to link TS with the tenant\r"},{"line_number":408,"context_line":"Logical_Router.\r"},{"line_number":409,"context_line":"\r"},{"line_number":410,"context_line":"The Logical_Switch_Port created by operator needs to set the new key\r"},{"line_number":411,"context_line":"`neutron-ovn-db-sync-ignore` in the external_ids register with any value. In\r"},{"line_number":412,"context_line":"the example below, the value was filled with `true` but it could have any\r"},{"line_number":413,"context_line":"value because the only relevant information is the key contained in the\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"81b84a1b_b74ca0d6","line":410,"range":{"start_line":410,"start_character":35,"end_line":410,"end_character":43},"updated":"2023-10-18 23:22:41.000000000","message":"the operator","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":407,"context_line":"The operator needs to create a Logical_Switch_Port to link TS with the tenant\r"},{"line_number":408,"context_line":"Logical_Router.\r"},{"line_number":409,"context_line":"\r"},{"line_number":410,"context_line":"The Logical_Switch_Port created by operator needs to set the new key\r"},{"line_number":411,"context_line":"`neutron-ovn-db-sync-ignore` in the external_ids register with any value. In\r"},{"line_number":412,"context_line":"the example below, the value was filled with `true` but it could have any\r"},{"line_number":413,"context_line":"value because the only relevant information is the key contained in the\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b007156d_b26a9b4f","line":410,"range":{"start_line":410,"start_character":35,"end_line":410,"end_character":43},"in_reply_to":"81b84a1b_b74ca0d6","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":407,"context_line":"The operator needs to create a Logical_Switch_Port to link TS with the tenant\r"},{"line_number":408,"context_line":"Logical_Router.\r"},{"line_number":409,"context_line":"\r"},{"line_number":410,"context_line":"The Logical_Switch_Port created by operator needs to set the new key\r"},{"line_number":411,"context_line":"`neutron-ovn-db-sync-ignore` in the external_ids register with any value. In\r"},{"line_number":412,"context_line":"the example below, the value was filled with `true` but it could have any\r"},{"line_number":413,"context_line":"value because the only relevant information is the key contained in the\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"16e40f1f_96582e68","line":410,"range":{"start_line":410,"start_character":53,"end_line":410,"end_character":56},"in_reply_to":"d8d8a765_9c2f8adf","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":443,"context_line":"* Logical_Router_Port\r"},{"line_number":444,"context_line":"  `external_ids:neutron-ovn-db-sync-ignore` with any value\r"},{"line_number":445,"context_line":"\r"},{"line_number":446,"context_line":"The Logical_Router_Port created by operator needs to set the new key\r"},{"line_number":447,"context_line":"`neutron-ovn-db-sync-ignore` in the external_ids register with any value. In\r"},{"line_number":448,"context_line":"the example below, the value was filled with `true` but it could have any\r"},{"line_number":449,"context_line":"value because the only relevant information is the key contained in the\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"417ebd8e_3f9759e8","line":446,"range":{"start_line":446,"start_character":53,"end_line":446,"end_character":56},"updated":"2023-10-18 23:22:41.000000000","message":"s/set/have","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":443,"context_line":"* Logical_Router_Port\r"},{"line_number":444,"context_line":"  `external_ids:neutron-ovn-db-sync-ignore` with any value\r"},{"line_number":445,"context_line":"\r"},{"line_number":446,"context_line":"The Logical_Router_Port created by operator needs to set the new key\r"},{"line_number":447,"context_line":"`neutron-ovn-db-sync-ignore` in the external_ids register with any value. In\r"},{"line_number":448,"context_line":"the example below, the value was filled with `true` but it could have any\r"},{"line_number":449,"context_line":"value because the only relevant information is the key contained in the\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"371a7e8e_cf9589c3","line":446,"range":{"start_line":446,"start_character":35,"end_line":446,"end_character":43},"updated":"2023-10-18 23:22:41.000000000","message":"the operator","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":443,"context_line":"* Logical_Router_Port\r"},{"line_number":444,"context_line":"  `external_ids:neutron-ovn-db-sync-ignore` with any value\r"},{"line_number":445,"context_line":"\r"},{"line_number":446,"context_line":"The Logical_Router_Port created by operator needs to set the new key\r"},{"line_number":447,"context_line":"`neutron-ovn-db-sync-ignore` in the external_ids register with any value. In\r"},{"line_number":448,"context_line":"the example below, the value was filled with `true` but it could have any\r"},{"line_number":449,"context_line":"value because the only relevant information is the key contained in the\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"aa53f024_797f6c9d","line":446,"range":{"start_line":446,"start_character":35,"end_line":446,"end_character":43},"in_reply_to":"371a7e8e_cf9589c3","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":443,"context_line":"* Logical_Router_Port\r"},{"line_number":444,"context_line":"  `external_ids:neutron-ovn-db-sync-ignore` with any value\r"},{"line_number":445,"context_line":"\r"},{"line_number":446,"context_line":"The Logical_Router_Port created by operator needs to set the new key\r"},{"line_number":447,"context_line":"`neutron-ovn-db-sync-ignore` in the external_ids register with any value. In\r"},{"line_number":448,"context_line":"the example below, the value was filled with `true` but it could have any\r"},{"line_number":449,"context_line":"value because the only relevant information is the key contained in the\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"72a0b126_3e4765ce","line":446,"range":{"start_line":446,"start_character":53,"end_line":446,"end_character":56},"in_reply_to":"417ebd8e_3f9759e8","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":471,"context_line":"  options             : {}\r"},{"line_number":472,"context_line":"  peer                : []\r"},{"line_number":473,"context_line":"\r"},{"line_number":474,"context_line":"For the Logical_Switch_Port and Logical_Router_Port created by operator, the\r"},{"line_number":475,"context_line":"db_sync tool needs to ignore these resources when syncronizing between Neutron\r"},{"line_number":476,"context_line":"and OVN NB database. It is important to check for this case the LSP and LRP\r"},{"line_number":477,"context_line":"with `neutron-ovn-db-sync-ignore` in the external_ids register and keep these\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3dd4d24f_f2f33e76","line":474,"range":{"start_line":474,"start_character":63,"end_line":474,"end_character":71},"updated":"2023-10-18 23:22:41.000000000","message":"the operator","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":471,"context_line":"  options             : {}\r"},{"line_number":472,"context_line":"  peer                : []\r"},{"line_number":473,"context_line":"\r"},{"line_number":474,"context_line":"For the Logical_Switch_Port and Logical_Router_Port created by operator, the\r"},{"line_number":475,"context_line":"db_sync tool needs to ignore these resources when syncronizing between Neutron\r"},{"line_number":476,"context_line":"and OVN NB database. It is important to check for this case the LSP and LRP\r"},{"line_number":477,"context_line":"with `neutron-ovn-db-sync-ignore` in the external_ids register and keep these\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"553c8eb0_ed4a030b","line":474,"range":{"start_line":474,"start_character":63,"end_line":474,"end_character":71},"in_reply_to":"3dd4d24f_f2f33e76","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":473,"context_line":"\r"},{"line_number":474,"context_line":"For the Logical_Switch_Port and Logical_Router_Port created by operator, the\r"},{"line_number":475,"context_line":"db_sync tool needs to ignore these resources when syncronizing between Neutron\r"},{"line_number":476,"context_line":"and OVN NB database. It is important to check for this case the LSP and LRP\r"},{"line_number":477,"context_line":"with `neutron-ovn-db-sync-ignore` in the external_ids register and keep these\r"},{"line_number":478,"context_line":"resources without removing them.\r"},{"line_number":479,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c3936668_b3e36b0e","line":476,"range":{"start_line":476,"start_character":4,"end_line":476,"end_character":7},"updated":"2023-10-18 23:22:41.000000000","message":"the OVN","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":473,"context_line":"\r"},{"line_number":474,"context_line":"For the Logical_Switch_Port and Logical_Router_Port created by operator, the\r"},{"line_number":475,"context_line":"db_sync tool needs to ignore these resources when syncronizing between Neutron\r"},{"line_number":476,"context_line":"and OVN NB database. It is important to check for this case the LSP and LRP\r"},{"line_number":477,"context_line":"with `neutron-ovn-db-sync-ignore` in the external_ids register and keep these\r"},{"line_number":478,"context_line":"resources without removing them.\r"},{"line_number":479,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"67266ac8_f9538cdd","line":476,"range":{"start_line":476,"start_character":4,"end_line":476,"end_character":7},"in_reply_to":"c3936668_b3e36b0e","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":474,"context_line":"For the Logical_Switch_Port and Logical_Router_Port created by operator, the\r"},{"line_number":475,"context_line":"db_sync tool needs to ignore these resources when syncronizing between Neutron\r"},{"line_number":476,"context_line":"and OVN NB database. It is important to check for this case the LSP and LRP\r"},{"line_number":477,"context_line":"with `neutron-ovn-db-sync-ignore` in the external_ids register and keep these\r"},{"line_number":478,"context_line":"resources without removing them.\r"},{"line_number":479,"context_line":"\r"},{"line_number":480,"context_line":"DB Impact\r"},{"line_number":481,"context_line":"---------\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"cdf5c0b4_5fb173c9","line":478,"range":{"start_line":477,"start_character":0,"end_line":478,"end_character":29},"updated":"2023-10-18 23:22:41.000000000","message":"Consider a suggestion similar to the one offered for line 321","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":474,"context_line":"For the Logical_Switch_Port and Logical_Router_Port created by operator, the\r"},{"line_number":475,"context_line":"db_sync tool needs to ignore these resources when syncronizing between Neutron\r"},{"line_number":476,"context_line":"and OVN NB database. It is important to check for this case the LSP and LRP\r"},{"line_number":477,"context_line":"with `neutron-ovn-db-sync-ignore` in the external_ids register and keep these\r"},{"line_number":478,"context_line":"resources without removing them.\r"},{"line_number":479,"context_line":"\r"},{"line_number":480,"context_line":"DB Impact\r"},{"line_number":481,"context_line":"---------\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"854277d3_52b06f72","line":478,"range":{"start_line":477,"start_character":0,"end_line":478,"end_character":29},"in_reply_to":"cdf5c0b4_5fb173c9","updated":"2023-10-20 13:10:35.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3230389a62d9d53a9234ff2b6f56c53ada1f9ff4","unresolved":true,"context_lines":[{"line_number":491,"context_line":"------------------\r"},{"line_number":492,"context_line":"\r"},{"line_number":493,"context_line":"Update `neutron-ovn-db-sync` as described above.\r"},{"line_number":494,"context_line":"\r"},{"line_number":495,"context_line":"Out of Scope\r"},{"line_number":496,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":497,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"713d902f_c6c2ba41","line":494,"updated":"2023-10-20 14:00:43.000000000","message":"* documentation\n* I don\u0027t see how it should be tested in upstream CI, but at least some way ofr low level testing would be necessary with strong developer documentation to avoid regressions later","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"8abfc0d8325b508d0afe822c27f834f3dadf7c89","unresolved":false,"context_lines":[{"line_number":491,"context_line":"------------------\r"},{"line_number":492,"context_line":"\r"},{"line_number":493,"context_line":"Update `neutron-ovn-db-sync` as described above.\r"},{"line_number":494,"context_line":"\r"},{"line_number":495,"context_line":"Out of Scope\r"},{"line_number":496,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":497,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e96e7973_a6b08a58","line":494,"in_reply_to":"713d902f_c6c2ba41","updated":"2023-10-20 15:46:22.000000000","message":"Done","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3230389a62d9d53a9234ff2b6f56c53ada1f9ff4","unresolved":true,"context_lines":[{"line_number":495,"context_line":"Out of Scope\r"},{"line_number":496,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":497,"context_line":"\r"},{"line_number":498,"context_line":"* Integrating ovn-interconnect in any way;\r"},{"line_number":499,"context_line":"\r"},{"line_number":500,"context_line":"* Managing the Logical_Switch_Port and Logical_Router_Port between the Neutron\r"},{"line_number":501,"context_line":"  created Logical_Router and the ovn-ic created Logical_Switch;\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"78415b64_49c18872","line":498,"updated":"2023-10-20 14:00:43.000000000","message":"into Neutron?","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"8abfc0d8325b508d0afe822c27f834f3dadf7c89","unresolved":false,"context_lines":[{"line_number":495,"context_line":"Out of Scope\r"},{"line_number":496,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":497,"context_line":"\r"},{"line_number":498,"context_line":"* Integrating ovn-interconnect in any way;\r"},{"line_number":499,"context_line":"\r"},{"line_number":500,"context_line":"* Managing the Logical_Switch_Port and Logical_Router_Port between the Neutron\r"},{"line_number":501,"context_line":"  created Logical_Router and the ovn-ic created Logical_Switch;\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"08233163_e93e8db5","line":498,"in_reply_to":"78415b64_49c18872","updated":"2023-10-20 15:46:22.000000000","message":"yes, I changed this part to make it clearer here.","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a5b5a4680a0d9b0128170fdc5b0766b3a6038294","unresolved":true,"context_lines":[{"line_number":517,"context_line":"\r"},{"line_number":518,"context_line":"* Implement relevant unit and functional tests using the existing facilities\r"},{"line_number":519,"context_line":"  in Neutron.\r"},{"line_number":520,"context_line":"\r"},{"line_number":521,"context_line":"Testing\r"},{"line_number":522,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":523,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"cec3048b_45b33629","line":520,"updated":"2023-10-18 23:22:41.000000000","message":"How about some documentation. I think a chapter explaining how this works would be very helpful here: https://github.com/openstack/neutron/tree/master/doc/source/admin","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b0c161868c4975ce3b0edfa893c890d955ff2654","unresolved":false,"context_lines":[{"line_number":517,"context_line":"\r"},{"line_number":518,"context_line":"* Implement relevant unit and functional tests using the existing facilities\r"},{"line_number":519,"context_line":"  in Neutron.\r"},{"line_number":520,"context_line":"\r"},{"line_number":521,"context_line":"Testing\r"},{"line_number":522,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":523,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"deb3a05f_bf4873e3","line":520,"in_reply_to":"cec3048b_45b33629","updated":"2023-10-20 13:10:35.000000000","message":"I also believe it would be super helpful. Are you talking about some kind of how-to document to exemplify the deployment configuration? I can check references on how to do this there.","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3230389a62d9d53a9234ff2b6f56c53ada1f9ff4","unresolved":true,"context_lines":[{"line_number":521,"context_line":"Testing\r"},{"line_number":522,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":523,"context_line":"\r"},{"line_number":524,"context_line":"* Unit/functional tests.\r"},{"line_number":525,"context_line":"\r"},{"line_number":526,"context_line":"References\r"},{"line_number":527,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8b0c0b1b_9b4c3120","line":524,"updated":"2023-10-20 14:00:43.000000000","message":"* documentation\n* I don\u0027t see how it should be tested in upstream CI, but at least some way for low level testing would be necessary with strong developer documentation to avoid regressions later. So if you see functional framework can work for this reason big +1 from me","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"8abfc0d8325b508d0afe822c27f834f3dadf7c89","unresolved":false,"context_lines":[{"line_number":521,"context_line":"Testing\r"},{"line_number":522,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":523,"context_line":"\r"},{"line_number":524,"context_line":"* Unit/functional tests.\r"},{"line_number":525,"context_line":"\r"},{"line_number":526,"context_line":"References\r"},{"line_number":527,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e976bc1d_0e2ff6a3","line":524,"in_reply_to":"8b0c0b1b_9b4c3120","updated":"2023-10-20 15:46:22.000000000","message":"I believe we can use the functional framework for this.\n\nAFAIK we use devstack to run the functional tests in upstream CI, right? So, the ovn-ic damons are part of the standard OVN package and would be available for installation and configuration via devstack scripts. My only concern is how to start them via framework CI (from the tests beginning or load/unload in a specific part?) Note: Even if a TS is created at the test start, it will not change anything in the current behavior until it is associated with a Neutron\u0027 router.\n\nWe can program the OVN mech_driver to create a TS and the respective LRP/LSP ports via OVN backend (simulating the resources owned by the operator), and connect to the resources created by Neutron. In adition, we need a secondary OVN setup, of course. We can limit this secondary deployment to run with a minimal configurationbecause we are not interested in running a full Openstack here.\n\nWell, I don\u0027t have strong knowledge about the upstream CI framework, but I believe this can be done with some help.\n\nWhat do you think about this? Does it make sense to you?","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f1da05058b99fed44c233e072a4808ebc8252069","unresolved":false,"context_lines":[{"line_number":521,"context_line":"Testing\r"},{"line_number":522,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":523,"context_line":"\r"},{"line_number":524,"context_line":"* Unit/functional tests.\r"},{"line_number":525,"context_line":"\r"},{"line_number":526,"context_line":"References\r"},{"line_number":527,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"0b82740d_1bdf84b0","line":524,"in_reply_to":"e976bc1d_0e2ff6a3","updated":"2023-10-25 07:21:10.000000000","message":"sounds great. I am not familiar how OVN is tested in the functional framework, but as I know there\u0027s possibility to start processes and such, so I suppose that can be a first step to have 2 OVN instances.","commit_id":"0e8d530ba16d94428a6a9581107003516ae76648"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a14bfab97e4de11bd3f8d9dbdf1e4f76eb459f38","unresolved":true,"context_lines":[{"line_number":21,"context_line":"Nowadays the Neutron OVN db sync command is actively interfering with\r"},{"line_number":22,"context_line":"OVN interconnect by removing resources from the northbound database.\r"},{"line_number":23,"context_line":"The goal of this spec is to remove this interference and allow operators to\r"},{"line_number":24,"context_line":"use OVN interconnect. Is out of the scope of this spec to integrate OVN\r"},{"line_number":25,"context_line":"interconnect directly to Neutron (however this might be part of a future spec).\r"},{"line_number":26,"context_line":"\r"},{"line_number":27,"context_line":"Background: OVN Interconnect\r"}],"source_content_type":"text/x-rst","patch_set":6,"id":"42a69ade_51852fe7","line":24,"range":{"start_line":24,"start_character":22,"end_line":24,"end_character":24},"updated":"2023-10-20 18:52:31.000000000","message":"It is","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"4dae1918c59c12d93957bb60328cd7d700f60a8e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nowadays the Neutron OVN db sync command is actively interfering with\r"},{"line_number":22,"context_line":"OVN interconnect by removing resources from the northbound database.\r"},{"line_number":23,"context_line":"The goal of this spec is to remove this interference and allow operators to\r"},{"line_number":24,"context_line":"use OVN interconnect. Is out of the scope of this spec to integrate OVN\r"},{"line_number":25,"context_line":"interconnect directly to Neutron (however this might be part of a future spec).\r"},{"line_number":26,"context_line":"\r"},{"line_number":27,"context_line":"Background: OVN Interconnect\r"}],"source_content_type":"text/x-rst","patch_set":6,"id":"f7e8aa77_b576c600","line":24,"range":{"start_line":24,"start_character":22,"end_line":24,"end_character":24},"in_reply_to":"42a69ade_51852fe7","updated":"2023-10-20 20:07:40.000000000","message":"Done","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a14bfab97e4de11bd3f8d9dbdf1e4f76eb459f38","unresolved":true,"context_lines":[{"line_number":29,"context_line":"\r"},{"line_number":30,"context_line":"The OVN Interconnect allows multiple clusters to be interconnected at Layer 3\r"},{"line_number":31,"context_line":"level. This can be useful for deployments with multiple Availability\r"},{"line_number":32,"context_line":"Zones (AZs) that needs to allowing connectivity between workloads in separate\r"},{"line_number":33,"context_line":"zones.\r"},{"line_number":34,"context_line":"\r"},{"line_number":35,"context_line":"In the case of layer 3 interconnection, the logical routers on each cluster /\r"}],"source_content_type":"text/x-rst","patch_set":6,"id":"475a3313_3788224d","line":32,"range":{"start_line":32,"start_character":26,"end_line":32,"end_character":34},"updated":"2023-10-20 18:52:31.000000000","message":"allow","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"4dae1918c59c12d93957bb60328cd7d700f60a8e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\r"},{"line_number":30,"context_line":"The OVN Interconnect allows multiple clusters to be interconnected at Layer 3\r"},{"line_number":31,"context_line":"level. This can be useful for deployments with multiple Availability\r"},{"line_number":32,"context_line":"Zones (AZs) that needs to allowing connectivity between workloads in separate\r"},{"line_number":33,"context_line":"zones.\r"},{"line_number":34,"context_line":"\r"},{"line_number":35,"context_line":"In the case of layer 3 interconnection, the logical routers on each cluster /\r"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e059e0df_d62e2e55","line":32,"range":{"start_line":32,"start_character":26,"end_line":32,"end_character":34},"in_reply_to":"475a3313_3788224d","updated":"2023-10-20 20:07:40.000000000","message":"Done","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a14bfab97e4de11bd3f8d9dbdf1e4f76eb459f38","unresolved":true,"context_lines":[{"line_number":158,"context_line":"interconnection process. On each side we have an OVN cluster/AZ with its local\r"},{"line_number":159,"context_line":"managed resources: LSP for VMs, LS, LSP connecting the VM to the router and\r"},{"line_number":160,"context_line":"the LR. What does OVN interconnect add to a standard topology to make this\r"},{"line_number":161,"context_line":"works? A connection between the Tenant logical router and a Transit Switch.\r"},{"line_number":162,"context_line":"\r"},{"line_number":163,"context_line":"The global database of the OVN IC dynamically replicates the TS between all\r"},{"line_number":164,"context_line":"members of the interconnect domain (clusters/AZs), and what needs to be done\r"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6b7e5884_02e9be20","line":161,"range":{"start_line":161,"start_character":0,"end_line":161,"end_character":5},"updated":"2023-10-20 18:52:31.000000000","message":"work","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"4dae1918c59c12d93957bb60328cd7d700f60a8e","unresolved":false,"context_lines":[{"line_number":158,"context_line":"interconnection process. On each side we have an OVN cluster/AZ with its local\r"},{"line_number":159,"context_line":"managed resources: LSP for VMs, LS, LSP connecting the VM to the router and\r"},{"line_number":160,"context_line":"the LR. What does OVN interconnect add to a standard topology to make this\r"},{"line_number":161,"context_line":"works? A connection between the Tenant logical router and a Transit Switch.\r"},{"line_number":162,"context_line":"\r"},{"line_number":163,"context_line":"The global database of the OVN IC dynamically replicates the TS between all\r"},{"line_number":164,"context_line":"members of the interconnect domain (clusters/AZs), and what needs to be done\r"}],"source_content_type":"text/x-rst","patch_set":6,"id":"db85ac3a_cd239109","line":161,"range":{"start_line":161,"start_character":0,"end_line":161,"end_character":5},"in_reply_to":"6b7e5884_02e9be20","updated":"2023-10-20 20:07:40.000000000","message":"Done","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a14bfab97e4de11bd3f8d9dbdf1e4f76eb459f38","unresolved":true,"context_lines":[{"line_number":515,"context_line":"* Add exclusion to `neutron-ovn-db-sync`\r"},{"line_number":516,"context_line":"\r"},{"line_number":517,"context_line":"* Implement relevant unit and functional tests using the existing facilities\r"},{"line_number":518,"context_line":"  in Neutron.\r"},{"line_number":519,"context_line":"\r"},{"line_number":520,"context_line":"Testing\r"},{"line_number":521,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":6,"id":"41f72c8b_3248e5bb","line":518,"updated":"2023-10-20 18:52:31.000000000","message":"Please don\u0027t forget to add documentation. What\u0027s the point of implementing a feature without guidelines to potential users on how to take advantage of it? It is not difficult at all. You just need to add one RST file to your implementation. For example, in this feature https://review.opendev.org/c/openstack/neutron/+/858879 I added this doc: https://review.opendev.org/c/openstack/neutron/+/858879/46/doc/source/admin/config-metadata-rate-limiting.rst. Once the patch is merged, the OpenStack infrastructure automatically renders it this way: https://docs.openstack.org/neutron/latest/admin/config-metadata-rate-limiting.html. You don\u0027t need to do anything beyond creating the RST file","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"4dae1918c59c12d93957bb60328cd7d700f60a8e","unresolved":false,"context_lines":[{"line_number":515,"context_line":"* Add exclusion to `neutron-ovn-db-sync`\r"},{"line_number":516,"context_line":"\r"},{"line_number":517,"context_line":"* Implement relevant unit and functional tests using the existing facilities\r"},{"line_number":518,"context_line":"  in Neutron.\r"},{"line_number":519,"context_line":"\r"},{"line_number":520,"context_line":"Testing\r"},{"line_number":521,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":6,"id":"43cf60a7_cdcd9278","line":518,"in_reply_to":"41f72c8b_3248e5bb","updated":"2023-10-20 20:07:40.000000000","message":"I understand, it\u0027s very clear now:) Sorry for the delay in understanding your point. I added the documentation item and will work on it during implementation in Neutron code.","commit_id":"b66b0e8e5dd04bb84116a4c460a847fd1b270ec8"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a996c5f52b4c71a50e571f883b2472650589a46d","unresolved":true,"context_lines":[{"line_number":12,"context_line":"\r"},{"line_number":13,"context_line":"Currently two individual Neutron deployments using ML2/OVN are separate and may\r"},{"line_number":14,"context_line":"only communicate using normal provider networks. However OVN supports the\r"},{"line_number":15,"context_line":"feature OVN interconnect, that allows multiple separate OVN deployments to be\r"},{"line_number":16,"context_line":"connected together. The interconnection is implemented using a normal overlay\r"},{"line_number":17,"context_line":"(just like the one between compute nodes) and can therefore be created easily\r"},{"line_number":18,"context_line":"in a large scale (something that is not necessarily the case for provider\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"389d40b8_7d525d7d","line":15,"range":{"start_line":15,"start_character":8,"end_line":15,"end_character":24},"updated":"2023-10-30 15:03:53.000000000","message":"nitty nit: I would put it into \\`\\` \\`\\` to mark that this is name of the feature from the OVN","commit_id":"198c9b1ee349a0466f9b8c213b025009126b78c7"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"809f54b361cd7931223ebf1beb36969b5138553e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\r"},{"line_number":13,"context_line":"Currently two individual Neutron deployments using ML2/OVN are separate and may\r"},{"line_number":14,"context_line":"only communicate using normal provider networks. However OVN supports the\r"},{"line_number":15,"context_line":"feature OVN interconnect, that allows multiple separate OVN deployments to be\r"},{"line_number":16,"context_line":"connected together. The interconnection is implemented using a normal overlay\r"},{"line_number":17,"context_line":"(just like the one between compute nodes) and can therefore be created easily\r"},{"line_number":18,"context_line":"in a large scale (something that is not necessarily the case for provider\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"51aa1251_8443cc67","line":15,"range":{"start_line":15,"start_character":8,"end_line":15,"end_character":24},"in_reply_to":"389d40b8_7d525d7d","updated":"2023-10-30 17:38:41.000000000","message":"Done","commit_id":"198c9b1ee349a0466f9b8c213b025009126b78c7"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a996c5f52b4c71a50e571f883b2472650589a46d","unresolved":true,"context_lines":[{"line_number":269,"context_line":"checking specific fields on these resources:\r"},{"line_number":270,"context_line":"\r"},{"line_number":271,"context_line":"* Logical_Switch\r"},{"line_number":272,"context_line":"  `other_config:interconn-ts` with any value\r"},{"line_number":273,"context_line":"\r"},{"line_number":274,"context_line":"OVN interconnection automatically creates logical switches in the OVN NB\r"},{"line_number":275,"context_line":"database with the `interconn-ts` key in other_config register.\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"990b7a8c_f4c4c7bf","line":272,"range":{"start_line":272,"start_character":3,"end_line":272,"end_character":28},"updated":"2023-10-30 15:03:53.000000000","message":"just to make sure I understood correctly - this is key added by the ovn-interconnect daemon, right?","commit_id":"198c9b1ee349a0466f9b8c213b025009126b78c7"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"809f54b361cd7931223ebf1beb36969b5138553e","unresolved":false,"context_lines":[{"line_number":269,"context_line":"checking specific fields on these resources:\r"},{"line_number":270,"context_line":"\r"},{"line_number":271,"context_line":"* Logical_Switch\r"},{"line_number":272,"context_line":"  `other_config:interconn-ts` with any value\r"},{"line_number":273,"context_line":"\r"},{"line_number":274,"context_line":"OVN interconnection automatically creates logical switches in the OVN NB\r"},{"line_number":275,"context_line":"database with the `interconn-ts` key in other_config register.\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"66023446_8b9c3645","line":272,"range":{"start_line":272,"start_character":3,"end_line":272,"end_character":28},"in_reply_to":"990b7a8c_f4c4c7bf","updated":"2023-10-30 17:38:41.000000000","message":"Exactly! The ovn-ic daemon automatically creates logical switches in the OVN NB\ndatabase with the `interconn-ts` key in other_config register.","commit_id":"198c9b1ee349a0466f9b8c213b025009126b78c7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f1da05058b99fed44c233e072a4808ebc8252069","unresolved":true,"context_lines":[{"line_number":525,"context_line":"Administrator Documentation\r"},{"line_number":526,"context_line":"---------------------------\r"},{"line_number":527,"context_line":"\r"},{"line_number":528,"context_line":"Administrator documentation will need be included to describe to operators how\r"},{"line_number":529,"context_line":"to use the OVN interconnect when building their interconnected OpenStack\r"},{"line_number":530,"context_line":"clusters.\r"},{"line_number":531,"context_line":"\r"},{"line_number":532,"context_line":"Testing\r"},{"line_number":533,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"aafc969a_deb55d00","line":530,"range":{"start_line":528,"start_character":0,"end_line":530,"end_character":9},"updated":"2023-10-25 07:21:10.000000000","message":"+1","commit_id":"198c9b1ee349a0466f9b8c213b025009126b78c7"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"809f54b361cd7931223ebf1beb36969b5138553e","unresolved":false,"context_lines":[{"line_number":525,"context_line":"Administrator Documentation\r"},{"line_number":526,"context_line":"---------------------------\r"},{"line_number":527,"context_line":"\r"},{"line_number":528,"context_line":"Administrator documentation will need be included to describe to operators how\r"},{"line_number":529,"context_line":"to use the OVN interconnect when building their interconnected OpenStack\r"},{"line_number":530,"context_line":"clusters.\r"},{"line_number":531,"context_line":"\r"},{"line_number":532,"context_line":"Testing\r"},{"line_number":533,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1c2b8e3c_bdd997c0","line":530,"range":{"start_line":528,"start_character":0,"end_line":530,"end_character":9},"in_reply_to":"aafc969a_deb55d00","updated":"2023-10-30 17:38:41.000000000","message":"Done","commit_id":"198c9b1ee349a0466f9b8c213b025009126b78c7"}],"specs/2024.1/ml2ovn-partial-support-ovn-interconnect.rst":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"0acebddc78229634047ccc32850f947c5ef348fe","unresolved":true,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode\r"},{"line_number":6,"context_line":"\r"},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":8,"context_line":"ML2/OVN - Partial Support for OVN Interconnect\r"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":10,"context_line":"\r"},{"line_number":11,"context_line":"https://bugs.launchpad.net/neutron/+bug/2027742\r"}],"source_content_type":"text/x-rst","patch_set":2,"id":"793afa1c_8faf6b9b","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":46},"updated":"2023-08-31 14:09:05.000000000","message":"If I\u0027m understanding this spec correctly, this is not specific to OVN interconnect.\nI believe the title is a bit confusing as there\u0027s no support to manage the transit switches; to ensure that CIDrs across the deployments don\u0027t collide; etcetera.\n\nIMO this spec is mostly to allow certain resources to co-exist in the Northbound database along with those owned by Neutron. It does not matter, whether they are OVN IC related, or something else as the sole purpose of this is to avoid Neutron deleting those.\n\nI\u0027d be in favor of renaming the spec for clarity and add the OVN Interconnect use case just as an example of how this can be leveraged.\n\nWhat do you think?","commit_id":"c9d7f7a309ac21dcac8486b33800b0fc24352bbb"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"87b9e1b5c80e201cc6914884ee558195bad28749","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode\r"},{"line_number":6,"context_line":"\r"},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":8,"context_line":"ML2/OVN - Partial Support for OVN Interconnect\r"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":10,"context_line":"\r"},{"line_number":11,"context_line":"https://bugs.launchpad.net/neutron/+bug/2027742\r"}],"source_content_type":"text/x-rst","patch_set":2,"id":"831ea73f_9ade6813","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":46},"in_reply_to":"793afa1c_8faf6b9b","updated":"2023-09-05 12:22:56.000000000","message":"Hi Daniel.\n\nI agree with you on some points but the support for transit switches is much more complex and is out of the scope of this RFE. The management of the tenant\u0027s subnet (to not collide CIDRs, for example) would need to be managed by some external central entity and this is absolutely out of the scope, as there is no project or reference in OpenStack to do something like this. At this point, it is the operator\u0027s responsibility to know what is being interconnected and to ensure that a CIDR collision does not occur. It would not be possible to implement complete OVN-IC support without communicating and integrating databases between different OpenStacks, and I don\u0027t see the technical feasibility of that. In addition, OVN-IC allows these tenant networks to be connected to other types of backends that run OVN, such as ovn-kube, LXD, etc... So OpenStack is not the only use case and may not be the only \"owner\" of the Transit switch.\n\nAbout the coexistence of resources being generic from the Neutron perspective, yes, it could... that was my initial discussion at the PTG in March. However, the resources managed by OpenStack are \"protected\" with the db-sync mechanism. The main idea of this RFE (including security reasons) is to identify and integrate only the resources that OVN interconnect creates, with their respective information in OVN registers such as external_ids, etc.\n\nIMO the RFE name makes sense because it is a partial support (since TS is not integrated into OpenStack - as well as things like address collision management, etc.), and it is specific to OVN interconnect features, we don\u0027t want generic implementations (perhaps for other purposes) can coexist without Neutron management.\n\nDoes it make sense to you?","commit_id":"c9d7f7a309ac21dcac8486b33800b0fc24352bbb"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"d15cd6c2f6bd16f4c4793973bc3bd3148f6a4d4f","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode\r"},{"line_number":6,"context_line":"\r"},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":8,"context_line":"ML2/OVN - Partial Support for OVN Interconnect\r"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":10,"context_line":"\r"},{"line_number":11,"context_line":"https://bugs.launchpad.net/neutron/+bug/2027742\r"}],"source_content_type":"text/x-rst","patch_set":2,"id":"b37ef428_ecf5df70","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":46},"in_reply_to":"831ea73f_9ade6813","updated":"2023-09-21 13:33:19.000000000","message":"Thanks Roberto.\nWe\u0027re on the same page with regards to the transit switches, CIDR collision, etcetera as it is a much more complex subject to discuss and implement. Also, this part is the bulk of OVN-IC.\n\nThe way I see this spec (forgive me if I\u0027m too simplistic) is to allow other resources to co-exist in the OVN database with those created by Neutron. IMO, this is just a tiny (but necessary) piece of the whole puzzle but having this does not get anyone close to integrating OVN-IC in their OpenStack cluster. I understand you used the word \u0027partial\u0027 but when it\u0027s probably a 5% (?) of the total work needed to use the feature, it can be a bit misleading.\n\nIf other reviewers are ok with this, I won\u0027t block though 😊","commit_id":"c9d7f7a309ac21dcac8486b33800b0fc24352bbb"},{"author":{"_account_id":35432,"name":"Roberto Acosta","display_name":"rbartzen","email":"rbartzen@gmail.com","username":"rbartzen"},"change_message_id":"b1be79bbd7bab4a97a4cb25ca4ae008ddc45769f","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode\r"},{"line_number":6,"context_line":"\r"},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":8,"context_line":"ML2/OVN - Partial Support for OVN Interconnect\r"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":10,"context_line":"\r"},{"line_number":11,"context_line":"https://bugs.launchpad.net/neutron/+bug/2027742\r"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f285f82f_8d3f14a6","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":46},"in_reply_to":"b37ef428_ecf5df70","updated":"2023-09-21 17:53:41.000000000","message":"Hi Daniel, thank for bringing this up.\n\nYou are rigth, the goal of this spec is just to provide a coexistence way to implement l3 network interconnects using the OVN-IC (in the simplest way!). The idea is very simple but it is the basis for allowing the coexistence of resources.\n\nThank you for your paper on ovn-interconnect and for saying that we are on the same page about all the context that ovn-ic represents and needs to integrate everything with Neutron (out of scope).\n\nI have no problem rewriting the title to something like:\n\u0027Initial Support for OVN Interconnect\u0027 or \n\u0027Basic Support for OVN Interconnect\u0027 \n\nWhat do you think? 😊","commit_id":"c9d7f7a309ac21dcac8486b33800b0fc24352bbb"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"10702d1a20b18583a0c852ac414ade6fcce8df21","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode\r"},{"line_number":6,"context_line":"\r"},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":8,"context_line":"ML2/OVN - Partial Support for OVN Interconnect\r"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":10,"context_line":"\r"},{"line_number":11,"context_line":"https://bugs.launchpad.net/neutron/+bug/2027742\r"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6345809c_5df73d53","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":46},"in_reply_to":"f285f82f_8d3f14a6","updated":"2023-10-05 07:25:27.000000000","message":"Sounds good,thanks Roberto :)","commit_id":"c9d7f7a309ac21dcac8486b33800b0fc24352bbb"}]}
