)]}'
{"neutron/db/l3_hamode_db.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"4b3af8eaa6b620bb9131beeeb56a3f2a82cb5c0e","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            try:"},{"line_number":158,"context_line":"                # NOTE(kevinbenton): we disallow subtransactions because the"},{"line_number":159,"context_line":"                # retry logic will bust any parent transactions"},{"line_number":160,"context_line":"                with context.session.begin():"},{"line_number":161,"context_line":"                    allocated_vr_ids \u003d self._get_allocated_vr_id(context,"},{"line_number":162,"context_line":"                                                                 network_id)"},{"line_number":163,"context_line":"                    available_vr_ids \u003d VR_ID_RANGE - allocated_vr_ids"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_ec63fdae","line":160,"updated":"2017-01-08 12:44:43.000000000","message":"after the transaction starts you want to actually check if ha_vr_id is already set on router.extra_attributes and then return early if it has one","commit_id":"73a2a2558230f9cd7b6fd8cf2503b1f04c187189"},{"author":{"_account_id":12444,"name":"John Schwarz","email":"jschwarz@redhat.com","username":"jschwarz"},"change_message_id":"d49b0224d9447c5194f14cd8a5f895892d1c3a6e","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            try:"},{"line_number":158,"context_line":"                # NOTE(kevinbenton): we disallow subtransactions because the"},{"line_number":159,"context_line":"                # retry logic will bust any parent transactions"},{"line_number":160,"context_line":"                with context.session.begin():"},{"line_number":161,"context_line":"                    allocated_vr_ids \u003d self._get_allocated_vr_id(context,"},{"line_number":162,"context_line":"                                                                 network_id)"},{"line_number":163,"context_line":"                    available_vr_ids \u003d VR_ID_RANGE - allocated_vr_ids"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_cc0719c8","line":160,"in_reply_to":"ba5201f7_ec63fdae","updated":"2017-01-08 12:57:15.000000000","message":"Done","commit_id":"73a2a2558230f9cd7b6fd8cf2503b1f04c187189"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"4b3af8eaa6b620bb9131beeeb56a3f2a82cb5c0e","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                l3ha_model.L3HARouterVRIdAllocation).filter_by("},{"line_number":192,"context_line":"                    network_id\u003dha_network.network_id, vr_id\u003dvr_id).delete()"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def _set_vr_id(self, context, router, ha_network):"},{"line_number":195,"context_line":"        self._allocate_vr_id(context, ha_network.network_id, router)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def _create_ha_subnet(self, context, network_id, tenant_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_cc60f9a7","line":194,"updated":"2017-01-08 12:44:43.000000000","message":"is there a point for this function anymore or can we just adjust the signature of _allocate_vr_id to accept router, ha_network so it can be used in place of _set_vr_id?","commit_id":"73a2a2558230f9cd7b6fd8cf2503b1f04c187189"},{"author":{"_account_id":12444,"name":"John Schwarz","email":"jschwarz@redhat.com","username":"jschwarz"},"change_message_id":"d49b0224d9447c5194f14cd8a5f895892d1c3a6e","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                l3ha_model.L3HARouterVRIdAllocation).filter_by("},{"line_number":192,"context_line":"                    network_id\u003dha_network.network_id, vr_id\u003dvr_id).delete()"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def _set_vr_id(self, context, router, ha_network):"},{"line_number":195,"context_line":"        self._allocate_vr_id(context, ha_network.network_id, router)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def _create_ha_subnet(self, context, network_id, tenant_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_ac6655b8","line":194,"in_reply_to":"ba5201f7_cc60f9a7","updated":"2017-01-08 12:57:15.000000000","message":"We still need it because _set_vr_id_and_ensure_network needs to extrapolate the ha_network.network_id.","commit_id":"73a2a2558230f9cd7b6fd8cf2503b1f04c187189"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"6b9a3e1e3f5a82543a35673ce1a594fea27cd8aa","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        return allocated_vr_ids"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @db_api.retry_if_session_inactive()"},{"line_number":151,"context_line":"    def _allocate_vr_id(self, context, router_db, ha_network):"},{"line_number":152,"context_line":"        router_id \u003d router_db.id"},{"line_number":153,"context_line":"        network_id \u003d ha_network.network_id"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_6cf62d90","line":151,"updated":"2017-01-08 13:28:41.000000000","message":"nit: can we rename this _ensure_vr_id to better convey that it won\u0027t always allocate one?","commit_id":"5efe2ffb8927a6e63d2d268b909c9f388da944ae"},{"author":{"_account_id":12444,"name":"John Schwarz","email":"jschwarz@redhat.com","username":"jschwarz"},"change_message_id":"46c75cc7b1d3c1d0f26133de39c75b8b41006a80","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        return allocated_vr_ids"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @db_api.retry_if_session_inactive()"},{"line_number":151,"context_line":"    def _allocate_vr_id(self, context, router_db, ha_network):"},{"line_number":152,"context_line":"        router_id \u003d router_db.id"},{"line_number":153,"context_line":"        network_id \u003d ha_network.network_id"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_ec305d58","line":151,"in_reply_to":"ba5201f7_6cf62d90","updated":"2017-01-08 13:29:46.000000000","message":"Done","commit_id":"5efe2ffb8927a6e63d2d268b909c9f388da944ae"}],"neutron/scheduler/l3_agent_scheduler.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"6b9a3e1e3f5a82543a35673ce1a594fea27cd8aa","unresolved":false,"context_lines":[{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _add_port_from_net_and_ensure_vr_id(self, plugin, ctxt, router_db,"},{"line_number":314,"context_line":"                                            tenant_id, ha_net):"},{"line_number":315,"context_line":"        if not router_db.extra_attributes.ha_vr_id:"},{"line_number":316,"context_line":"            plugin._allocate_vr_id(ctxt, router_db, ha_net)"},{"line_number":317,"context_line":"        return plugin.add_ha_port(ctxt, router_db.id, ha_net.network.id,"},{"line_number":318,"context_line":"                                  tenant_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_4cfb2979","line":315,"updated":"2017-01-08 13:28:41.000000000","message":"I would just dump this check since the function will already do that for us.","commit_id":"5efe2ffb8927a6e63d2d268b909c9f388da944ae"},{"author":{"_account_id":12444,"name":"John Schwarz","email":"jschwarz@redhat.com","username":"jschwarz"},"change_message_id":"46c75cc7b1d3c1d0f26133de39c75b8b41006a80","unresolved":false,"context_lines":[{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _add_port_from_net_and_ensure_vr_id(self, plugin, ctxt, router_db,"},{"line_number":314,"context_line":"                                            tenant_id, ha_net):"},{"line_number":315,"context_line":"        if not router_db.extra_attributes.ha_vr_id:"},{"line_number":316,"context_line":"            plugin._allocate_vr_id(ctxt, router_db, ha_net)"},{"line_number":317,"context_line":"        return plugin.add_ha_port(ctxt, router_db.id, ha_net.network.id,"},{"line_number":318,"context_line":"                                  tenant_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_cc2d59ff","line":315,"in_reply_to":"ba5201f7_4cfb2979","updated":"2017-01-08 13:29:46.000000000","message":"Done","commit_id":"5efe2ffb8927a6e63d2d268b909c9f388da944ae"}]}
