)]}'
{"placement/cmd/status.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if self._check_missing_root_ids(self.ctxt):"},{"line_number":57,"context_line":"            return upgradecheck.Result("},{"line_number":58,"context_line":"                upgradecheck.Code.WARNING,"},{"line_number":59,"context_line":"                details\u003d(\u0027There is at least one resource provider table \u0027"},{"line_number":60,"context_line":"                         \u0027record which misses its root provider id. \u0027"},{"line_number":61,"context_line":"                         \u0027Run the \"placement-manage db \u0027"},{"line_number":62,"context_line":"                         \u0027online_data_migrations\" command.\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_4300ef01","line":59,"range":{"start_line":59,"start_character":24,"end_line":59,"end_character":25},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            # a warning and tell the user to run the online data migrations."},{"line_number":96,"context_line":"            return upgradecheck.Result("},{"line_number":97,"context_line":"                upgradecheck.Code.WARNING,"},{"line_number":98,"context_line":"                details\u003d(\u0027There are %s incomplete consumers table records \u0027"},{"line_number":99,"context_line":"                         \u0027for existing allocations. Run the \u0027"},{"line_number":100,"context_line":"                         \u0027\"placement-manage db online_data_migrations\" \u0027"},{"line_number":101,"context_line":"                         \u0027command.\u0027) % missing_consumer_count)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_230b6324","line":98,"range":{"start_line":98,"start_character":24,"end_line":98,"end_character":25},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"}],"placement/handlers/aggregate.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        rp_gen \u003d data[\u0027resource_provider_generation\u0027]"},{"line_number":121,"context_line":"        if resource_provider.generation !\u003d rp_gen:"},{"line_number":122,"context_line":"            raise webob.exc.HTTPConflict("},{"line_number":123,"context_line":"                (\"Resource provider\u0027s generation already changed. Please \""},{"line_number":124,"context_line":"                 \"update the generation and try again.\"),"},{"line_number":125,"context_line":"                comment\u003derrors.CONCURRENT_UPDATE)"},{"line_number":126,"context_line":"        aggregate_uuids \u003d data[\u0027aggregates\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_e85d3847","line":123,"range":{"start_line":123,"start_character":16,"end_line":123,"end_character":17},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"}],"placement/handlers/inventory.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            resource_class\u003dresource_class, **data)"},{"line_number":88,"context_line":"    except (ValueError, TypeError) as exc:"},{"line_number":89,"context_line":"        raise webob.exc.HTTPBadRequest("},{"line_number":90,"context_line":"            (\u0027Bad inventory %(class)s for resource provider \u0027"},{"line_number":91,"context_line":"             \u0027%(rp_uuid)s: %(error)s\u0027) % {\u0027class\u0027: resource_class,"},{"line_number":92,"context_line":"                                          \u0027rp_uuid\u0027: resource_provider.uuid,"},{"line_number":93,"context_line":"                                          \u0027error\u0027: exc})"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_c8771cd4","line":90,"range":{"start_line":90,"start_character":12,"end_line":90,"end_character":13},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    except (exception.InvalidInventoryCapacity,"},{"line_number":209,"context_line":"            exception.NotFound) as exc:"},{"line_number":210,"context_line":"        raise webob.exc.HTTPBadRequest("},{"line_number":211,"context_line":"            (\u0027Unable to create inventory for resource provider \u0027"},{"line_number":212,"context_line":"             \u0027%(rp_uuid)s: %(error)s\u0027) % {\u0027rp_uuid\u0027: resource_provider.uuid,"},{"line_number":213,"context_line":"                                          \u0027error\u0027: exc})"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_887d94b3","line":211,"range":{"start_line":211,"start_character":12,"end_line":211,"end_character":13},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"}],"placement/handlers/util.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        if requires_consumer_generation:"},{"line_number":80,"context_line":"            if consumer.generation !\u003d consumer_generation:"},{"line_number":81,"context_line":"                raise webob.exc.HTTPConflict("},{"line_number":82,"context_line":"                    (\u0027consumer generation conflict - \u0027"},{"line_number":83,"context_line":"                     \u0027expected %(expected_gen)s but got %(got_gen)s\u0027) %"},{"line_number":84,"context_line":"                    {"},{"line_number":85,"context_line":"                        \u0027expected_gen\u0027: consumer.generation,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_a8a5f048","line":82,"range":{"start_line":82,"start_character":20,"end_line":82,"end_character":21},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        if requires_consumer_generation:"},{"line_number":127,"context_line":"            if consumer_generation is not None:"},{"line_number":128,"context_line":"                raise webob.exc.HTTPConflict("},{"line_number":129,"context_line":"                    (\u0027consumer generation conflict - \u0027"},{"line_number":130,"context_line":"                     \u0027expected null but got %s\u0027) % consumer_generation,"},{"line_number":131,"context_line":"                    comment\u003derrors.CONCURRENT_UPDATE)"},{"line_number":132,"context_line":"        # No such consumer. This is common for new allocations. Create the"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_48648c22","line":129,"range":{"start_line":129,"start_character":20,"end_line":129,"end_character":21},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"}],"placement/objects/allocation_candidate.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":673,"context_line":"        if anchor_rp_uuid !\u003d areq.anchor_root_provider_uuid:"},{"line_number":674,"context_line":"            # This should never happen.  If it does, it\u0027s a dev bug."},{"line_number":675,"context_line":"            raise ValueError("},{"line_number":676,"context_line":"                (\"Expected every AllocationRequest in \""},{"line_number":677,"context_line":"                 \"`_consolidate_allocation_requests` to have the same \""},{"line_number":678,"context_line":"                 \"anchor!\"))"},{"line_number":679,"context_line":"        for arr in areq.resource_requests:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_88a83420","line":676,"range":{"start_line":676,"start_character":16,"end_line":676,"end_character":17},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"}],"placement/objects/resource_provider.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":971,"context_line":"            if parent_uuid \u003d\u003d self.uuid:"},{"line_number":972,"context_line":"                raise exception.ObjectActionError("},{"line_number":973,"context_line":"                    action\u003d\u0027create\u0027,"},{"line_number":974,"context_line":"                    reason\u003d(\u0027parent provider UUID cannot be same as UUID. \u0027"},{"line_number":975,"context_line":"                            \u0027Please set parent provider UUID to None if \u0027"},{"line_number":976,"context_line":"                            \u0027there is no parent.\u0027))"},{"line_number":977,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_28a10047","line":974,"range":{"start_line":974,"start_character":27,"end_line":974,"end_character":28},"updated":"2019-03-25 15:31:09.000000000","message":"redundant","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"}],"placement/util.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d63d817154d91fcda628e74c9d1f2452127ba5","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                if not req.content_type:"},{"line_number":164,"context_line":"                    req.content_type \u003d \u0027None\u0027"},{"line_number":165,"context_line":"                raise webob.exc.HTTPUnsupportedMediaType("},{"line_number":166,"context_line":"                    (\u0027The media type %(bad_type)s is not supported, \u0027"},{"line_number":167,"context_line":"                     \u0027use %(good_type)s\u0027) %"},{"line_number":168,"context_line":"                    {\u0027bad_type\u0027: req.content_type,"},{"line_number":169,"context_line":"                     \u0027good_type\u0027: content_type},"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_c8287ce3","line":166,"updated":"2019-03-25 15:31:09.000000000","message":"I think these parens are redundant now","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"84db529229f9ae20ac31dc8d76e38406d41a432f","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                if not req.content_type:"},{"line_number":164,"context_line":"                    req.content_type \u003d \u0027None\u0027"},{"line_number":165,"context_line":"                raise webob.exc.HTTPUnsupportedMediaType("},{"line_number":166,"context_line":"                    (\u0027The media type %(bad_type)s is not supported, \u0027"},{"line_number":167,"context_line":"                     \u0027use %(good_type)s\u0027) %"},{"line_number":168,"context_line":"                    {\u0027bad_type\u0027: req.content_type,"},{"line_number":169,"context_line":"                     \u0027good_type\u0027: content_type},"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_63a16bf8","line":166,"in_reply_to":"5fc1f717_c8287ce3","updated":"2019-03-25 15:32:43.000000000","message":"yeah, I tried to get most of these, but clearly missed a few.\n\nso\n\nmany\n\nparens","commit_id":"0dfe6fbec0eee5ba4d6fa412dbe8bb558c10f801"}]}
