)]}'
{"nova/api/openstack/placement/objects/resource_provider.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f2a8ad6f97b72dd1fc7660f42edfd70458d4bb43","unresolved":false,"context_lines":[{"line_number":2152,"context_line":"                    Consumer.ensure_consumer(context, consumer_id,"},{"line_number":2153,"context_line":"                            alloc.project_id, alloc.user_id,"},{"line_number":2154,"context_line":"                            consumer_generation)"},{"line_number":2155,"context_line":"                seen_consumers.add(consumer_id)"},{"line_number":2156,"context_line":"            rp \u003d alloc.resource_provider"},{"line_number":2157,"context_line":"            rc_id \u003d _RC_CACHE.id_from_string(alloc.resource_class)"},{"line_number":2158,"context_line":"            ins_stmt \u003d _ALLOC_TBL.insert().values("}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_1dddb813","line":2155,"updated":"2018-04-17 19:46:20.000000000","message":"Changes from here up should go in the previous patch","commit_id":"ff86903fdaf983e5b0a7ce0ea5f9e1cf41e2f152"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f2a8ad6f97b72dd1fc7660f42edfd70458d4bb43","unresolved":false,"context_lines":[{"line_number":3734,"context_line":"        # When a request supplies their version of what they believe the"},{"line_number":3735,"context_line":"        # current consumer_generation value to be, that will be stored in this"},{"line_number":3736,"context_line":"        # field for checking race conditions. For now, it is simply None."},{"line_number":3737,"context_line":"        \"request_generation\": fields.IntegerField(nullable\u003dTrue),"},{"line_number":3738,"context_line":"        # By default, this is False to maintain the behavior for microversions"},{"line_number":3739,"context_line":"        # before 1.xx. Newer microversions will set this to True, which will"},{"line_number":3740,"context_line":"        # check that the request supplied a consumer_generation that matches"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_5dc9f075","line":3737,"updated":"2018-04-17 19:46:20.000000000","message":"Changes from here down should go in the patch two down (that added Consumer).","commit_id":"ff86903fdaf983e5b0a7ce0ea5f9e1cf41e2f152"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f2a8ad6f97b72dd1fc7660f42edfd70458d4bb43","unresolved":false,"context_lines":[{"line_number":3773,"context_line":"            raise exception.NotFound(\"No consumer with uuid %s found\" % uuid)"},{"line_number":3774,"context_line":"        dict_res \u003d dict(res)"},{"line_number":3775,"context_line":"        dict_res[\"request_generation\"] \u003d None"},{"line_number":3776,"context_line":"        dict_res[\"enforce_generation\"] \u003d False"},{"line_number":3777,"context_line":"        return cls._from_db_object(ctx, cls(), dict_res)"},{"line_number":3778,"context_line":""},{"line_number":3779,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_dd98a06b","line":3776,"range":{"start_line":3776,"start_character":8,"end_line":3776,"end_character":46},"updated":"2018-04-17 19:46:20.000000000","message":"We could do away with this if we used -1 to signify \"input None and we care about generation\" and None to signify \"input None and we don\u0027t care about generation\".  That might be a little too overloady, though.","commit_id":"ff86903fdaf983e5b0a7ce0ea5f9e1cf41e2f152"}]}
