)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"6f16e62f1eb58db080ba3535d0e937b2975f7328","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4a151697_48887d7a","updated":"2024-03-21 18:29:30.000000000","message":"Some more grammar/spelling","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":15993,"name":"Amy Marrich","display_name":"Amy Marrich (spotz)","email":"amy@demarco.com","username":"amarrich"},"change_message_id":"a2fc6c0bccbdefa320bea5cd6dff89e526840f0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"eeca907e_1d24b48d","updated":"2024-03-21 18:17:00.000000000","message":"minor grammar fix","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"977480b32899098aeff1cd25de816d820ba7e6d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e601be35_be545143","in_reply_to":"4a151697_48887d7a","updated":"2024-03-21 20:26:08.000000000","message":"Done","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"977480b32899098aeff1cd25de816d820ba7e6d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"63daadbc_197c796a","updated":"2024-03-21 20:26:08.000000000","message":"Nice additions,thanks","commit_id":"50a54151d72fe157bdb59ee11430046fcb6b6b1e"},{"author":{"_account_id":15993,"name":"Amy Marrich","display_name":"Amy Marrich (spotz)","email":"amy@demarco.com","username":"amarrich"},"change_message_id":"f0321f05ab58c5e74f70ae01e6c833598c602d80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6f5157d3_853f484c","updated":"2024-03-21 23:16:28.000000000","message":"missed a the, other changes look good","commit_id":"dd5963d0821d8c47878c719b6421a81a5cda1a8a"},{"author":{"_account_id":35831,"name":"James Black","display_name":"James Black","email":"jamesjordanblack604@gmail.com","username":"hamburgler"},"change_message_id":"a298511cea92e7fce82265fc93f999e01e736e94","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a15c746e_f631f36a","updated":"2024-03-31 12:44:50.000000000","message":"So far the notes look good. I think this is a reasonable amount of detail to help people get started with OVN in OSA, without going down the rabbit hole of listing far more granular commands for OVS/OVN that are already available through other docs already. I do believe it will be up to architects/engineers to read up on how OVS/OVN work outside of OpenStack on their own.\n\nOther than that, I know Satish put some commands together awhile ago https://satishdotpatel.github.io/openstack-ansible-ovn-clustering/ , wondering if it may be worth adding the \"Recovery from complete database failure\" section to these.\n\nFeel free to mark conversation as resolved, just an idea.","commit_id":"e32bb42866668e96b95deac88cd2ba5de379bb47"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"bd62e25458b32c4e6c4857a870504d0a011e2229","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"78e7a676_68b883d6","in_reply_to":"a15c746e_f631f36a","updated":"2024-05-14 10:56:44.000000000","message":"Done","commit_id":"e32bb42866668e96b95deac88cd2ba5de379bb47"}],"doc/source/app-ovn.rst":[{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"6f16e62f1eb58db080ba3535d0e937b2975f7328","unresolved":true,"context_lines":[{"line_number":281,"context_line":"  \"vlan:br-provider\""},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"You can also get information about agent UUID which will be stated in"},{"line_number":284,"context_line":"``openstack network agent list`` output via simmilar command:"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":".. code-block:: console"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5179bdb1_ec912b8a","line":284,"range":{"start_line":284,"start_character":44,"end_line":284,"end_character":52},"updated":"2024-03-21 18:29:30.000000000","message":"similar","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"3f4adf351ff2b641d4c99609438fc52efa754a19","unresolved":false,"context_lines":[{"line_number":281,"context_line":"  \"vlan:br-provider\""},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"You can also get information about agent UUID which will be stated in"},{"line_number":284,"context_line":"``openstack network agent list`` output via simmilar command:"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":".. code-block:: console"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"05d3dd22_457f4366","line":284,"range":{"start_line":284,"start_character":44,"end_line":284,"end_character":52},"in_reply_to":"5179bdb1_ec912b8a","updated":"2024-03-21 20:18:12.000000000","message":"Done","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"6f16e62f1eb58db080ba3535d0e937b2975f7328","unresolved":true,"context_lines":[{"line_number":346,"context_line":"  transport_zones     : []"},{"line_number":347,"context_line":"  vtep_logical_switches: []"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"As you might see, ``other_config`` row also contains bridge-mapping, which can"},{"line_number":350,"context_line":"be fetched from the table with simmilar to ovs-vsctl way:"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":".. code-block:: console"},{"line_number":353,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"c7c73064_f88e5915","line":350,"range":{"start_line":349,"start_character":0,"end_line":350,"end_character":57},"updated":"2024-03-21 18:29:30.000000000","message":"simiar misspeled.\n\nSuggested edit:\nAs you might see, ``other_config`` row also contains bridge-mapping, which can\nbe fetched from the table similarly to the ovs-vsctl way:","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"3f4adf351ff2b641d4c99609438fc52efa754a19","unresolved":false,"context_lines":[{"line_number":346,"context_line":"  transport_zones     : []"},{"line_number":347,"context_line":"  vtep_logical_switches: []"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"As you might see, ``other_config`` row also contains bridge-mapping, which can"},{"line_number":350,"context_line":"be fetched from the table with simmilar to ovs-vsctl way:"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":".. code-block:: console"},{"line_number":353,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"48335758_2b46d207","line":350,"range":{"start_line":349,"start_character":0,"end_line":350,"end_character":57},"in_reply_to":"c7c73064_f88e5915","updated":"2024-03-21 20:18:12.000000000","message":"Done","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"6f16e62f1eb58db080ba3535d0e937b2975f7328","unresolved":true,"context_lines":[{"line_number":412,"context_line":"Flotaing IPs and Router SNAT are represented via NAT rules in the NB database,"},{"line_number":413,"context_line":"where FIP has type `dnat_and_snat`."},{"line_number":414,"context_line":"You can fetch list of NAT rules assigned to the specific router using router"},{"line_number":415,"context_line":"name in OVN database, which is formated like ``neutron-\u003cUUID\u003e``, where UUID"},{"line_number":416,"context_line":"is the UUID of the router in Neutron database. Command will look like this:"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a424b6d_72182ae1","line":415,"range":{"start_line":415,"start_character":31,"end_line":415,"end_character":39},"updated":"2024-03-21 18:29:30.000000000","message":"formatted","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"3f4adf351ff2b641d4c99609438fc52efa754a19","unresolved":false,"context_lines":[{"line_number":412,"context_line":"Flotaing IPs and Router SNAT are represented via NAT rules in the NB database,"},{"line_number":413,"context_line":"where FIP has type `dnat_and_snat`."},{"line_number":414,"context_line":"You can fetch list of NAT rules assigned to the specific router using router"},{"line_number":415,"context_line":"name in OVN database, which is formated like ``neutron-\u003cUUID\u003e``, where UUID"},{"line_number":416,"context_line":"is the UUID of the router in Neutron database. Command will look like this:"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":4,"id":"76c83aea_b67ac9b8","line":415,"range":{"start_line":415,"start_character":31,"end_line":415,"end_character":39},"in_reply_to":"9a424b6d_72182ae1","updated":"2024-03-21 20:18:12.000000000","message":"Done","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"6f16e62f1eb58db080ba3535d0e937b2975f7328","unresolved":true,"context_lines":[{"line_number":425,"context_line":""},{"line_number":426,"context_line":"Mapping/location of the router to the gateway node can be established by"},{"line_number":427,"context_line":"logical ports of the router. For that you need to know the UUID of the"},{"line_number":428,"context_line":"external port attach to the router. Port name in OVN database is constructed as"},{"line_number":429,"context_line":"``lrp-\u003cUUID\u003e``, where UUID is the Neutron port UUID. Given, that an external"},{"line_number":430,"context_line":"network in topic is named `public`, you can determine the gateway node in a"},{"line_number":431,"context_line":"following way:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"39828c05_b4cb1da0","line":428,"range":{"start_line":428,"start_character":14,"end_line":428,"end_character":20},"updated":"2024-03-21 18:29:30.000000000","message":"attached","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"3f4adf351ff2b641d4c99609438fc52efa754a19","unresolved":false,"context_lines":[{"line_number":425,"context_line":""},{"line_number":426,"context_line":"Mapping/location of the router to the gateway node can be established by"},{"line_number":427,"context_line":"logical ports of the router. For that you need to know the UUID of the"},{"line_number":428,"context_line":"external port attach to the router. Port name in OVN database is constructed as"},{"line_number":429,"context_line":"``lrp-\u003cUUID\u003e``, where UUID is the Neutron port UUID. Given, that an external"},{"line_number":430,"context_line":"network in topic is named `public`, you can determine the gateway node in a"},{"line_number":431,"context_line":"following way:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"b32285f3_4a4547fe","line":428,"range":{"start_line":428,"start_character":14,"end_line":428,"end_character":20},"in_reply_to":"39828c05_b4cb1da0","updated":"2024-03-21 20:18:12.000000000","message":"Done","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"6f16e62f1eb58db080ba3535d0e937b2975f7328","unresolved":true,"context_lines":[{"line_number":427,"context_line":"logical ports of the router. For that you need to know the UUID of the"},{"line_number":428,"context_line":"external port attach to the router. Port name in OVN database is constructed as"},{"line_number":429,"context_line":"``lrp-\u003cUUID\u003e``, where UUID is the Neutron port UUID. Given, that an external"},{"line_number":430,"context_line":"network in topic is named `public`, you can determine the gateway node in a"},{"line_number":431,"context_line":"following way:"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9e729249_0c48a55d","line":430,"updated":"2024-03-21 18:29:30.000000000","message":"the","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"3f4adf351ff2b641d4c99609438fc52efa754a19","unresolved":false,"context_lines":[{"line_number":427,"context_line":"logical ports of the router. For that you need to know the UUID of the"},{"line_number":428,"context_line":"external port attach to the router. Port name in OVN database is constructed as"},{"line_number":429,"context_line":"``lrp-\u003cUUID\u003e``, where UUID is the Neutron port UUID. Given, that an external"},{"line_number":430,"context_line":"network in topic is named `public`, you can determine the gateway node in a"},{"line_number":431,"context_line":"following way:"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":4,"id":"43805488_abfc7b68","line":430,"in_reply_to":"9e729249_0c48a55d","updated":"2024-03-21 20:18:12.000000000","message":"Done","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":18279,"name":"Jonathan Herlin","email":"jonte@jherlin.se","username":"Jonher937"},"change_message_id":"6f16e62f1eb58db080ba3535d0e937b2975f7328","unresolved":true,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"In order to migrate active router logical port to another node, you can"},{"line_number":462,"context_line":"execute following command:"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":".. code-block:: console"},{"line_number":465,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"f8239303_0d012530","line":462,"range":{"start_line":462,"start_character":8,"end_line":462,"end_character":17},"updated":"2024-03-21 18:29:30.000000000","message":"the following","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"3f4adf351ff2b641d4c99609438fc52efa754a19","unresolved":false,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"In order to migrate active router logical port to another node, you can"},{"line_number":462,"context_line":"execute following command:"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":".. code-block:: console"},{"line_number":465,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"de9e4979_9f491298","line":462,"range":{"start_line":462,"start_character":8,"end_line":462,"end_character":17},"in_reply_to":"f8239303_0d012530","updated":"2024-03-21 20:18:12.000000000","message":"Done","commit_id":"0fc4c4dab6aa1d7e81b1cd7ece0cfb2a5b992127"}]}
