)]}'
{"rally/common/objects/__init__.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3f39398255cbb73ce7b158cad5909fce9640d343","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"Contains the Rally objects.\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from rally.common.objects.credential import Credential  # noqa"},{"line_number":18,"context_line":"from rally.common.objects.deploy import Deployment  # noqa"},{"line_number":19,"context_line":"from rally.common.objects.task import Subtask  # noqa"},{"line_number":20,"context_line":"from rally.common.objects.task import Task  # noqa"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a30ddce_e5ee83eb","side":"PARENT","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":62},"updated":"2017-03-07 13:05:56.000000000","message":"it is backward incompatible :(","commit_id":"0a3e985ac439311c9f75a70d80f17ba24dfbb9d6"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"ed7268843a8b9d05f8a77098303789a511883030","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\"Contains the Rally objects.\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from rally.common.objects.credential import Credential  # noqa"},{"line_number":18,"context_line":"from rally.common.objects.deploy import Deployment  # noqa"},{"line_number":19,"context_line":"from rally.common.objects.task import Subtask  # noqa"},{"line_number":20,"context_line":"from rally.common.objects.task import Task  # noqa"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a30ddce_27e7bbe5","side":"PARENT","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":62},"in_reply_to":"9a30ddce_e5ee83eb","updated":"2017-03-07 13:10:00.000000000","message":"ok :) will add backward compatibility","commit_id":"0a3e985ac439311c9f75a70d80f17ba24dfbb9d6"}],"rally/common/objects/credential.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3f39398255cbb73ce7b158cad5909fce9640d343","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"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":"#"},{"line_number":10,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":11,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from rally import consts"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class Credential(object):"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def __init__(self, auth_url, username, password, tenant_name\u003dNone,"},{"line_number":22,"context_line":"                 project_name\u003dNone,"},{"line_number":23,"context_line":"                 permission\u003dconsts.EndpointPermission.USER,"},{"line_number":24,"context_line":"                 region_name\u003dNone, endpoint_type\u003dNone,"},{"line_number":25,"context_line":"                 domain_name\u003dNone, endpoint\u003dNone, user_domain_name\u003dNone,"},{"line_number":26,"context_line":"                 project_domain_name\u003dNone,"},{"line_number":27,"context_line":"                 https_insecure\u003dFalse, https_cacert\u003dNone):"},{"line_number":28,"context_line":"        self.auth_url \u003d auth_url"},{"line_number":29,"context_line":"        self.username \u003d username"},{"line_number":30,"context_line":"        self.password \u003d password"},{"line_number":31,"context_line":"        self.tenant_name \u003d tenant_name or project_name"},{"line_number":32,"context_line":"        self.permission \u003d permission"},{"line_number":33,"context_line":"        self.region_name \u003d region_name"},{"line_number":34,"context_line":"        self.endpoint_type \u003d endpoint_type"},{"line_number":35,"context_line":"        self.domain_name \u003d domain_name"},{"line_number":36,"context_line":"        self.user_domain_name \u003d user_domain_name"},{"line_number":37,"context_line":"        self.project_domain_name \u003d project_domain_name"},{"line_number":38,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":39,"context_line":"        self.insecure \u003d https_insecure"},{"line_number":40,"context_line":"        self.cacert \u003d https_cacert"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def to_dict(self, include_permission\u003dFalse):"},{"line_number":43,"context_line":"        dct \u003d {\"auth_url\": self.auth_url, \"username\": self.username,"},{"line_number":44,"context_line":"               \"password\": self.password, \"tenant_name\": self.tenant_name,"},{"line_number":45,"context_line":"               \"region_name\": self.region_name,"},{"line_number":46,"context_line":"               \"endpoint_type\": self.endpoint_type,"},{"line_number":47,"context_line":"               \"domain_name\": self.domain_name,"},{"line_number":48,"context_line":"               \"endpoint\": self.endpoint,"},{"line_number":49,"context_line":"               \"https_insecure\": self.insecure,"},{"line_number":50,"context_line":"               \"https_cacert\": self.cacert,"},{"line_number":51,"context_line":"               \"user_domain_name\": self.user_domain_name,"},{"line_number":52,"context_line":"               \"project_domain_name\": self.project_domain_name}"},{"line_number":53,"context_line":"        if include_permission:"},{"line_number":54,"context_line":"            dct[\"permission\"] \u003d self.permission"},{"line_number":55,"context_line":"        return dct"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a30ddce_45b4aff1","side":"PARENT","line":55,"range":{"start_line":1,"start_character":0,"end_line":55,"end_character":18},"updated":"2017-03-07 13:05:56.000000000","message":"it is backward incompatible","commit_id":"0a3e985ac439311c9f75a70d80f17ba24dfbb9d6"}],"rally/deployment/credential.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3f39398255cbb73ce7b158cad5909fce9640d343","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    def to_dict(self):"},{"line_number":47,"context_line":"        pass"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @abc.abstractmethod"},{"line_number":50,"context_line":"    def verify_connection(self):"},{"line_number":51,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a30ddce_a5a00b92","line":51,"range":{"start_line":49,"start_character":0,"end_line":51,"end_character":12},"updated":"2017-03-07 13:05:56.000000000","message":"please, add docstring","commit_id":"67f4e1d2d38e7b683fd09064e46fb70c41700903"}],"rally/deployment/engines/existing.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"6e14b3a78350c6716405e00c2ab8064aa06e7a53","unresolved":false,"context_lines":[{"line_number":204,"context_line":"            # backward compatibility with old schema"},{"line_number":205,"context_line":"            config \u003d copy.deepcopy(config)"},{"line_number":206,"context_line":"            del config[\"type\"]"},{"line_number":207,"context_line":"            creds_config \u003d {\"openstack\": config}"},{"line_number":208,"context_line":"        else:"},{"line_number":209,"context_line":"            creds_config \u003d config[\"creds\"]"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a1ced50_b8729cab","line":207,"range":{"start_line":207,"start_character":27,"end_line":207,"end_character":48},"updated":"2017-03-20 17:15:40.000000000","message":"let\u0027s make it a list from the scratch to avoid L214 :) I mean\n\n    {\"openstack\": [config]}","commit_id":"59d29d285e93429ac92b8bbe4e22e8bfb4539701"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"0819d4c6d563dff11cdeedbaaebce98bb45a843f","unresolved":false,"context_lines":[{"line_number":204,"context_line":"            # backward compatibility with old schema"},{"line_number":205,"context_line":"            config \u003d copy.deepcopy(config)"},{"line_number":206,"context_line":"            del config[\"type\"]"},{"line_number":207,"context_line":"            creds_config \u003d {\"openstack\": config}"},{"line_number":208,"context_line":"        else:"},{"line_number":209,"context_line":"            creds_config \u003d config[\"creds\"]"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a1ced50_3173274f","line":207,"range":{"start_line":207,"start_character":27,"end_line":207,"end_character":48},"in_reply_to":"1a1ced50_b8729cab","updated":"2017-03-21 07:01:39.000000000","message":"Done","commit_id":"59d29d285e93429ac92b8bbe4e22e8bfb4539701"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"6e14b3a78350c6716405e00c2ab8064aa06e7a53","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                creds_config[platform] \u003d [config]"},{"line_number":215,"context_line":"        return creds_config"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def deploy(self):"},{"line_number":218,"context_line":"        creds_config \u003d self._get_creds(self.config)"},{"line_number":219,"context_line":"        parsed_credentials \u003d {}"},{"line_number":220,"context_line":"        for platform, config in creds_config.items():"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a1ced50_789f44b4","line":217,"range":{"start_line":217,"start_character":4,"end_line":217,"end_character":21},"updated":"2017-03-20 17:15:40.000000000","message":"let\u0027s add here a check for old configs and print warning message","commit_id":"59d29d285e93429ac92b8bbe4e22e8bfb4539701"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"0819d4c6d563dff11cdeedbaaebce98bb45a843f","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                creds_config[platform] \u003d [config]"},{"line_number":215,"context_line":"        return creds_config"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def deploy(self):"},{"line_number":218,"context_line":"        creds_config \u003d self._get_creds(self.config)"},{"line_number":219,"context_line":"        parsed_credentials \u003d {}"},{"line_number":220,"context_line":"        for platform, config in creds_config.items():"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a1ced50_1178eb29","line":217,"range":{"start_line":217,"start_character":4,"end_line":217,"end_character":21},"in_reply_to":"1a1ced50_789f44b4","updated":"2017-03-21 07:01:39.000000000","message":"Done","commit_id":"59d29d285e93429ac92b8bbe4e22e8bfb4539701"}],"rally/plugins/openstack/credential.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3f39398255cbb73ce7b158cad5909fce9640d343","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            self.clients().keystone()"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def clients(self, api_info\u003dNone):"},{"line_number":87,"context_line":"        return osclients.Clients(self, api_info\u003dapi_info)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a30ddce_8526a714","line":86,"range":{"start_line":86,"start_character":4,"end_line":86,"end_character":37},"updated":"2017-03-07 13:05:56.000000000","message":"I prefer to make this method more general.","commit_id":"67f4e1d2d38e7b683fd09064e46fb70c41700903"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"ed7268843a8b9d05f8a77098303789a511883030","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            self.clients().keystone()"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def clients(self, api_info\u003dNone):"},{"line_number":87,"context_line":"        return osclients.Clients(self, api_info\u003dapi_info)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a30ddce_e7b5a3d0","line":86,"range":{"start_line":86,"start_character":4,"end_line":86,"end_character":37},"in_reply_to":"9a30ddce_8526a714","updated":"2017-03-07 13:10:00.000000000","message":"Do you mean make it abstract method in base class?","commit_id":"67f4e1d2d38e7b683fd09064e46fb70c41700903"}]}
