)]}'
{"gnocchi/ceilometer/dispatcher.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"d16b8bc151a921513d5d0bc0e2911f7d87125cca","unresolved":false,"context_lines":[{"line_number":272,"context_line":"                       \"resource_attributes\": resource_attributes,"},{"line_number":273,"context_line":"                       \"gnocchi_url\": self.gnocchi_url,"},{"line_number":274,"context_line":"                       \"headers\": self._get_headers(),"},{"line_number":275,"context_line":"                       \"data\": json.dumps(resource_attributes)})"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"            raise UnexpectedWorkflowError("},{"line_number":278,"context_line":"                _(\"Resource %(resource_id)s creation failed with \""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa81d914_48b237e7","line":275,"updated":"2015-01-29 14:03:25.000000000","message":"Looks unrelated.","commit_id":"b405ec07e2ab281a7bbd626393b8f42f15b5fe59"}],"gnocchi/ceilometer/resources/image.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"d16b8bc151a921513d5d0bc0e2911f7d87125cca","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def get_resource_extra_attributes(sample):"},{"line_number":26,"context_line":"        metadata \u003d sample[\u0027resource_metadata\u0027]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        LOG.debug(\"Metadata: %s\" % metadata)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        params \u003d {"},{"line_number":31,"context_line":"            \"size\": int(metadata[\u0027size\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa81d914_8896ef4a","line":28,"updated":"2015-01-29 14:03:25.000000000","message":"We should remove this, this will spam the log.","commit_id":"b405ec07e2ab281a7bbd626393b8f42f15b5fe59"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"04b5d8564d00145e5ea1772e773e68b1e01265a0","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from ceilometer.openstack.common import log"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class Image(base.ResourceBase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa81d914_9fb53d33","line":20,"updated":"2015-01-29 17:09:01.000000000","message":"unused","commit_id":"794a063d49a240a71368113200b5d055bbe586fc"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e02273d8b660f0feacb6825d4c60bce4bd22a6c2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright 2014 eNovance"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_9dbaeadf","line":2,"updated":"2015-02-02 12:27:52.000000000","message":"Not sure that is correct.","commit_id":"e9f7462f75cb5d55b723c9991cdefcf255e3e397"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c534c82613a54b789f8df76e0b6764ab568725d3","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @staticmethod"},{"line_number":27,"context_line":"    def get_metrics_names():"},{"line_number":28,"context_line":"        return [\u0027image\u0027,"},{"line_number":29,"context_line":"                \u0027image.size\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_c4636618","line":28,"updated":"2015-02-10 15:42:47.000000000","message":"I\u0027m not sure we really need to build a metric for \u0027image\u0027 since it\u0027s always 1.","commit_id":"b6ef7b1db19084bcff955a99ec370894c82d2bd3"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"59df26e94755bb839fb01a1fba549feed508a54a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @staticmethod"},{"line_number":27,"context_line":"    def get_metrics_names():"},{"line_number":28,"context_line":"        return [\u0027image\u0027,"},{"line_number":29,"context_line":"                \u0027image.size\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_95a51a49","line":28,"in_reply_to":"da86d52c_c4636618","updated":"2015-02-10 16:48:56.000000000","message":"Agreed that it\u0027s a so-called existence meter, that\u0027s arguably better represented as a sequence of lifecycle events (image springs into existence, image disappears).\n\nHowever, are we aiming for parity with the meters stored in classic ceilometer?","commit_id":"b6ef7b1db19084bcff955a99ec370894c82d2bd3"}],"gnocchi/indexer/sqlalchemy.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"d16b8bc151a921513d5d0bc0e2911f7d87125cca","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        nullable\u003dTrue)"},{"line_number":175,"context_line":"    project_id \u003d sqlalchemy.Column("},{"line_number":176,"context_line":"        sqlalchemy_utils.UUIDType(binary\u003dFalse),"},{"line_number":177,"context_line":"        nullable\u003dTrue)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"class Instance(Resource):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa81d914_48b6b7fb","line":177,"updated":"2015-01-29 14:03:25.000000000","message":"Not needed this is the default.","commit_id":"b405ec07e2ab281a7bbd626393b8f42f15b5fe59"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"04b5d8564d00145e5ea1772e773e68b1e01265a0","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                                   # integer…"},{"line_number":170,"context_line":"                                   default\u003ddatetime.datetime.utcnow)"},{"line_number":171,"context_line":"    ended_at \u003d sqlalchemy.Column(PreciseTimestamp)"},{"line_number":172,"context_line":"    user_id \u003d sqlalchemy.Column("},{"line_number":173,"context_line":"        sqlalchemy_utils.UUIDType(binary\u003dFalse))"},{"line_number":174,"context_line":"    project_id \u003d sqlalchemy.Column("},{"line_number":175,"context_line":"        sqlalchemy_utils.UUIDType(binary\u003dFalse))"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa81d914_3f97f191","line":172,"updated":"2015-01-29 17:09:01.000000000","message":"unrelated change","commit_id":"794a063d49a240a71368113200b5d055bbe586fc"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"04b5d8564d00145e5ea1772e773e68b1e01265a0","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    ended_at \u003d sqlalchemy.Column(PreciseTimestamp)"},{"line_number":172,"context_line":"    user_id \u003d sqlalchemy.Column("},{"line_number":173,"context_line":"        sqlalchemy_utils.UUIDType(binary\u003dFalse))"},{"line_number":174,"context_line":"    project_id \u003d sqlalchemy.Column("},{"line_number":175,"context_line":"        sqlalchemy_utils.UUIDType(binary\u003dFalse))"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa81d914_5f92e59f","line":174,"updated":"2015-01-29 17:09:01.000000000","message":"ditto","commit_id":"794a063d49a240a71368113200b5d055bbe586fc"}],"gnocchi/rest/__init__.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"d16b8bc151a921513d5d0bc0e2911f7d87125cca","unresolved":false,"context_lines":[{"line_number":805,"context_line":"    _resource_rest_class \u003d ImageResourceController"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"    Resource \u003d ResourceSchema({"},{"line_number":808,"context_line":"        \"size\": int"},{"line_number":809,"context_line":"    })"},{"line_number":810,"context_line":""},{"line_number":811,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa81d914_4885d7ce","line":808,"updated":"2015-01-29 14:03:25.000000000","message":"The sql column is not nullable, so we should put voluptuous.Required(\"size\") here","commit_id":"b405ec07e2ab281a7bbd626393b8f42f15b5fe59"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e02273d8b660f0feacb6825d4c60bce4bd22a6c2","unresolved":false,"context_lines":[{"line_number":697,"context_line":"    _resource_type \u003d \u0027image\u0027"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":"    ResourcePatch \u003d ResourcePatchSchema({"},{"line_number":700,"context_line":"        \"size\": int"},{"line_number":701,"context_line":"    })"},{"line_number":702,"context_line":""},{"line_number":703,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_9d882a24","line":700,"updated":"2015-02-02 12:27:52.000000000","message":"So if this is an integer that can change, I think it\u0027d be better to have a metric rather than an attribute.","commit_id":"e9f7462f75cb5d55b723c9991cdefcf255e3e397"}]}
