)]}'
{"rally/plugins/openstack/context/ceilometer.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"f34c249e5ae9eb89063e9627217860015d41e490","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                try:"},{"line_number":92,"context_line":"                    samples \u003d scenario._create_samples(samples_to_create)"},{"line_number":93,"context_line":"                    for sample in samples:"},{"line_number":94,"context_line":"                        self.context[\"tenants\"][tenant_id][\"samples\"].append("},{"line_number":95,"context_line":"                            sample.to_dict())"},{"line_number":96,"context_line":"                    self.context[\"tenants\"][tenant_id][\"resources\"].append("},{"line_number":97,"context_line":"                        samples[0].resource_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_0c9534e3","line":94,"updated":"2015-06-29 11:15:02.000000000","message":"why we convert it to dict and then we can use here extend ?","commit_id":"eaef18d374bcaf69a77b87495444946a83120874"}],"rally/plugins/openstack/context/ceilometer/samples.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"470309cdacee20f097afd96a230ab3eca817e600","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            \"counter_name\": self.config[\"counter_name\"],"},{"line_number":73,"context_line":"            \"counter_type\": self.config[\"counter_type\"],"},{"line_number":74,"context_line":"            \"counter_unit\": self.config[\"counter_unit\"],"},{"line_number":75,"context_line":"            \"counter_volume\": self.config[\"counter_volume\"]"},{"line_number":76,"context_line":"        }"},{"line_number":77,"context_line":"        for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":78,"context_line":"                self.context[\"users\"]):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_8e13580d","line":75,"updated":"2015-10-02 14:18:40.000000000","message":"Name counter is deprecated in v2. Could we use meter instead?","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"470309cdacee20f097afd96a230ab3eca817e600","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                    samples \u003d scenario._create_samples(samples_to_create)"},{"line_number":87,"context_line":"                    for sample in samples:"},{"line_number":88,"context_line":"                        self.context[\"tenants\"][tenant_id][\"samples\"].append("},{"line_number":89,"context_line":"                            sample.to_dict())"},{"line_number":90,"context_line":"                    self.context[\"tenants\"][tenant_id][\"resources\"].append("},{"line_number":91,"context_line":"                        samples[0].resource_id)"},{"line_number":92,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_6e6cc408","line":89,"updated":"2015-10-02 14:18:40.000000000","message":"Here is to_dict() is redundant. Its already dict. Therefore we could delete this cycle and write self.context[\"tenants\"][tenant_id][\"samples\"].extend(samples)","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"e77d42b4e2d334c72e2533f586eeeac7d304845d","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                    samples \u003d scenario._create_samples(samples_to_create)"},{"line_number":87,"context_line":"                    for sample in samples:"},{"line_number":88,"context_line":"                        self.context[\"tenants\"][tenant_id][\"samples\"].append("},{"line_number":89,"context_line":"                            sample.to_dict())"},{"line_number":90,"context_line":"                    self.context[\"tenants\"][tenant_id][\"resources\"].append("},{"line_number":91,"context_line":"                        samples[0].resource_id)"},{"line_number":92,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_8b33aff5","line":89,"updated":"2015-10-09 13:06:54.000000000","message":"Here is to_dict() is redundant. Its already dict. Therefore we could delete this cycle and write self.context[\"tenants\"][tenant_id][\"samples\"].extend(samples)","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"88149997a1fc90395febeebdfc1dc25d8e4ee622","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                    samples \u003d scenario._create_samples(samples_to_create)"},{"line_number":87,"context_line":"                    for sample in samples:"},{"line_number":88,"context_line":"                        self.context[\"tenants\"][tenant_id][\"samples\"].append("},{"line_number":89,"context_line":"                            sample.to_dict())"},{"line_number":90,"context_line":"                    self.context[\"tenants\"][tenant_id][\"resources\"].append("},{"line_number":91,"context_line":"                        samples[0].resource_id)"},{"line_number":92,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_393e0eb9","line":89,"in_reply_to":"7a2fa921_8b33aff5","updated":"2015-10-13 09:04:59.000000000","message":"afaik method create_list in python-ceilometerclient store list of samples in the database and return list of OldSample instances. To have a dict we need to use to_dict method amiright here or i\u0027ve missed something?","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"c4def5a450e3358cf0f9ad98cdf62613e6ba22f4","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                self.context[\"users\"]):"},{"line_number":79,"context_line":"            self.context[\"tenants\"][tenant_id][\"samples\"] \u003d []"},{"line_number":80,"context_line":"            self.context[\"tenants\"][tenant_id][\"resources\"] \u003d []"},{"line_number":81,"context_line":"            scenario \u003d ceilo_utils.CeilometerScenario({\"user\": user})"},{"line_number":82,"context_line":"            for i in moves.xrange(self.config[\"resources_per_tenant\"]):"},{"line_number":83,"context_line":"                samples_to_create \u003d scenario._make_samples("},{"line_number":84,"context_line":"                    count\u003dself.config[\"samples_per_resource\"], **new_sample)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a2ca52d_3869658c","line":81,"updated":"2015-10-13 09:52:25.000000000","message":"please, return `\"task\": self.context[\"task\"]` here.","commit_id":"6d002b182e94c4bf7bf9ed6956daa2b515fdcd5e"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"c83d0e7ebe2b1888e3779727d5ea1a198495e755","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                self.context[\"users\"]):"},{"line_number":79,"context_line":"            self.context[\"tenants\"][tenant_id][\"samples\"] \u003d []"},{"line_number":80,"context_line":"            self.context[\"tenants\"][tenant_id][\"resources\"] \u003d []"},{"line_number":81,"context_line":"            scenario \u003d ceilo_utils.CeilometerScenario({\"user\": user})"},{"line_number":82,"context_line":"            for i in moves.xrange(self.config[\"resources_per_tenant\"]):"},{"line_number":83,"context_line":"                samples_to_create \u003d scenario._make_samples("},{"line_number":84,"context_line":"                    count\u003dself.config[\"samples_per_resource\"], **new_sample)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a2ca52d_a4d0ecca","line":81,"in_reply_to":"5a2ca52d_3869658c","updated":"2015-10-13 11:36:07.000000000","message":"Done","commit_id":"6d002b182e94c4bf7bf9ed6956daa2b515fdcd5e"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"a756e0a75760b558570078dd864da14122e27dcd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            for i in moves.xrange(self.config[\"resources_per_tenant\"]):"},{"line_number":85,"context_line":"                samples_to_create \u003d scenario._make_samples("},{"line_number":86,"context_line":"                    count\u003dself.config[\"samples_per_resource\"], **new_sample)"},{"line_number":87,"context_line":"                try:"},{"line_number":88,"context_line":"                    samples \u003d scenario._create_samples(samples_to_create)"},{"line_number":89,"context_line":"                    for sample in samples:"},{"line_number":90,"context_line":"                        self.context[\"tenants\"][tenant_id][\"samples\"].append("}],"source_content_type":"text/x-python","patch_set":19,"id":"1a26ad4f_00116b52","line":87,"updated":"2015-10-28 10:03:21.000000000","message":"This try/except is not necessary. It would be better to see original exception, and be able to see traceback.\n\nSuch exception spoofing makes debugging hard.","commit_id":"5c6990af178c62bc67ec9d2616251067124d3dc8"},{"author":{"_account_id":14884,"name":"Kiran Ranganath","email":"kiran7193@gmail.com","username":"kiran"},"change_message_id":"114059cc6d3e8c5d398491a9538c6743544204eb","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            for i in moves.xrange(self.config[\"resources_per_tenant\"]):"},{"line_number":85,"context_line":"                samples_to_create \u003d scenario._make_samples("},{"line_number":86,"context_line":"                    count\u003dself.config[\"samples_per_resource\"], **new_sample)"},{"line_number":87,"context_line":"                try:"},{"line_number":88,"context_line":"                    samples \u003d scenario._create_samples(samples_to_create)"},{"line_number":89,"context_line":"                    for sample in samples:"},{"line_number":90,"context_line":"                        self.context[\"tenants\"][tenant_id][\"samples\"].append("}],"source_content_type":"text/x-python","patch_set":19,"id":"1a26ad4f_800a5bd1","line":87,"in_reply_to":"1a26ad4f_00116b52","updated":"2015-10-28 10:19:42.000000000","message":"Agreed. I guess try/except has to be removed.","commit_id":"5c6990af178c62bc67ec9d2616251067124d3dc8"}],"rally/plugins/openstack/scenarios/ceilometer/utils.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"f34c249e5ae9eb89063e9627217860015d41e490","unresolved":false,"context_lines":[{"line_number":25,"context_line":"                      counter_type\u003d\"gauge\", counter_unit\u003d\"%\", counter_volume\u003d1,"},{"line_number":26,"context_line":"                      resource_id\u003dNone, project_id\u003dNone, user_id\u003dNone,"},{"line_number":27,"context_line":"                      source\u003dNone, timestamp\u003dNone, resource_metadata\u003dNone):"},{"line_number":28,"context_line":"        \"\"\"Prepare and return an array of samples."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        :param count: specifies number of samples in array"},{"line_number":31,"context_line":"        :param counter_name: specifies name of the counter"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_35bab8e2","line":28,"updated":"2015-06-29 11:15:02.000000000","message":"list","commit_id":"eaef18d374bcaf69a77b87495444946a83120874"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"f34c249e5ae9eb89063e9627217860015d41e490","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        :param source: specifies source for samples"},{"line_number":39,"context_line":"        :param timestamp: specifies timestamp for samples"},{"line_number":40,"context_line":"        :param resource_metadata: specifies resource metadata"},{"line_number":41,"context_line":"        :returns: array of samples used to create samples"},{"line_number":42,"context_line":"        \"\"\""},{"line_number":43,"context_line":"        sample \u003d {"},{"line_number":44,"context_line":"            \"counter_name\": counter_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_2c17d8a4","line":41,"updated":"2015-06-29 11:15:02.000000000","message":"its a list","commit_id":"eaef18d374bcaf69a77b87495444946a83120874"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"f34c249e5ae9eb89063e9627217860015d41e490","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":47,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":48,"context_line":"            \"resource_id\": resource_id or self._generate_random_name("},{"line_number":49,"context_line":"                prefix\u003d\"rally_ctx_resource_\")"},{"line_number":50,"context_line":"        }"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if project_id:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_120eaa34","line":49,"updated":"2015-06-29 11:15:02.000000000","message":"there is already existing resource prefix in this file","commit_id":"eaef18d374bcaf69a77b87495444946a83120874"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"f34c249e5ae9eb89063e9627217860015d41e490","unresolved":false,"context_lines":[{"line_number":266,"context_line":"    def _create_samples(self, samples):"},{"line_number":267,"context_line":"        \"\"\"Create samples with specified parameters."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        :param samples: an array of samples to create"},{"line_number":270,"context_line":"        :returns: created samples"},{"line_number":271,"context_line":"        \"\"\""},{"line_number":272,"context_line":"        return self.clients(\"ceilometer\").samples.create_list(samples)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_ecafb092","line":269,"updated":"2015-06-29 11:15:02.000000000","message":"its a list","commit_id":"eaef18d374bcaf69a77b87495444946a83120874"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"f34c249e5ae9eb89063e9627217860015d41e490","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        \"\"\"Create samples with specified parameters."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        :param samples: an array of samples to create"},{"line_number":270,"context_line":"        :returns: created samples"},{"line_number":271,"context_line":"        \"\"\""},{"line_number":272,"context_line":"        return self.clients(\"ceilometer\").samples.create_list(samples)"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_ac09a833","line":270,"updated":"2015-06-29 11:15:02.000000000","message":"list of samples","commit_id":"eaef18d374bcaf69a77b87495444946a83120874"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"470309cdacee20f097afd96a230ab3eca817e600","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        :param count: specifies number of samples in array"},{"line_number":33,"context_line":"        :param counter_name: specifies name of the counter"},{"line_number":34,"context_line":"        :param counter_type: specifies type of the counter"},{"line_number":35,"context_line":"        :param counter_unit: specifies name of the counter"},{"line_number":36,"context_line":"        :param counter_volume: specifies name of the counter"},{"line_number":37,"context_line":"        :param resource_id: specifies resource id for samples"},{"line_number":38,"context_line":"        :param project_id: specifies project id for samples"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_74c9f8ab","line":35,"updated":"2015-10-02 14:18:40.000000000","message":"looks like typo. Duplicated with 33th line.","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"a52b0b768d5e5ae59581828f8ec4f16b8d2e3529","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        :param count: specifies number of samples in array"},{"line_number":33,"context_line":"        :param counter_name: specifies name of the counter"},{"line_number":34,"context_line":"        :param counter_type: specifies type of the counter"},{"line_number":35,"context_line":"        :param counter_unit: specifies name of the counter"},{"line_number":36,"context_line":"        :param counter_volume: specifies name of the counter"},{"line_number":37,"context_line":"        :param resource_id: specifies resource id for samples"},{"line_number":38,"context_line":"        :param project_id: specifies project id for samples"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_c91b547f","line":35,"in_reply_to":"9a1a9d01_74c9f8ab","updated":"2015-10-05 14:19:19.000000000","message":"Done","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"470309cdacee20f097afd96a230ab3eca817e600","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        :param counter_name: specifies name of the counter"},{"line_number":34,"context_line":"        :param counter_type: specifies type of the counter"},{"line_number":35,"context_line":"        :param counter_unit: specifies name of the counter"},{"line_number":36,"context_line":"        :param counter_volume: specifies name of the counter"},{"line_number":37,"context_line":"        :param resource_id: specifies resource id for samples"},{"line_number":38,"context_line":"        :param project_id: specifies project id for samples"},{"line_number":39,"context_line":"        :param user_id: specifies user id for samples"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_b436b0b2","line":36,"updated":"2015-10-02 14:18:40.000000000","message":"looks like typo. Duplicated with 33th line.","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"a52b0b768d5e5ae59581828f8ec4f16b8d2e3529","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        :param counter_name: specifies name of the counter"},{"line_number":34,"context_line":"        :param counter_type: specifies type of the counter"},{"line_number":35,"context_line":"        :param counter_unit: specifies name of the counter"},{"line_number":36,"context_line":"        :param counter_volume: specifies name of the counter"},{"line_number":37,"context_line":"        :param resource_id: specifies resource id for samples"},{"line_number":38,"context_line":"        :param project_id: specifies project id for samples"},{"line_number":39,"context_line":"        :param user_id: specifies user id for samples"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_69124864","line":36,"in_reply_to":"9a1a9d01_b436b0b2","updated":"2015-10-05 14:19:19.000000000","message":"Done","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"470309cdacee20f097afd96a230ab3eca817e600","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        :returns: list of samples used to create samples"},{"line_number":44,"context_line":"        \"\"\""},{"line_number":45,"context_line":"        sample \u003d {"},{"line_number":46,"context_line":"            \"counter_name\": counter_name,"},{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_bf9449e8","line":46,"updated":"2015-10-02 14:18:40.000000000","message":"We use ceilometerclient v2, in this version name \u0027counter\u0027 is deprecated. Is there any way not to use OldSample manager?","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"a52b0b768d5e5ae59581828f8ec4f16b8d2e3529","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        :returns: list of samples used to create samples"},{"line_number":44,"context_line":"        \"\"\""},{"line_number":45,"context_line":"        sample \u003d {"},{"line_number":46,"context_line":"            \"counter_name\": counter_name,"},{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_2d0f7b2f","line":46,"in_reply_to":"9a1a9d01_bf9449e8","updated":"2015-10-05 14:19:19.000000000","message":"counter_name is an attribute of Sample instance an it is actual in V1 either in V2 ceilometerclient.","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"470309cdacee20f097afd96a230ab3eca817e600","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"},{"line_number":54,"context_line":"            \"user_id\": user_id,"},{"line_number":55,"context_line":"            \"source\": source,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_54d874ef","line":52,"updated":"2015-10-02 14:18:40.000000000","message":"Looks like more reasonable to use here kwargs","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"a52b0b768d5e5ae59581828f8ec4f16b8d2e3529","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"},{"line_number":54,"context_line":"            \"user_id\": user_id,"},{"line_number":55,"context_line":"            \"source\": source,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a2fa921_391acb6f","line":52,"in_reply_to":"9a1a9d01_54d874ef","updated":"2015-10-05 14:19:19.000000000","message":"as for me using kwargs not looks reasonable because it will require additional checking operations for received parameters","commit_id":"eca8414ce73156ddd8e285e154d242e017e206f6"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"f032502fcd8d3ee104b8cff26b16ac1736896474","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_4fda6e18","line":50,"updated":"2015-10-09 20:14:46.000000000","message":"It should not be possible to set a manual resource name. This should always only generate a random name.","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"88149997a1fc90395febeebdfc1dc25d8e4ee622","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_7e39cc40","line":50,"in_reply_to":"7a2fa921_4fda6e18","updated":"2015-10-13 09:04:59.000000000","message":"Chris thanks for your comment but this restriction is not very clear could you please clarify why we cannot set resource manual for our test\u0027s samples while context is created? In our scenarios we very often need to know resource and add it in query, and if it is randomly generated we won\u0027t be able to make testing. Scenarios for that cases are in developing now.","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"fc6de77d7c9570944cf735646eda098a0d05ade5","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a2ca52d_a6af86e2","line":50,"in_reply_to":"7a2fa921_7e39cc40","updated":"2015-10-13 14:31:15.000000000","message":"The best thing to do, where that is a requirement, is to return the resource name. In this case, you return the list of samples so the calling function can access the sample names.\n\nThis restriction is necessary so that we can improve Rally\u0027s out-of-band cleanup. See the specs at https://github.com/openstack/rally/blob/master/doc/specs/in-progress/consistent_resource_names.rst and https://github.com/openstack/rally/blob/master/doc/specs/in-progress/cleanup_refactoring.rst for more details.","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"c4def5a450e3358cf0f9ad98cdf62613e6ba22f4","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    RESOURCE_NAME_PREFIX \u003d \"rally_ceilometer_\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def _make_samples(self, count\u003d1, counter_name\u003d\"cpu_util\","},{"line_number":27,"context_line":"                      counter_type\u003d\"gauge\", counter_unit\u003d\"%\", counter_volume\u003d1,"},{"line_number":28,"context_line":"                      resource_id\u003dNone, project_id\u003dNone, user_id\u003dNone,"},{"line_number":29,"context_line":"                      source\u003dNone, timestamp\u003dNone, resource_metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a2ca52d_f8a52db5","line":26,"updated":"2015-10-13 09:52:25.000000000","message":"this method requires unittests","commit_id":"6d002b182e94c4bf7bf9ed6956daa2b515fdcd5e"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"c83d0e7ebe2b1888e3779727d5ea1a198495e755","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    RESOURCE_NAME_PREFIX \u003d \"rally_ceilometer_\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def _make_samples(self, count\u003d1, counter_name\u003d\"cpu_util\","},{"line_number":27,"context_line":"                      counter_type\u003d\"gauge\", counter_unit\u003d\"%\", counter_volume\u003d1,"},{"line_number":28,"context_line":"                      resource_id\u003dNone, project_id\u003dNone, user_id\u003dNone,"},{"line_number":29,"context_line":"                      source\u003dNone, timestamp\u003dNone, resource_metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a2ca52d_64dbb4ee","line":26,"in_reply_to":"5a2ca52d_f8a52db5","updated":"2015-10-13 11:36:07.000000000","message":"Done","commit_id":"6d002b182e94c4bf7bf9ed6956daa2b515fdcd5e"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"64fcc9bd65ad49e5746fd83ba0a3da1b94986358","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a2ca52d_a64b062b","line":50,"updated":"2015-10-13 14:33:28.000000000","message":"I replied to your comment on the older patchset about the need to always generate random names. If you need further clarification let me know and I\u0027ll be happy to help.","commit_id":"87315a242ef90cbe14548e9c4f058235b8d369c2"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"33605ed01188efb0126b60ef37abde02a5b7b126","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a2ca52d_5767a24c","line":50,"in_reply_to":"5a2ca52d_1823d206","updated":"2015-10-16 13:14:09.000000000","message":"TBH that sounds like a bit of an anti-pattern. Why don\u0027t you add it to the Rally meeting agenda (https://wiki.openstack.org/wiki/Meetings/Rally) and we can discuss it Monday.","commit_id":"87315a242ef90cbe14548e9c4f058235b8d369c2"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"e061a6f1e671b804b18b5ab1ddfc691bd776fa4d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a2ca52d_1823d206","line":50,"in_reply_to":"5a2ca52d_a64b062b","updated":"2015-10-15 20:10:29.000000000","message":"Hi Chris, thank you for your comments and help proposition. I really appreciate additional clarification why do we need to generate random resource name. \n\nI will describe for you our test work flow. We are going to have cycles of test to measure get performance depends on database fulfill so in one cycle we will run several tests in each of them so resources. All resources are stored in databases and do not removed after test is finished, so to checkout performance of certain get requests we need to take a resource_id if we cannot create resources manually and need them to be always random what is the way to choose resources created for this test and avoid those which were created earlier? It seems that have possibility to add resource_id by hands is the simplest way to resolve that issue WDYT?","commit_id":"87315a242ef90cbe14548e9c4f058235b8d369c2"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"4ed79d567f238a1c26f3875466c7c7856f50b52f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"counter_type\": counter_type,"},{"line_number":48,"context_line":"            \"counter_unit\": counter_unit,"},{"line_number":49,"context_line":"            \"counter_volume\": counter_volume,"},{"line_number":50,"context_line":"            \"resource_id\": resource_id or self._generate_random_name()"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        opt_fields \u003d {"},{"line_number":53,"context_line":"            \"project_id\": project_id,"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a2ca52d_bdf6b1d5","line":50,"in_reply_to":"5a2ca52d_a64b062b","updated":"2015-10-13 15:58:16.000000000","message":"oops, I missed this line.","commit_id":"87315a242ef90cbe14548e9c4f058235b8d369c2"}],"tests/unit/fakes.py":[{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"f032502fcd8d3ee104b8cff26b16ac1736896474","unresolved":false,"context_lines":[{"line_number":763,"context_line":"        for sample in samples:"},{"line_number":764,"context_line":"            fake_samples.append(FakeSample(**sample))"},{"line_number":765,"context_line":"        return fake_samples"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def list(self):"},{"line_number":768,"context_line":"        return [\"fake-samples\"]"},{"line_number":769,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_4f482ecc","line":766,"updated":"2015-10-09 20:14:46.000000000","message":"The whole fakes module is kind of a misfeature, so since this code isn\u0027t actually used I\u0027d prefer that it not be included at all, to avoid accidentally encouraging someone to use fakes rather than creating a properly mocked-out test.","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ad82b762df36f4a8404436b1de63770847357297","unresolved":false,"context_lines":[{"line_number":763,"context_line":"        for sample in samples:"},{"line_number":764,"context_line":"            fake_samples.append(FakeSample(**sample))"},{"line_number":765,"context_line":"        return fake_samples"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def list(self):"},{"line_number":768,"context_line":"        return [\"fake-samples\"]"},{"line_number":769,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_a9c8d755","line":766,"in_reply_to":"7a2fa921_4f482ecc","updated":"2015-10-10 03:56:48.000000000","message":"Chris btw what do you think about removing fakes.py at all?","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"fc6de77d7c9570944cf735646eda098a0d05ade5","unresolved":false,"context_lines":[{"line_number":763,"context_line":"        for sample in samples:"},{"line_number":764,"context_line":"            fake_samples.append(FakeSample(**sample))"},{"line_number":765,"context_line":"        return fake_samples"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def list(self):"},{"line_number":768,"context_line":"        return [\"fake-samples\"]"},{"line_number":769,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a2ca52d_46879261","line":766,"in_reply_to":"7a2fa921_a9c8d755","updated":"2015-10-13 14:31:15.000000000","message":"Removing fakes.py entirely would make me very, very happy. :)","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"88149997a1fc90395febeebdfc1dc25d8e4ee622","unresolved":false,"context_lines":[{"line_number":763,"context_line":"        for sample in samples:"},{"line_number":764,"context_line":"            fake_samples.append(FakeSample(**sample))"},{"line_number":765,"context_line":"        return fake_samples"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def list(self):"},{"line_number":768,"context_line":"        return [\"fake-samples\"]"},{"line_number":769,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_5eb3b00a","line":766,"in_reply_to":"7a2fa921_a9c8d755","updated":"2015-10-13 09:04:59.000000000","message":"removed","commit_id":"17d17a2433bf313ff40cb400e310bc26be999c28"}],"tests/unit/plugins/openstack/scenarios/ceilometer/test_utils.py":[{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"7f1e77975e22e063f59229e262f529d9848d28f6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            self, mock_random_name_generator_mixin_generate_random_name):"},{"line_number":35,"context_line":"        mock_random_name_generator_mixin_generate_random_name.return_value \u003d ("},{"line_number":36,"context_line":"            \"fake_resource\")"},{"line_number":37,"context_line":"        result \u003d self.scenario._make_samples(project_id\u003d\"fake_project_id\")"},{"line_number":38,"context_line":"        expected \u003d [{\"counter_name\": \"cpu_util\","},{"line_number":39,"context_line":"                     \"counter_type\": \"gauge\","},{"line_number":40,"context_line":"                     \"counter_unit\": \"%\","}],"source_content_type":"text/x-python","patch_set":19,"id":"1a26ad4f_e26fa190","line":37,"updated":"2015-10-28 01:44:02.000000000","message":"For future reference (or if you have to make changes to this patch), this can be rewritten to just monkey-patch self.scenario:\n\n    def test__make_samples(self):\n        self.scenario.generate_random_name \u003d mock.Mock(return_value\u003d\"fake_resource\")\n        ...\n\nIMO this is more readable, but doesn\u0027t rise to the level of a -1.","commit_id":"5c6990af178c62bc67ec9d2616251067124d3dc8"}]}
