)]}'
{"ceilometer/dispatcher/gnocchi.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7003ea0f1365370de24ae2ff417b948b1dca3315","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                LOG.debug(\u0027Resource %s updated\u0027, resource_id)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    @contextlib.contextmanager"},{"line_number":324,"context_line":"    def _do_if_not_cached(self, resource):"},{"line_number":325,"context_line":"        if self.cache:"},{"line_number":326,"context_line":"            cache_key \u003d resource[\u0027id\u0027]"},{"line_number":327,"context_line":"            attribute_hash \u003d self._check_resource_cache(cache_key, resource)"}],"source_content_type":"text/x-python","patch_set":28,"id":"9a8ffd7b_ac406808","line":324,"updated":"2015-12-01 21:02:42.000000000","message":"nit s/_do_if_not_cached/_if_not_cached/","commit_id":"25d4abb59664ed809470aaaf1d5edefe7a235d17"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"ed90dcd6a6bd94626257ac0697006929f4c355ca","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                LOG.debug(\u0027Resource %s updated\u0027, resource_id)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    @contextlib.contextmanager"},{"line_number":324,"context_line":"    def _do_if_not_cached(self, resource):"},{"line_number":325,"context_line":"        if self.cache:"},{"line_number":326,"context_line":"            cache_key \u003d resource[\u0027id\u0027]"},{"line_number":327,"context_line":"            attribute_hash \u003d self._check_resource_cache(cache_key, resource)"}],"source_content_type":"text/x-python","patch_set":28,"id":"9a8ffd7b_093dcfba","line":324,"in_reply_to":"9a8ffd7b_ac406808","updated":"2015-12-02 07:24:09.000000000","message":"Done","commit_id":"25d4abb59664ed809470aaaf1d5edefe7a235d17"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7003ea0f1365370de24ae2ff417b948b1dca3315","unresolved":false,"context_lines":[{"line_number":330,"context_line":"                    yield"},{"line_number":331,"context_line":"                    self.cache.set(cache_key, attribute_hash)"},{"line_number":332,"context_line":"            else:"},{"line_number":333,"context_line":"                LOG.debug(\u0027resource cache hit for create %s\u0027, cache_key)"},{"line_number":334,"context_line":"        else:"},{"line_number":335,"context_line":"            yield"},{"line_number":336,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"9a8ffd7b_0cd3b460","line":333,"updated":"2015-12-01 21:02:42.000000000","message":"maybe add a param to control whether it says \u0027create\u0027 or \u0027update\u0027","commit_id":"25d4abb59664ed809470aaaf1d5edefe7a235d17"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"ed90dcd6a6bd94626257ac0697006929f4c355ca","unresolved":false,"context_lines":[{"line_number":330,"context_line":"                    yield"},{"line_number":331,"context_line":"                    self.cache.set(cache_key, attribute_hash)"},{"line_number":332,"context_line":"            else:"},{"line_number":333,"context_line":"                LOG.debug(\u0027resource cache hit for create %s\u0027, cache_key)"},{"line_number":334,"context_line":"        else:"},{"line_number":335,"context_line":"            yield"},{"line_number":336,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"9a8ffd7b_e9416b3a","line":333,"in_reply_to":"9a8ffd7b_0cd3b460","updated":"2015-12-02 07:24:09.000000000","message":"Done","commit_id":"25d4abb59664ed809470aaaf1d5edefe7a235d17"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"43bd9fa661aa15d45c23a7730e0c46b927a91189","unresolved":false,"context_lines":[{"line_number":331,"context_line":"                    yield"},{"line_number":332,"context_line":"                    self.cache.set(cache_key, attribute_hash)"},{"line_number":333,"context_line":"            else:"},{"line_number":334,"context_line":"                LOG.debug(\u0027Resource cache hit for %s %s\u0027, operation, cache_key)"},{"line_number":335,"context_line":"        else:"},{"line_number":336,"context_line":"            yield"},{"line_number":337,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"7a740942_ac040215","line":334,"updated":"2015-12-04 14:46:00.000000000","message":"apparently contextlib must yield so this path is throwing errors.\n\ni\u0027m not exactly sure a way to continuing using this technique\n\nhttp://logs.openstack.org/81/253181/1/check/gate-ceilometer-dsvm-integration/7dff073/logs/screen-ceilometer-collector.txt.gz#_2015-12-03_22_20_07_773","commit_id":"d5b62ceedee8e839c4e25c78697498c77ea88b80"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"8f5f118b79be39722ec4251251d9b2d2e472a8c6","unresolved":false,"context_lines":[{"line_number":331,"context_line":"                    yield"},{"line_number":332,"context_line":"                    self.cache.set(cache_key, attribute_hash)"},{"line_number":333,"context_line":"            else:"},{"line_number":334,"context_line":"                LOG.debug(\u0027Resource cache hit for %s %s\u0027, operation, cache_key)"},{"line_number":335,"context_line":"        else:"},{"line_number":336,"context_line":"            yield"},{"line_number":337,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"7a740942_0197ea48","line":334,"in_reply_to":"7a740942_ac040215","updated":"2015-12-07 07:16:57.000000000","message":"Done","commit_id":"d5b62ceedee8e839c4e25c78697498c77ea88b80"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"15aa89f2010032f306642bf93b0012f9edef41f2","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                \"id\": resource_id,"},{"line_number":275,"context_line":"                \"user_id\": samples[0][\u0027user_id\u0027],"},{"line_number":276,"context_line":"                \"project_id\": samples[0][\u0027project_id\u0027],"},{"line_number":277,"context_line":"                \"metrics\": rd.metrics,"},{"line_number":278,"context_line":"            }"},{"line_number":279,"context_line":"            measures \u003d []"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"7a740942_1572a849","line":277,"updated":"2015-12-07 17:14:25.000000000","message":"i think we should only be adding this at create step.","commit_id":"16145c256a71975173f2bffa50d605e2b43f92de"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b96d42cff6c8acd5569be736f54156d5e2d7bbb5","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                \"id\": resource_id,"},{"line_number":275,"context_line":"                \"user_id\": samples[0][\u0027user_id\u0027],"},{"line_number":276,"context_line":"                \"project_id\": samples[0][\u0027project_id\u0027],"},{"line_number":277,"context_line":"                \"metrics\": rd.metrics,"},{"line_number":278,"context_line":"            }"},{"line_number":279,"context_line":"            measures \u003d []"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"7a740942_53626c3f","line":277,"in_reply_to":"7a740942_1572a849","updated":"2015-12-08 06:45:29.000000000","message":"If we add it only on create we have case where the update code \nhave \u0027metrics\u0027 set and sometimes not. I have move it here to ensure it\u0027s always present.","commit_id":"16145c256a71975173f2bffa50d605e2b43f92de"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"2a7d36125e84f02d7f8abbe165b70cf63d04c729","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                \"id\": resource_id,"},{"line_number":275,"context_line":"                \"user_id\": samples[0][\u0027user_id\u0027],"},{"line_number":276,"context_line":"                \"project_id\": samples[0][\u0027project_id\u0027],"},{"line_number":277,"context_line":"                \"metrics\": rd.metrics,"},{"line_number":278,"context_line":"            }"},{"line_number":279,"context_line":"            measures \u003d []"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_ab1b0180","line":277,"updated":"2015-12-08 13:51:03.000000000","message":"we didn\u0027t have this originally because it was not part of resource cache. i think the idea was that we wouldn\u0027t really need to update on metric change since \u0027create metric\u0027 would add it to resource and \u0027delete metric\u0027 is not relevant from ceilometer pov. is that not true?","commit_id":"36a4294f13fb4da0a669325414bcbbf77241a49b"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"494da1a4256e54de4e371ee832fd057b4fc99f13","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                \"id\": resource_id,"},{"line_number":275,"context_line":"                \"user_id\": samples[0][\u0027user_id\u0027],"},{"line_number":276,"context_line":"                \"project_id\": samples[0][\u0027project_id\u0027],"},{"line_number":277,"context_line":"                \"metrics\": rd.metrics,"},{"line_number":278,"context_line":"            }"},{"line_number":279,"context_line":"            measures \u003d []"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_56256106","line":277,"in_reply_to":"7a740942_ab1b0180","updated":"2015-12-09 07:52:06.000000000","message":"Adding it only on \"create\" means something \"update\" have \"metrics\" inside the resource sometimes not. So I always add it \nhere and filter this entry in _check_resource_cache.\n\nAnyways I have removed this change from this patch and moves it into the patch that fix the cache handling.","commit_id":"36a4294f13fb4da0a669325414bcbbf77241a49b"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"2a7d36125e84f02d7f8abbe165b70cf63d04c729","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"            except gnocchi_exc.MetricNotFound:"},{"line_number":297,"context_line":"                try:"},{"line_number":298,"context_line":"                    self._gnocchi.metric.create(rd.metrics[metric_name],"},{"line_number":299,"context_line":"                                                resource[\u0027id\u0027], metric_name)"},{"line_number":300,"context_line":"                except gnocchi_exc.NamedMetricAreadyExists:"},{"line_number":301,"context_line":"                    # NOTE(sileht): metric created in the meantime"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_6b11995c","line":298,"updated":"2015-12-08 13:51:03.000000000","message":"is this client call, suppose to be this: https://github.com/openstack/python-gnocchiclient/blob/master/gnocchiclient/v1/metric.py#L58?","commit_id":"36a4294f13fb4da0a669325414bcbbf77241a49b"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"494da1a4256e54de4e371ee832fd057b4fc99f13","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"            except gnocchi_exc.MetricNotFound:"},{"line_number":297,"context_line":"                try:"},{"line_number":298,"context_line":"                    self._gnocchi.metric.create(rd.metrics[metric_name],"},{"line_number":299,"context_line":"                                                resource[\u0027id\u0027], metric_name)"},{"line_number":300,"context_line":"                except gnocchi_exc.NamedMetricAreadyExists:"},{"line_number":301,"context_line":"                    # NOTE(sileht): metric created in the meantime"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_f61fadb4","line":298,"in_reply_to":"7a740942_6b11995c","updated":"2015-12-09 07:52:06.000000000","message":"Fixed","commit_id":"36a4294f13fb4da0a669325414bcbbf77241a49b"}],"ceilometer/dispatcher/gnocchi_client.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"9b76f8d0b5fc5a5c7b510f7ef0b8142d95bfbdb0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":6,"context_line":"# a copy of the License at"},{"line_number":7,"context_line":"#"},{"line_number":8,"context_line":"#      http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":9,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":37,"id":"7a740942_608141fb","line":6,"updated":"2015-12-10 09:41:15.000000000","message":"I think you can remove this file and just move this code in the dispatcher code.","commit_id":"8de6404f8501f5a81b095778c8afdfb53c4ae0a5"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"61a06b44d59f1018361138901afe2222a8b313f0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":6,"context_line":"# a copy of the License at"},{"line_number":7,"context_line":"#"},{"line_number":8,"context_line":"#      http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":9,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":37,"id":"7a740942_df4bfa29","line":6,"in_reply_to":"7a740942_608141fb","updated":"2015-12-11 07:34:01.000000000","message":"Done","commit_id":"8de6404f8501f5a81b095778c8afdfb53c4ae0a5"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"9b76f8d0b5fc5a5c7b510f7ef0b8142d95bfbdb0","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from ceilometer import keystone_client"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def Client(conf):"}],"source_content_type":"text/x-python","patch_set":37,"id":"7a740942_a0872911","line":23,"updated":"2015-12-10 09:41:15.000000000","message":"unused","commit_id":"8de6404f8501f5a81b095778c8afdfb53c4ae0a5"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"61a06b44d59f1018361138901afe2222a8b313f0","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from ceilometer import keystone_client"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def Client(conf):"}],"source_content_type":"text/x-python","patch_set":37,"id":"7a740942_3f447e19","line":23,"in_reply_to":"7a740942_a0872911","updated":"2015-12-11 07:34:01.000000000","message":"Done, why pep8 doesn\u0027t complains !","commit_id":"8de6404f8501f5a81b095778c8afdfb53c4ae0a5"}],"ceilometer/tests/unit/dispatcher/test_gnocchi.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"c0bd75ee1667a00e36291c4d6917129ea9b0f7f4","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        # NOTE(sileht): we don\u0027t use urlparse.quote here"},{"line_number":309,"context_line":"        # to ensure / is converted in %2F"},{"line_number":310,"context_line":"        # temporary disabled until we find a solution"},{"line_number":311,"context_line":"        # on gnocchi side. Current gnocchiclient doesn\u0027t"},{"line_number":312,"context_line":"        # encode the resource_id"},{"line_number":313,"context_line":"        resource_id \u003d self.sample[\u0027resource_id\u0027]  # .replace(\"/\", \"%2F\"),"}],"source_content_type":"text/x-python","patch_set":32,"id":"9a8ffd7b_92a668bf","line":310,"updated":"2015-12-03 14:36:46.000000000","message":"should be a FIXME","commit_id":"d5b62ceedee8e839c4e25c78697498c77ea88b80"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"8f5f118b79be39722ec4251251d9b2d2e472a8c6","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        # NOTE(sileht): we don\u0027t use urlparse.quote here"},{"line_number":309,"context_line":"        # to ensure / is converted in %2F"},{"line_number":310,"context_line":"        # temporary disabled until we find a solution"},{"line_number":311,"context_line":"        # on gnocchi side. Current gnocchiclient doesn\u0027t"},{"line_number":312,"context_line":"        # encode the resource_id"},{"line_number":313,"context_line":"        resource_id \u003d self.sample[\u0027resource_id\u0027]  # .replace(\"/\", \"%2F\"),"}],"source_content_type":"text/x-python","patch_set":32,"id":"7a740942_4183b204","line":310,"in_reply_to":"9a8ffd7b_92a668bf","updated":"2015-12-07 07:16:57.000000000","message":"Done","commit_id":"d5b62ceedee8e839c4e25c78697498c77ea88b80"}]}
