)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"b6b2e25a4b25c80826641b52c1d126ceb6d10e1b","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use the new network HA parameter"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implementes the new network HA boolean field API extension."},{"line_number":10,"context_line":"This field is an input only parameter for POST operations (creation)."},{"line_number":11,"context_line":"By default is \"False\". When enabled, the Neutron server will create"},{"line_number":12,"context_line":"a ``ha_router_networks`` register in the same transaction of the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"75ea1243_c324eff4","line":9,"range":{"start_line":9,"start_character":11,"end_line":9,"end_character":22},"updated":"2023-05-19 11:23:51.000000000","message":"just if you need to respin for other reasons, not important: \"implements\"","commit_id":"8db03715206a954968970bebcfc33b28a6f9f36a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"abd3a2b823b5c18751c1115505fbaeaa6f9079b0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use the new network HA parameter"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implementes the new network HA boolean field API extension."},{"line_number":10,"context_line":"This field is an input only parameter for POST operations (creation)."},{"line_number":11,"context_line":"By default is \"False\". When enabled, the Neutron server will create"},{"line_number":12,"context_line":"a ``ha_router_networks`` register in the same transaction of the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"d241ba7c_5860d56a","line":9,"range":{"start_line":9,"start_character":11,"end_line":9,"end_character":22},"in_reply_to":"75ea1243_c324eff4","updated":"2023-06-05 11:18:18.000000000","message":"Done","commit_id":"8db03715206a954968970bebcfc33b28a6f9f36a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b8b8654e410dbe3707a42f282b67c76ee7ea8bf0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"e494aa28_856c0285","updated":"2023-05-03 15:47:43.000000000","message":"recheck neutron-ovs-grenade-dvr-multinode","commit_id":"f46a60892b3ca836b658c1009834e618aa5660ac"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"92809a34d8d6c0ef200a717b59d7644c3a44c528","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"6695eadd_5a72fad0","updated":"2023-05-12 10:05:13.000000000","message":"I\u0027ve not tested this code. But seems this is not taking care the bug situation:\n1. one worker created the HA network, but no subnet yet.\n2. Another worker is creating the HA router, found the HA network, but HA network has no subnet.\nThe two API will not meets the new network_ha DB uniq check.","commit_id":"978f752f7f881a1f73c1dde4c80f682b83a96354"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"339fb15d01b6f5d4e9f61065517c98b2193358a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"53ebf4d0_9a9a23d2","in_reply_to":"6695eadd_5a72fad0","updated":"2023-05-17 11:19:07.000000000","message":"This is addressed in the upper patch: https://review.opendev.org/c/openstack/neutron/+/881826/","commit_id":"978f752f7f881a1f73c1dde4c80f682b83a96354"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c7a7c16cfec5a119933410701fea66c8e6002dff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"fc267fc3_23a1efb0","updated":"2023-05-17 13:42:27.000000000","message":"recheck grenade","commit_id":"8db03715206a954968970bebcfc33b28a6f9f36a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"1929c6855a02544976cb52868aa2f2bc45c3e98a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"c409bf4d_3b2d4d75","updated":"2023-06-08 08:50:40.000000000","message":"Please use the n-lib extension for network-ha","commit_id":"868af9e2b20fc0b9aa3b7decaef0196118140baa"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5b1780f88ab4607dda0834109b3e73fffc640cab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"cf747fc7_4ae0a42c","updated":"2023-06-06 11:06:33.000000000","message":"recheck neutron-fullstack-with-uwsgi","commit_id":"868af9e2b20fc0b9aa3b7decaef0196118140baa"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7207026c4ff5eadb9e7b253ac6f989df221b9d16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"bcbd341d_cb6bdab9","updated":"2023-07-06 15:37:16.000000000","message":"recheck neutron-fullstack-with-uwsgi","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"83a4ba76ef8b44f1d992fe2381bfeb8cfa44d2cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"95145b1c_3a394de2","updated":"2023-07-05 14:38:55.000000000","message":"recheck neutron-ovn-rally-task","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"242f7b027c234f1c4925e43d6c794266d6f8de2a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"1a262589_f82408f9","updated":"2023-07-04 16:36:54.000000000","message":"recheck neutron-ovs-grenade-multinode","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2ccf65c1ce9b39adaeccfac4eb0eb3e97c517c39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"1ec0ce27_2fc9600b","updated":"2023-07-07 12:41:11.000000000","message":"recheck neutron-ovs-grenade-multinode","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"802eff9f8cda27e2a11849654aac970d7ee868f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ea90f240_9f2e448b","updated":"2023-07-10 11:33:14.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"dcc71d9f6b94f6943a9894cd43f4377e13984a55","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"e0b39366_2b952b86","updated":"2023-07-10 08:30:20.000000000","message":"recheck neutron-tempest-plugin-designate-scenario","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e5673e6f70adc21fdaf4c7fee0446d5e16d01f64","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"65ac517b_49021e0c","updated":"2023-07-07 10:00:56.000000000","message":"recheck openstack-tox-docs timeout","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3f0a80e838f5dc20e3e743a4434c9ce4bab4506c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"445ee2aa_bade0cee","updated":"2023-07-21 09:18:56.000000000","message":"recheck neutron-tempest-plugin-openvswitch-enforce-scope-new-defaults","commit_id":"ef91e1a9878267526de9cc57c754193507413bab"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b538e2af1f8af1b5ea2ddc1cdc0b0a1f2b022a98","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"b5b7217b_7b8e6516","updated":"2023-08-28 12:55:08.000000000","message":"Code-wise it looks good to me. The release note text is a bit confusing to me, left a question","commit_id":"4109ee9bb44a1dbaf520c6bdb051c8f63328e23f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"82dea07092cf1e8f9cc9eb0e40ea6a0a77f3015f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"68e02206_2cd3c7b8","updated":"2023-08-28 13:17:42.000000000","message":"Looks good for me. Thx.","commit_id":"4109ee9bb44a1dbaf520c6bdb051c8f63328e23f"}],"neutron/common/ovn/extensions.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0ef15cd712e02ab2bcfe7db3a651d0b5990a4c87","unresolved":true,"context_lines":[{"line_number":122,"context_line":"    extra_dhcp_opt.ALIAS,"},{"line_number":123,"context_line":"    filter_validation.ALIAS,"},{"line_number":124,"context_line":"    multiprovidernet.ALIAS,"},{"line_number":125,"context_line":"    network_ha.ALIAS,"},{"line_number":126,"context_line":"    network_mtu.ALIAS,"},{"line_number":127,"context_line":"    network_mtu_writable.ALIAS,"},{"line_number":128,"context_line":"    network_availability_zone.ALIAS,"}],"source_content_type":"text/x-python","patch_set":17,"id":"0911a17b_30ba0b82","line":125,"updated":"2023-07-19 12:27:51.000000000","message":"just a question: do we really need this extension in OVN case? We don\u0027t use those ha networks with this backend at all","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"286e987707c2d743b4e7e12564bbde28ca7cf34d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    extra_dhcp_opt.ALIAS,"},{"line_number":123,"context_line":"    filter_validation.ALIAS,"},{"line_number":124,"context_line":"    multiprovidernet.ALIAS,"},{"line_number":125,"context_line":"    network_ha.ALIAS,"},{"line_number":126,"context_line":"    network_mtu.ALIAS,"},{"line_number":127,"context_line":"    network_mtu_writable.ALIAS,"},{"line_number":128,"context_line":"    network_availability_zone.ALIAS,"}],"source_content_type":"text/x-python","patch_set":17,"id":"cd66f50e_d510bbb4","line":125,"in_reply_to":"0911a17b_30ba0b82","updated":"2023-07-19 12:36:50.000000000","message":"That\u0027s right, we don\u0027t provide \"ha\" argument for OVN routers. It doesn\u0027t make sense.","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"}],"neutron/extensions/network_ha.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"1929c6855a02544976cb52868aa2f2bc45c3e98a","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"# NOTE(ralonsoh): once the API definition is merged and released in n-lib,"},{"line_number":21,"context_line":"# import from this library."},{"line_number":22,"context_line":"# https://review.opendev.org/c/openstack/neutron-lib/+/881734"},{"line_number":23,"context_line":"class Network_ha(extensions.APIExtensionDescriptor):"},{"line_number":24,"context_line":"    \"\"\"Extension class supporting network HA.\"\"\""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"38356ff3_5548d0f1","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":61},"updated":"2023-06-08 08:50:40.000000000","message":"it is included in 3.6.0 already","commit_id":"868af9e2b20fc0b9aa3b7decaef0196118140baa"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4c0adab2c9fa3f2e4e03f17e083844319cde2e40","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"# NOTE(ralonsoh): once the API definition is merged and released in n-lib,"},{"line_number":21,"context_line":"# import from this library."},{"line_number":22,"context_line":"# https://review.opendev.org/c/openstack/neutron-lib/+/881734"},{"line_number":23,"context_line":"class Network_ha(extensions.APIExtensionDescriptor):"},{"line_number":24,"context_line":"    \"\"\"Extension class supporting network HA.\"\"\""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"0868d348_882526ba","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":61},"in_reply_to":"38356ff3_5548d0f1","updated":"2023-06-15 16:46:25.000000000","message":"Perfect! I\u0027ll do it now.","commit_id":"868af9e2b20fc0b9aa3b7decaef0196118140baa"}],"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0ef15cd712e02ab2bcfe7db3a651d0b5990a4c87","unresolved":true,"context_lines":[{"line_number":240,"context_line":"                                    pdp_def.ALIAS,"},{"line_number":241,"context_line":"                                    quota_check_limit.ALIAS,"},{"line_number":242,"context_line":"                                    port_mac_address_override.ALIAS,"},{"line_number":243,"context_line":"                                    network_ha_apidef.ALIAS,"},{"line_number":244,"context_line":"                                    ]"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    # List of agent types for which all binding_failed ports should try to be"}],"source_content_type":"text/x-python","patch_set":17,"id":"d78b735c_cdf11e41","line":243,"updated":"2023-07-19 12:27:51.000000000","message":"should this be supported by ML2 plugin or by L3 service plugin maybe?","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"286e987707c2d743b4e7e12564bbde28ca7cf34d","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                                    pdp_def.ALIAS,"},{"line_number":241,"context_line":"                                    quota_check_limit.ALIAS,"},{"line_number":242,"context_line":"                                    port_mac_address_override.ALIAS,"},{"line_number":243,"context_line":"                                    network_ha_apidef.ALIAS,"},{"line_number":244,"context_line":"                                    ]"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    # List of agent types for which all binding_failed ports should try to be"}],"source_content_type":"text/x-python","patch_set":17,"id":"554feb10_6aeb39bc","line":243,"in_reply_to":"d78b735c_cdf11e41","updated":"2023-07-19 12:36:50.000000000","message":"Let me check that.","commit_id":"42a565a4b13685b7d06d2e94635d785fc5bfa7e7"}],"neutron/tests/unit/db/test_l3_hamode_db.py":[{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"b6b2e25a4b25c80826641b52c1d126ceb6d10e1b","unresolved":true,"context_lines":[{"line_number":1408,"context_line":"        ha_network \u003d self.plugin.get_ha_network(self.admin_ctx, project_id)"},{"line_number":1409,"context_line":"        self.assertEqual(project_id, ha_network.project_id)"},{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"        # This second coll ensures the method is idempotent."},{"line_number":1412,"context_line":"        self.plugin._before_router_create(mock.ANY, self.admin_ctx, router)"},{"line_number":1413,"context_line":"        ha_network \u003d self.plugin.get_ha_network(self.admin_ctx, project_id)"},{"line_number":1414,"context_line":"        self.assertEqual(project_id, ha_network.project_id)"}],"source_content_type":"text/x-python","patch_set":12,"id":"a4a64bb4_75627cc7","line":1411,"range":{"start_line":1411,"start_character":22,"end_line":1411,"end_character":26},"updated":"2023-05-19 11:23:51.000000000","message":"Same as in the commit message, not important at all but just if you need to change other stuff. I think this was \"call\"","commit_id":"8db03715206a954968970bebcfc33b28a6f9f36a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"abd3a2b823b5c18751c1115505fbaeaa6f9079b0","unresolved":false,"context_lines":[{"line_number":1408,"context_line":"        ha_network \u003d self.plugin.get_ha_network(self.admin_ctx, project_id)"},{"line_number":1409,"context_line":"        self.assertEqual(project_id, ha_network.project_id)"},{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"        # This second coll ensures the method is idempotent."},{"line_number":1412,"context_line":"        self.plugin._before_router_create(mock.ANY, self.admin_ctx, router)"},{"line_number":1413,"context_line":"        ha_network \u003d self.plugin.get_ha_network(self.admin_ctx, project_id)"},{"line_number":1414,"context_line":"        self.assertEqual(project_id, ha_network.project_id)"}],"source_content_type":"text/x-python","patch_set":12,"id":"4c21a5eb_b909e372","line":1411,"range":{"start_line":1411,"start_character":22,"end_line":1411,"end_character":26},"in_reply_to":"a4a64bb4_75627cc7","updated":"2023-06-05 11:18:18.000000000","message":"Done","commit_id":"8db03715206a954968970bebcfc33b28a6f9f36a"}],"releasenotes/notes/network_ha_extension-99578e7ee47f47db.yaml":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b538e2af1f8af1b5ea2ddc1cdc0b0a1f2b022a98","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new API extension ``network-ha`` has been added. This extension adds a"},{"line_number":5,"context_line":"    new field to the network API: \"ha\". This field is not visible and can be"},{"line_number":6,"context_line":"    passed only in POST (create) operations. That will define that this network"},{"line_number":7,"context_line":"    is a high availability (HA) network and will create, in the same database"},{"line_number":8,"context_line":"    transaction, a ``ha_router_networks`` register."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"d8d6c670_f429fedd","line":5,"range":{"start_line":5,"start_character":40,"end_line":5,"end_character":65},"updated":"2023-08-28 12:55:08.000000000","message":"By not visible it mean that it won\u0027t show up in the \"network show\" command ?\n\nIs it query-able somehow ?","commit_id":"4109ee9bb44a1dbaf520c6bdb051c8f63328e23f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b538e2af1f8af1b5ea2ddc1cdc0b0a1f2b022a98","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new API extension ``network-ha`` has been added. This extension adds a"},{"line_number":5,"context_line":"    new field to the network API: \"ha\". This field is not visible and can be"},{"line_number":6,"context_line":"    passed only in POST (create) operations. That will define that this network"},{"line_number":7,"context_line":"    is a high availability (HA) network and will create, in the same database"},{"line_number":8,"context_line":"    transaction, a ``ha_router_networks`` register."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"4f3f22b5_f302c8c2","line":5,"range":{"start_line":5,"start_character":34,"end_line":5,"end_character":38},"updated":"2023-08-28 12:55:08.000000000","message":"Should we state that the type of the field is boolean and False by default ?","commit_id":"4109ee9bb44a1dbaf520c6bdb051c8f63328e23f"}]}
