)]}'
{"neutron/db/ipam_pluggable_backend.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"8bf42ed1cd3e77ab3fdbd42d629e41d017ab37ed","unresolved":true,"context_lines":[{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def add_auto_addrs_on_network_ports(self, context, subnet, ipam_subnet):"},{"line_number":524,"context_line":"        \"\"\"For an auto-address subnet, add addrs for ports on the net.\"\"\""},{"line_number":525,"context_line":"        #with db_api.CONTEXT_WRITER.using(context):"},{"line_number":526,"context_line":"        network_id \u003d subnet[\u0027network_id\u0027]"},{"line_number":527,"context_line":"        with db_api.CONTEXT_READER.using(context):"},{"line_number":528,"context_line":"            ports \u003d port_obj.Port.get_objects("}],"source_content_type":"text/x-python","patch_set":9,"id":"c905a2c7_6e854c8f","line":525,"range":{"start_line":525,"start_character":8,"end_line":525,"end_character":51},"updated":"2020-12-09 09:59:22.000000000","message":"please remove","commit_id":"c0b0f0338b3e0fbdcdf61b4528e017e912beda28"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"51cbb375b003749c7428ae2894221e56bf80d2fd","unresolved":false,"context_lines":[{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def add_auto_addrs_on_network_ports(self, context, subnet, ipam_subnet):"},{"line_number":524,"context_line":"        \"\"\"For an auto-address subnet, add addrs for ports on the net.\"\"\""},{"line_number":525,"context_line":"        #with db_api.CONTEXT_WRITER.using(context):"},{"line_number":526,"context_line":"        network_id \u003d subnet[\u0027network_id\u0027]"},{"line_number":527,"context_line":"        with db_api.CONTEXT_READER.using(context):"},{"line_number":528,"context_line":"            ports \u003d port_obj.Port.get_objects("}],"source_content_type":"text/x-python","patch_set":9,"id":"bea0ae12_ecb8e81e","line":525,"range":{"start_line":525,"start_character":8,"end_line":525,"end_character":51},"in_reply_to":"c905a2c7_6e854c8f","updated":"2020-12-11 11:55:13.000000000","message":"Done","commit_id":"c0b0f0338b3e0fbdcdf61b4528e017e912beda28"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"8bf42ed1cd3e77ab3fdbd42d629e41d017ab37ed","unresolved":true,"context_lines":[{"line_number":539,"context_line":"            p \u003d self._make_port_dict(port)"},{"line_number":540,"context_line":"            fixed_configured \u003d (p[\u0027fixed_ips\u0027] is not"},{"line_number":541,"context_line":"                                constants.ATTR_NOT_SPECIFIED)"},{"line_number":542,"context_line":"            with db_api.CONTEXT_READER.using(context):"},{"line_number":543,"context_line":"                subnet_candidates \u003d obj_subnet.Subnet.find_candidate_subnets("},{"line_number":544,"context_line":"                    context,"},{"line_number":545,"context_line":"                    network_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"af2335df_bbe5855c","line":542,"range":{"start_line":542,"start_character":12,"end_line":542,"end_character":54},"updated":"2020-12-09 09:59:22.000000000","message":"why need second reader? Isn\u0027t one at #527 sufficient?","commit_id":"c0b0f0338b3e0fbdcdf61b4528e017e912beda28"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"e932d52faf27970c09ba81ff7dd2af25d808cd8e","unresolved":true,"context_lines":[{"line_number":539,"context_line":"            p \u003d self._make_port_dict(port)"},{"line_number":540,"context_line":"            fixed_configured \u003d (p[\u0027fixed_ips\u0027] is not"},{"line_number":541,"context_line":"                                constants.ATTR_NOT_SPECIFIED)"},{"line_number":542,"context_line":"            with db_api.CONTEXT_READER.using(context):"},{"line_number":543,"context_line":"                subnet_candidates \u003d obj_subnet.Subnet.find_candidate_subnets("},{"line_number":544,"context_line":"                    context,"},{"line_number":545,"context_line":"                    network_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"a4be1c59_6e8d557c","line":542,"range":{"start_line":542,"start_character":12,"end_line":542,"end_character":54},"in_reply_to":"5fee7e63_3384f984","updated":"2020-12-11 12:57:26.000000000","message":"Just trying to understand new engine facade magic better :)","commit_id":"c0b0f0338b3e0fbdcdf61b4528e017e912beda28"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"51cbb375b003749c7428ae2894221e56bf80d2fd","unresolved":true,"context_lines":[{"line_number":539,"context_line":"            p \u003d self._make_port_dict(port)"},{"line_number":540,"context_line":"            fixed_configured \u003d (p[\u0027fixed_ips\u0027] is not"},{"line_number":541,"context_line":"                                constants.ATTR_NOT_SPECIFIED)"},{"line_number":542,"context_line":"            with db_api.CONTEXT_READER.using(context):"},{"line_number":543,"context_line":"                subnet_candidates \u003d obj_subnet.Subnet.find_candidate_subnets("},{"line_number":544,"context_line":"                    context,"},{"line_number":545,"context_line":"                    network_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5fee7e63_3384f984","line":542,"range":{"start_line":542,"start_character":12,"end_line":542,"end_character":54},"in_reply_to":"af2335df_bbe5855c","updated":"2020-12-11 11:55:13.000000000","message":"This one is inside the \"for\" loop. And the one in L527 is outside this loop. It has to be in separate contexts to have separate transactions, otherwise some tests were failing and it wasn\u0027t working as previously with subtransactions.\nMaybe I am missing something here, if so, please point me to the better solution or feel free to update this patch simply 😊","commit_id":"c0b0f0338b3e0fbdcdf61b4528e017e912beda28"}],"neutron/ipam/drivers/neutrondb_ipam/driver.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"af4fa704cfc608816da16fddc1423b74b62a276c","unresolved":true,"context_lines":[{"line_number":250,"context_line":"        # The only defined status at this stage is \u0027ALLOCATED\u0027."},{"line_number":251,"context_line":"        # More states will be available in the future - e.g.: RECYCLABLE"},{"line_number":252,"context_line":"        try:"},{"line_number":253,"context_line":"            # TODO(ataraday): revisit this after objects switched to"},{"line_number":254,"context_line":"            # new enginefacade"},{"line_number":255,"context_line":"            with db_api.CONTEXT_WRITER.using(self._context):"},{"line_number":256,"context_line":"                self.subnet_manager.create_allocation(self._context,"}],"source_content_type":"text/x-python","patch_set":8,"id":"d2efeafc_c4d9e0ac","line":253,"range":{"start_line":253,"start_character":12,"end_line":253,"end_character":25},"updated":"2020-12-01 14:14:40.000000000","message":"To remove","commit_id":"2669bb4eed85e136f17713de7bdd1444a39a71f9"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"af4fa704cfc608816da16fddc1423b74b62a276c","unresolved":true,"context_lines":[{"line_number":252,"context_line":"        try:"},{"line_number":253,"context_line":"            # TODO(ataraday): revisit this after objects switched to"},{"line_number":254,"context_line":"            # new enginefacade"},{"line_number":255,"context_line":"            with db_api.CONTEXT_WRITER.using(self._context):"},{"line_number":256,"context_line":"                self.subnet_manager.create_allocation(self._context,"},{"line_number":257,"context_line":"                                                      ip_address)"},{"line_number":258,"context_line":"        except db_exc.DBReferenceError:"}],"source_content_type":"text/x-python","patch_set":8,"id":"750aed4e_4e919b41","line":255,"range":{"start_line":255,"start_character":12,"end_line":255,"end_character":16},"updated":"2020-12-01 14:14:40.000000000","message":"This is now going to change the behavior of \"test_create_subnet_ipv6_slaac_with_db_reference_error\". This test, when a DB error is introduced, is going to fail with \"sqlalchemy.exc.InvalidRequestError\"\n\nhttps://1fe8c776c524cc60e597-84c9f5cd8c2b87d7cd3ff61e3f0a2559.ssl.cf5.rackcdn.com/662869/8/check/openstack-tox-py36/ad0edd6/testr_results.html","commit_id":"2669bb4eed85e136f17713de7bdd1444a39a71f9"}]}
