)]}'
{"cinder/objects/base.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"603d99b26b04747ae09c3b4a9297bf52af315eb0","unresolved":false,"context_lines":[{"line_number":106,"context_line":"OBJ_VERSIONS.add(\u00271.7\u0027, {\u0027Cluster\u0027: \u00271.0\u0027, \u0027ClusterList\u0027: \u00271.0\u0027,"},{"line_number":107,"context_line":"                         \u0027Service\u0027: \u00271.4\u0027, \u0027Volume\u0027: \u00271.4\u0027,"},{"line_number":108,"context_line":"                         \u0027ConsistencyGroup\u0027: \u00271.3\u0027})"},{"line_number":109,"context_line":"OBJ_VERSIONS.add(\u00271.7\u0027, {\u0027CleanupRequest\u0027: \u00271.0\u0027})"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class CinderObjectRegistry(base.VersionedObjectRegistry):"}],"source_content_type":"text/x-python","patch_set":21,"id":"dada55a8_9cc4de40","line":109,"range":{"start_line":109,"start_character":18,"end_line":109,"end_character":21},"updated":"2016-07-25 13:23:53.000000000","message":"I guess this should be 1.8?","commit_id":"da09b79dfa75a5e7510d2404242292437dea2052"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d158baa7d1d9fba1d2e66616b8d0c0dc051d2006","unresolved":false,"context_lines":[{"line_number":106,"context_line":"OBJ_VERSIONS.add(\u00271.7\u0027, {\u0027Cluster\u0027: \u00271.0\u0027, \u0027ClusterList\u0027: \u00271.0\u0027,"},{"line_number":107,"context_line":"                         \u0027Service\u0027: \u00271.4\u0027, \u0027Volume\u0027: \u00271.4\u0027,"},{"line_number":108,"context_line":"                         \u0027ConsistencyGroup\u0027: \u00271.3\u0027})"},{"line_number":109,"context_line":"OBJ_VERSIONS.add(\u00271.7\u0027, {\u0027CleanupRequest\u0027: \u00271.0\u0027})"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class CinderObjectRegistry(base.VersionedObjectRegistry):"}],"source_content_type":"text/x-python","patch_set":21,"id":"bacf61ea_08bfeefb","line":109,"range":{"start_line":109,"start_character":18,"end_line":109,"end_character":21},"in_reply_to":"dada55a8_9cc4de40","updated":"2016-08-04 11:10:25.000000000","message":"LOL, rebase after rebase, it was bound to happen.\n\nI have submitted a patch to prevent this from happening again: https://review.openstack.org/351124","commit_id":"da09b79dfa75a5e7510d2404242292437dea2052"}],"cinder/objects/cleanable.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"33ffdd3804064875999b4099f3ba293c9753ecdc","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        # Get current pinned down version for this object"},{"line_number":44,"context_line":"        version \u003d base.OBJ_VERSIONS[min_obj_vers_str][cls.__name__]"},{"line_number":45,"context_line":"        return versionutils.convert_version_to_int(version)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @staticmethod"},{"line_number":48,"context_line":"    def _is_cleanable(status, obj_version):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a95cdbc_5ef3880a","line":45,"range":{"start_line":45,"start_character":28,"end_line":45,"end_character":50},"updated":"2016-10-05 09:51:46.000000000","message":"I now find versions in tuple form a little more convenient, but it\u0027s a matter of preference I guess.","commit_id":"95170e54b24c0cf16f9df9b63a0998569fefaa8d"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"33ffdd3804064875999b4099f3ba293c9753ecdc","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        :returns: Whether to create a workers DB entry or not"},{"line_number":56,"context_line":"        :param obj_version: Min object version running in the cloud or None if"},{"line_number":57,"context_line":"                            current version."},{"line_number":58,"context_line":"        :type obj_version: float"},{"line_number":59,"context_line":"        \"\"\""},{"line_number":60,"context_line":"        return False"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1a95cdbc_fe00d4ac","line":58,"range":{"start_line":58,"start_character":27,"end_line":58,"end_character":32},"updated":"2016-10-05 09:51:46.000000000","message":"Float? obj_version form convert_version_to_int is an int:\n\n In [3]: type(versionutils.convert_version_to_int(\u00271.3\u0027))\n Out[3]: int","commit_id":"95170e54b24c0cf16f9df9b63a0998569fefaa8d"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"33ffdd3804064875999b4099f3ba293c9753ecdc","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    @staticmethod"},{"line_number":163,"context_line":"    def set_workers(*decorator_args):"},{"line_number":164,"context_line":"        \"\"\"Decorator that adds worker DB rows for cleanable versioned  objects."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        By default will take care of all cleanable objects, but we can limit"},{"line_number":167,"context_line":"        which objects we want by passing the name of the arguments we want"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a95cdbc_9e7c3022","line":164,"range":{"start_line":164,"start_character":69,"end_line":164,"end_character":71},"updated":"2016-10-05 09:51:46.000000000","message":"double space","commit_id":"95170e54b24c0cf16f9df9b63a0998569fefaa8d"}],"cinder/objects/cleanup_request.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"33ffdd3804064875999b4099f3ba293c9753ecdc","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        \u0027service_id\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":29,"context_line":"        \u0027cluster_name\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":30,"context_line":"        \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":31,"context_line":"        \u0027binary\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":32,"context_line":"        \u0027is_up\u0027: fields.BooleanField(default\u003dFalse, nullable\u003dTrue),"},{"line_number":33,"context_line":"        \u0027disabled\u0027: fields.BooleanField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027resource_id\u0027: fields.UUIDField(nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a95cdbc_8b49548e","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":52},"updated":"2016-10-05 09:51:46.000000000","message":"This could probably be an EnumField, but it\u0027s very easy to switch StringField to EnumField, so at this point of development it don\u0027t matter much IMO.","commit_id":"95170e54b24c0cf16f9df9b63a0998569fefaa8d"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"33ffdd3804064875999b4099f3ba293c9753ecdc","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        \u0027is_up\u0027: fields.BooleanField(default\u003dFalse, nullable\u003dTrue),"},{"line_number":33,"context_line":"        \u0027disabled\u0027: fields.BooleanField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027resource_id\u0027: fields.UUIDField(nullable\u003dTrue),"},{"line_number":35,"context_line":"        \u0027resource_type\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":36,"context_line":"        \u0027until\u0027: fields.DateTimeField(nullable\u003dTrue),"},{"line_number":37,"context_line":"    }"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1a95cdbc_eb2f389f","line":35,"range":{"start_line":35,"start_character":9,"end_line":35,"end_character":22},"updated":"2016-10-05 09:51:46.000000000","message":"Same here.","commit_id":"95170e54b24c0cf16f9df9b63a0998569fefaa8d"}],"cinder/service.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"603d99b26b04747ae09c3b4a9297bf52af315eb0","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    it state to the database services table."},{"line_number":119,"context_line":"    \"\"\""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    # Make service_id a class attribute so it can be used for clean up"},{"line_number":122,"context_line":"    service_id \u003d None"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def __init__(self, host, binary, topic, manager, report_interval\u003dNone,"},{"line_number":125,"context_line":"                 periodic_interval\u003dNone, periodic_fuzzy_delay\u003dNone,"}],"source_content_type":"text/x-python","patch_set":21,"id":"dada55a8_1cb62e8a","line":122,"range":{"start_line":121,"start_character":0,"end_line":122,"end_character":21},"updated":"2016-07-25 13:23:53.000000000","message":"Won\u0027t this effectively break cinder.cmd.all? Even if it\u0027s deprecated we\u0027re not supposed to do that before Ocata.","commit_id":"da09b79dfa75a5e7510d2404242292437dea2052"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d158baa7d1d9fba1d2e66616b8d0c0dc051d2006","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    it state to the database services table."},{"line_number":119,"context_line":"    \"\"\""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    # Make service_id a class attribute so it can be used for clean up"},{"line_number":122,"context_line":"    service_id \u003d None"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def __init__(self, host, binary, topic, manager, report_interval\u003dNone,"},{"line_number":125,"context_line":"                 periodic_interval\u003dNone, periodic_fuzzy_delay\u003dNone,"}],"source_content_type":"text/x-python","patch_set":21,"id":"bacf61ea_febe90fd","line":122,"range":{"start_line":121,"start_character":0,"end_line":122,"end_character":21},"in_reply_to":"dada55a8_1cb62e8a","updated":"2016-08-04 11:10:25.000000000","message":"Good catch!  Yes this will be problematic for cmd.all, so we\u0027ll want to wait to merge this until Ocata opens.","commit_id":"da09b79dfa75a5e7510d2404242292437dea2052"}]}
