)]}'
{"tempest/clients.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"be5c9cb4de7c029009642497eb68142f95064fec","unresolved":false,"context_lines":[{"line_number":353,"context_line":"                self.auth_provider)"},{"line_number":354,"context_line":"            self.services_v3_client \u003d ServicesV3ClientJSON("},{"line_number":355,"context_line":"                self.auth_provider)"},{"line_number":356,"context_line":"            self.service_client \u003d ServiceClientJSON(self.auth_provider)"},{"line_number":357,"context_line":"            self.volume_services_client \u003d VolumesServicesClientJSON("},{"line_number":358,"context_line":"                self.auth_provider)"},{"line_number":359,"context_line":"            self.agents_v3_client \u003d AgentsV3ClientJSON(self.auth_provider)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_4e38afa0","side":"PARENT","line":356,"updated":"2014-11-12 06:12:08.000000000","message":"This is identity client","commit_id":"b19fb633b3acc5bd9520529dc64033b80bdffc2e"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"92e9cd23510235d2c65063836c57bfd40c04837d","unresolved":false,"context_lines":[{"line_number":353,"context_line":"                self.auth_provider)"},{"line_number":354,"context_line":"            self.services_v3_client \u003d ServicesV3ClientJSON("},{"line_number":355,"context_line":"                self.auth_provider)"},{"line_number":356,"context_line":"            self.service_client \u003d ServiceClientJSON(self.auth_provider)"},{"line_number":357,"context_line":"            self.volume_services_client \u003d VolumesServicesClientJSON("},{"line_number":358,"context_line":"                self.auth_provider)"},{"line_number":359,"context_line":"            self.agents_v3_client \u003d AgentsV3ClientJSON(self.auth_provider)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_3ee9b1b8","side":"PARENT","line":356,"in_reply_to":"5a890539_16907442","updated":"2014-11-13 07:12:35.000000000","message":"I agree with David. When I started to create this patch, I though all clients are moved to each service method. However that would be big patch and difficult to review. Then I created a single method for nova only, but it also is difficult..\n\nAnyway a good catch, Mann. Thanks.","commit_id":"b19fb633b3acc5bd9520529dc64033b80bdffc2e"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"deefb8e29d00c70613ed4b31ccf4ade60f0998c8","unresolved":false,"context_lines":[{"line_number":353,"context_line":"                self.auth_provider)"},{"line_number":354,"context_line":"            self.services_v3_client \u003d ServicesV3ClientJSON("},{"line_number":355,"context_line":"                self.auth_provider)"},{"line_number":356,"context_line":"            self.service_client \u003d ServiceClientJSON(self.auth_provider)"},{"line_number":357,"context_line":"            self.volume_services_client \u003d VolumesServicesClientJSON("},{"line_number":358,"context_line":"                self.auth_provider)"},{"line_number":359,"context_line":"            self.agents_v3_client \u003d AgentsV3ClientJSON(self.auth_provider)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_16907442","side":"PARENT","line":356,"in_reply_to":"5a890539_4e38afa0","updated":"2014-11-12 14:26:41.000000000","message":"Yes, thanks, I missed this. We should really break these inits apart for all services. The current code is a mess that makes it easy to make such mistakes.","commit_id":"b19fb633b3acc5bd9520529dc64033b80bdffc2e"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"ad00dc785f15c9c1621cfd96315bf77dc23c6258","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        self.volume_qos_v2_client \u003d QosSpecsV2ClientJSON("},{"line_number":366,"context_line":"            self.auth_provider)"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    def _set_compute_xml_clients(self):"},{"line_number":369,"context_line":"        self.certificates_client \u003d CertificatesClientXML(self.auth_provider)"},{"line_number":370,"context_line":"        self.servers_client \u003d ServersClientXML(self.auth_provider)"},{"line_number":371,"context_line":"        self.limits_client \u003d LimitsClientXML(self.auth_provider)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_fb6fb68f","line":368,"updated":"2014-11-18 07:45:55.000000000","message":"can\u0027t we do some dynamic loading here?\ngetattr(\u0027ClientName%s\u0027 % (\u0027JSON\u0027 / \u0027XML\u0027))\n\ninstead of duplicating the entire code block?\n\nif not, please wrap these 2 methods with and external wrapper:\n\ndef _set_compute_clients(self, type):\n    if type \u003d\u003d \u0027JSON\u0027:\n         return self._set_compute_json_clients()\n    else:\n         return self._set_compute_xml_clients()","commit_id":"f5b12d20ecc754ac24989ac0e0edb06f4db7a92d"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"06c48e2efe580576f238c99203c37ce2e1474cd1","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        self.volume_qos_v2_client \u003d QosSpecsV2ClientJSON("},{"line_number":366,"context_line":"            self.auth_provider)"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    def _set_compute_xml_clients(self):"},{"line_number":369,"context_line":"        self.certificates_client \u003d CertificatesClientXML(self.auth_provider)"},{"line_number":370,"context_line":"        self.servers_client \u003d ServersClientXML(self.auth_provider)"},{"line_number":371,"context_line":"        self.limits_client \u003d LimitsClientXML(self.auth_provider)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_d659f135","line":368,"in_reply_to":"5a890539_fb6fb68f","updated":"2014-11-18 08:23:18.000000000","message":"Hi Yair\n\nthanks for your suggestion :-)\n\n \u003e can\u0027t we do some dynamic loading here? getattr(\u0027ClientName%s\u0027 % (\u0027JSON\u0027 / \u0027XML\u0027))\n\nBasically I prefer this idea, but it seems a little magic.\nSo I\u0027d like to avoid it on this patch.\n\n \u003e if not, please wrap these 2 methods with and external wrapper:\n\nThanks, I will do it on the next patch.","commit_id":"f5b12d20ecc754ac24989ac0e0edb06f4db7a92d"}]}
