)]}'
{"ceilometer/api/controllers/v2.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"2858f5920daa27030d3af776d490874407c26991","unresolved":false,"context_lines":[{"line_number":2494,"context_line":"                           \u0027history\u0027: {\u0027query\u0027: {\u0027simple\u0027: True,"},{"line_number":2495,"context_line":"                                                 \u0027complex\u0027: True}}},"},{"line_number":2496,"context_line":"                \u0027events\u0027: {\u0027query\u0027: {\u0027simple\u0027: True}},"},{"line_number":2497,"context_line":"                \u0027storage\u0027: {\u0027production_ready\u0027: True},"},{"line_number":2498,"context_line":"            })"},{"line_number":2499,"context_line":"        )"},{"line_number":2500,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_76e2bfa0","line":2497,"updated":"2014-05-30 13:11:04.000000000","message":"Would it make more sense to move this capability into a new top-level category?\n\n(as it\u0027s not really a capability of the API per se, more a quality of the implementation lying behind it)\n\ne.g.\n\n  {\"api\": {\"alarms:history:query:complex\": true, ...}, \"storage\": {\"production_ready\": true, ...}}\n\nas opposed to:\n\n  {\"api\": {\"alarms:history:query:complex\": true, \"storage\": {\"production_ready\": true, ...}, ...}","commit_id":"ba2117c72f6f95a7b220dc23d270cf6a8377e469"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"2a656dcb52eae3d8f627ce5d23a6d9407261d182","unresolved":false,"context_lines":[{"line_number":2495,"context_line":"                                                 \u0027complex\u0027: True}}},"},{"line_number":2496,"context_line":"                \u0027events\u0027: {\u0027query\u0027: {\u0027simple\u0027: True}},"},{"line_number":2497,"context_line":"            }),"},{"line_number":2498,"context_line":"            storage\u003d_flatten_capabilities({\u0027production_ready\u0027: True}),"},{"line_number":2499,"context_line":"        )"},{"line_number":2500,"context_line":""},{"line_number":2501,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_a6e4fa0d","line":2498,"updated":"2014-05-31 09:13:39.000000000","message":"-1: according to this sample, storage seems an attribute, but it is not defined like api in L2457, so it will not be exposed, if this behavior is intended, then why it shows up in the sample?","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"81e2bb242ee3bfd7daebffff505756c3c313cbcf","unresolved":false,"context_lines":[{"line_number":2495,"context_line":"                                                 \u0027complex\u0027: True}}},"},{"line_number":2496,"context_line":"                \u0027events\u0027: {\u0027query\u0027: {\u0027simple\u0027: True}},"},{"line_number":2497,"context_line":"            }),"},{"line_number":2498,"context_line":"            storage\u003d_flatten_capabilities({\u0027production_ready\u0027: True}),"},{"line_number":2499,"context_line":"        )"},{"line_number":2500,"context_line":""},{"line_number":2501,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_ba908a96","line":2498,"in_reply_to":"1ae5cdf2_6673d2e9","updated":"2014-05-31 11:05:46.000000000","message":"oh, yes! Sorry :)","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b81e2c5307796798c18e1b8e7bc842b36b2cc3f0","unresolved":false,"context_lines":[{"line_number":2495,"context_line":"                                                 \u0027complex\u0027: True}}},"},{"line_number":2496,"context_line":"                \u0027events\u0027: {\u0027query\u0027: {\u0027simple\u0027: True}},"},{"line_number":2497,"context_line":"            }),"},{"line_number":2498,"context_line":"            storage\u003d_flatten_capabilities({\u0027production_ready\u0027: True}),"},{"line_number":2499,"context_line":"        )"},{"line_number":2500,"context_line":""},{"line_number":2501,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_6673d2e9","line":2498,"in_reply_to":"1ae5cdf2_a6e4fa0d","updated":"2014-05-31 10:36:29.000000000","message":"It\u0027s correct, I mean \u0027storage\u0027 should be included in the list of wsme parameters.","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"cb428c7244a2bce3aa8a7eb7976101f28ed27c8d","unresolved":false,"context_lines":[{"line_number":2455,"context_line":"    \"\"\""},{"line_number":2456,"context_line":""},{"line_number":2457,"context_line":"    api \u003d {wtypes.text: bool}"},{"line_number":2458,"context_line":"    storage \u003d {wtypes.text: bool}"},{"line_number":2459,"context_line":"    \"A flattened dictionary of API capabilities\""},{"line_number":2460,"context_line":""},{"line_number":2461,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_da4b96ae","line":2458,"updated":"2014-05-31 12:21:48.000000000","message":"-1: I think this line should move to the line after the doc string to the api (in particularly, it is L2459)\n\nnit: the storage could have doc string  too, and since you have added a new attribute which means it no longer to be api capabilities only any more, it would be really nice if you can update the doc string of this class","commit_id":"87c79ce8f9e00de3facab108f9ab0fbcbb0a82be"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"c957e9e34523e8155cae3a4f309eb8eb7d9ebce8","unresolved":false,"context_lines":[{"line_number":2455,"context_line":"    \"\"\""},{"line_number":2456,"context_line":""},{"line_number":2457,"context_line":"    api \u003d {wtypes.text: bool}"},{"line_number":2458,"context_line":"    storage \u003d {wtypes.text: bool}"},{"line_number":2459,"context_line":"    \"A flattened dictionary of API capabilities\""},{"line_number":2460,"context_line":""},{"line_number":2461,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_fa05b2c2","line":2458,"updated":"2014-05-31 12:18:51.000000000","message":"This should be in a new block with an own, separate doc string. This string will appear in the API doc, you can check it in the output of the doc gate job in the Jenkins results, now the storage param got the description of the api capabilities.","commit_id":"87c79ce8f9e00de3facab108f9ab0fbcbb0a82be"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"78e68daf938b1e5a163384aa0a14254413e909eb","unresolved":false,"context_lines":[{"line_number":2455,"context_line":"    \"\"\""},{"line_number":2456,"context_line":""},{"line_number":2457,"context_line":"    api \u003d {wtypes.text: bool}"},{"line_number":2458,"context_line":"    \"A flattened dictionary of API capabilities\""},{"line_number":2459,"context_line":"    storage \u003d {wtypes.text: bool}"},{"line_number":2460,"context_line":"    \"A flattened dictionary of storage capabilities\""},{"line_number":2461,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_5822f301","line":2458,"updated":"2014-06-03 07:49:54.000000000","message":"nit: an extra blank line will be nicer, but for now docs works fine too","commit_id":"a7f54275dcbfe7e0f3dfbc91618858ac0c6b601b"}],"ceilometer/storage/base.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"7705665ffb28c876284ecd38c43dfbf617073139","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    }"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    STORAGE_CAPABILITIES \u003d {"},{"line_number":148,"context_line":"        \u0027storage\u0027: {\u0027production_ready\u0027: True},"},{"line_number":149,"context_line":"    }"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def __init__(self, url):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_aa63f8af","line":148,"updated":"2014-05-30 14:44:49.000000000","message":"Should this be \"True\" by default?","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"f0f0f19cdb397e443de4f84d54fb4624d63f8833","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    }"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    STORAGE_CAPABILITIES \u003d {"},{"line_number":148,"context_line":"        \u0027storage\u0027: {\u0027production_ready\u0027: True},"},{"line_number":149,"context_line":"    }"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def __init__(self, url):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_a5cc0b37","line":148,"in_reply_to":"1ae5cdf2_aa63f8af","updated":"2014-05-30 15:07:40.000000000","message":"well, I guess yes - as Juno code is ok with this option really.","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"3612d82594ad4013ca7cc295611346045b707856","unresolved":false,"context_lines":[{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    @classmethod"},{"line_number":381,"context_line":"    def get_storage_capabilities(cls):"},{"line_number":382,"context_line":"        \"\"\"Return an dictionary representing the capabilities of each driver."},{"line_number":383,"context_line":"        \"\"\""},{"line_number":384,"context_line":"        return cls.STORAGE_CAPABILITIES"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_a065d946","line":382,"updated":"2014-05-30 15:34:36.000000000","message":"s/a/an/\n\nMaybe here we can mention that we mean the performance capabilities here.","commit_id":"b88ddc268848b86e6b4c44e7db97a2e76527217f"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"630ca64dadce9b61bc59105ad169771fd5e5501d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    \"\"\"Base class for storage system connections.\"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    \"\"\"A dictionary representing the capabilities of this driver."},{"line_number":110,"context_line":"    \"\"\""},{"line_number":111,"context_line":"    CAPABILITIES \u003d {"},{"line_number":112,"context_line":"        \u0027meters\u0027: {\u0027pagination\u0027: False,"},{"line_number":113,"context_line":"                   \u0027query\u0027: {\u0027simple\u0027: False,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_2e2c5347","line":110,"updated":"2014-05-30 17:55:50.000000000","message":"Maybe distinguish from STORAGE_CAPABILITIES by re-naming as API_CAPABILITIES?","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"681ecf9458306343ab449c6ecd9fe463493460dd","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    \"\"\"Base class for storage system connections.\"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    \"\"\"A dictionary representing the capabilities of this driver."},{"line_number":110,"context_line":"    \"\"\""},{"line_number":111,"context_line":"    CAPABILITIES \u003d {"},{"line_number":112,"context_line":"        \u0027meters\u0027: {\u0027pagination\u0027: False,"},{"line_number":113,"context_line":"                   \u0027query\u0027: {\u0027simple\u0027: False,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_7e55241c","line":110,"in_reply_to":"1ae5cdf2_1ef980c8","updated":"2014-05-30 20:34:22.000000000","message":"It\u0027s just a non-blocking suggestion, use your judgement as to what you reckon works best :)","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"c1b9a4f3a79d9d53c943ea3315918e8093b1ad5d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    \"\"\"Base class for storage system connections.\"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    \"\"\"A dictionary representing the capabilities of this driver."},{"line_number":110,"context_line":"    \"\"\""},{"line_number":111,"context_line":"    CAPABILITIES \u003d {"},{"line_number":112,"context_line":"        \u0027meters\u0027: {\u0027pagination\u0027: False,"},{"line_number":113,"context_line":"                   \u0027query\u0027: {\u0027simple\u0027: False,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_1ef980c8","line":110,"in_reply_to":"1ae5cdf2_2e2c5347","updated":"2014-05-30 20:15:45.000000000","message":"well, I don\u0027t know))) that\u0027s matter of naming, so I\u0027ll do as you decide to)","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"024b9153dc329d1227a8d888a46683d4a2c09db4","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    \"\"\"Base class for storage system connections.\"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    \"\"\"A dictionary representing the capabilities of this driver."},{"line_number":110,"context_line":"    \"\"\""},{"line_number":111,"context_line":"    CAPABILITIES \u003d {"},{"line_number":112,"context_line":"        \u0027meters\u0027: {\u0027pagination\u0027: False,"},{"line_number":113,"context_line":"                   \u0027query\u0027: {\u0027simple\u0027: False,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_4bb7bf86","line":110,"in_reply_to":"1ae5cdf2_7e55241c","updated":"2014-05-31 08:11:34.000000000","message":"well, I\u0027m ok with the current view, as it\u0027ll be easier for other people to see the same \u0027capabilities\u0027 naming, not \u0027api capabilities\u0027 - in this case, \u0027storage capabilities\u0027 is just something new for them :)","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"c957e9e34523e8155cae3a4f309eb8eb7d9ebce8","unresolved":false,"context_lines":[{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    @classmethod"},{"line_number":381,"context_line":"    def get_storage_capabilities(cls):"},{"line_number":382,"context_line":"        \"\"\"Return an dictionary representing the performance capabilities."},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        This is needed to evaluate performance of each driver."},{"line_number":385,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_5a2ce647","line":382,"updated":"2014-05-31 12:18:51.000000000","message":"Return *a* dictionary...","commit_id":"87c79ce8f9e00de3facab108f9ab0fbcbb0a82be"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"c957e9e34523e8155cae3a4f309eb8eb7d9ebce8","unresolved":false,"context_lines":[{"line_number":381,"context_line":"    def get_storage_capabilities(cls):"},{"line_number":382,"context_line":"        \"\"\"Return an dictionary representing the performance capabilities."},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        This is needed to evaluate performance of each driver."},{"line_number":385,"context_line":"        \"\"\""},{"line_number":386,"context_line":"        return cls.STORAGE_CAPABILITIES"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_ba1a4a15","line":384,"updated":"2014-05-31 12:18:51.000000000","message":"... evaluate *the* performance ...","commit_id":"87c79ce8f9e00de3facab108f9ab0fbcbb0a82be"}],"ceilometer/storage/impl_hbase.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"7705665ffb28c876284ecd38c43dfbf617073139","unresolved":false,"context_lines":[{"line_number":55,"context_line":"}"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"PERFORMANCE_CAPABILITIES \u003d {"},{"line_number":59,"context_line":"    \u0027storage\u0027: {\u0027production_ready\u0027: True},"},{"line_number":60,"context_line":"}"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_2af608d8","line":58,"updated":"2014-05-30 14:44:49.000000000","message":"Maybe if we use storage everywhere else, we can just simply find some alternatives like the AVAILABLE_CAPABILITIES for the API version.","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"7705665ffb28c876284ecd38c43dfbf617073139","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    CAPABILITIES \u003d utils.update_nested(base.Connection.CAPABILITIES,"},{"line_number":120,"context_line":"                                       AVAILABLE_CAPABILITIES)"},{"line_number":121,"context_line":"    STORAGE_CAPABILITIES \u003d utils.update_nested("},{"line_number":122,"context_line":"        base.Connection.STORAGE_CAPABILITIES,"},{"line_number":123,"context_line":"        PERFORMANCE_CAPABILITIES,"},{"line_number":124,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_aa8db833","line":121,"updated":"2014-05-30 14:44:49.000000000","message":"If the default remains True, then this can be removed and re-added later if we will have any new params here or the condition changes.","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"f0f0f19cdb397e443de4f84d54fb4624d63f8833","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    CAPABILITIES \u003d utils.update_nested(base.Connection.CAPABILITIES,"},{"line_number":120,"context_line":"                                       AVAILABLE_CAPABILITIES)"},{"line_number":121,"context_line":"    STORAGE_CAPABILITIES \u003d utils.update_nested("},{"line_number":122,"context_line":"        base.Connection.STORAGE_CAPABILITIES,"},{"line_number":123,"context_line":"        PERFORMANCE_CAPABILITIES,"},{"line_number":124,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_a59a4b12","line":121,"in_reply_to":"1ae5cdf2_aa8db833","updated":"2014-05-30 15:07:40.000000000","message":"ok, got it!","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"}],"ceilometer/storage/impl_sqlalchemy.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"7705665ffb28c876284ecd38c43dfbf617073139","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    \u0027events\u0027: {\u0027query\u0027: {\u0027simple\u0027: True}},"},{"line_number":110,"context_line":"}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"PERFORMANCE_CAPABILITIES \u003d {"},{"line_number":114,"context_line":"    \u0027storage\u0027: {\u0027production_ready\u0027: True},"},{"line_number":115,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_2ace085b","line":112,"updated":"2014-05-30 14:44:49.000000000","message":"Same comments as in impl_hbase.","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"630ca64dadce9b61bc59105ad169771fd5e5501d","unresolved":false,"context_lines":[{"line_number":219,"context_line":"              message_id: message uuid"},{"line_number":220,"context_line":"              }"},{"line_number":221,"context_line":"    \"\"\""},{"line_number":222,"context_line":"    CAPABILITIES \u003d utils.update_nested(base.Connection.CAPABILITIES,"},{"line_number":223,"context_line":"                                       AVAILABLE_CAPABILITIES)"},{"line_number":224,"context_line":"    STORAGE_CAPABILITIES \u003d utils.update_nested("},{"line_number":225,"context_line":"        base.Connection.STORAGE_CAPABILITIES,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_6e1d7b0f","line":222,"updated":"2014-05-30 17:55:50.000000000","message":"Similarly would s/CAPABILITIES/API_CAPABILITIES/ here make sense?","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"}],"ceilometer/storage/pymongo_base.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"7705665ffb28c876284ecd38c43dfbf617073139","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                                     \u0027complex\u0027: True}}},"},{"line_number":140,"context_line":"}"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"PERFORMANCE_CAPABILITIES \u003d {"},{"line_number":144,"context_line":"    \u0027storage\u0027: {\u0027production_ready\u0027: True},"},{"line_number":145,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_6aef30b1","line":142,"updated":"2014-05-30 14:44:49.000000000","message":"Same comments as in impl_hbase.","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"}],"ceilometer/tests/api/v2/test_capabilities.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"2a656dcb52eae3d8f627ce5d23a6d9407261d182","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        # Performance capabilities are False by default and are True only for"},{"line_number":41,"context_line":"        # the concrete storage drivers - like it\u0027s done in the backends"},{"line_number":42,"context_line":"        # testing"},{"line_number":43,"context_line":"        self.assertNotIn(\u0027storage\u0027, data)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_2632aaa7","line":43,"updated":"2014-05-31 09:13:39.000000000","message":"-1: according to the comment, I understand the value could be False and True, but I don\u0027t understand why the storage should not in data?","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b81e2c5307796798c18e1b8e7bc842b36b2cc3f0","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        # Performance capabilities are False by default and are True only for"},{"line_number":41,"context_line":"        # the concrete storage drivers - like it\u0027s done in the backends"},{"line_number":42,"context_line":"        # testing"},{"line_number":43,"context_line":"        self.assertNotIn(\u0027storage\u0027, data)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_06bdae68","line":43,"in_reply_to":"1ae5cdf2_2632aaa7","updated":"2014-05-31 10:36:29.000000000","message":"Good catch, I read this as assertIn yesterday, like the other one above, but \u0027storage\u0027 should be in \u0027data\u0027 with one value or the other.","commit_id":"b4122c043dab5c3b602b82568cd606c556ca8f98"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"c957e9e34523e8155cae3a4f309eb8eb7d9ebce8","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        data \u003d self.get_json(self.url)"},{"line_number":36,"context_line":"        self.assertIsNotNone(data)"},{"line_number":37,"context_line":"        self.assertNotEqual({}, data)"},{"line_number":38,"context_line":"        # API capabilities are default ones"},{"line_number":39,"context_line":"        self.assertIn(\u0027api\u0027, data)"},{"line_number":40,"context_line":"        # Performance capabilities are False by default and are True only for"},{"line_number":41,"context_line":"        # the concrete storage drivers - like it\u0027s done in the backends"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_faa132aa","line":38,"updated":"2014-05-31 12:18:51.000000000","message":"If the comments are really necessary here, then I think it is enough to mention that the \u0027api\u0027 and the \u0027storage\u0027 are the two fix blocks of the returned data, but the content of each is not empty but varies according to the storage backends. The \u0027default ones\u0027 is a bit misleading here I think.","commit_id":"87c79ce8f9e00de3facab108f9ab0fbcbb0a82be"}],"ceilometer/tests/storage/test_impl_db2.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"7705665ffb28c876284ecd38c43dfbf617073139","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                 \u0027complex\u0027: True},"},{"line_number":67,"context_line":"                       \u0027history\u0027: {\u0027query\u0027: {\u0027simple\u0027: True,"},{"line_number":68,"context_line":"                                             \u0027complex\u0027: True}}},"},{"line_number":69,"context_line":"            \u0027events\u0027: {\u0027query\u0027: {\u0027simple\u0027: False}},"},{"line_number":70,"context_line":"        }"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        actual_capabilities \u003d impl_db2.Connection.get_capabilities()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_0a26ac16","line":69,"updated":"2014-05-30 14:44:49.000000000","message":"Why the comma is needed here?","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"f0f0f19cdb397e443de4f84d54fb4624d63f8833","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                 \u0027complex\u0027: True},"},{"line_number":67,"context_line":"                       \u0027history\u0027: {\u0027query\u0027: {\u0027simple\u0027: True,"},{"line_number":68,"context_line":"                                             \u0027complex\u0027: True}}},"},{"line_number":69,"context_line":"            \u0027events\u0027: {\u0027query\u0027: {\u0027simple\u0027: False}},"},{"line_number":70,"context_line":"        }"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        actual_capabilities \u003d impl_db2.Connection.get_capabilities()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_2551db62","line":69,"in_reply_to":"1ae5cdf2_0a26ac16","updated":"2014-05-30 15:07:40.000000000","message":"heh, no reason - that\u0027s from other patch set.","commit_id":"e0b152bc1d5b706ae241ca49481f9d34398bd341"}]}
