)]}'
{"openstackclient/common/clientmanager.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ac926ce4e9498f774133d774f1deeb925defecd9","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        \"\"\"Check if neutron is enabled\"\"\""},{"line_number":202,"context_line":"        if service_catalog:"},{"line_number":203,"context_line":"            if \u0027network\u0027 in service_catalog.get_endpoints():"},{"line_number":204,"context_line":"                LOG.debug(\"Neutron is enabled\")"},{"line_number":205,"context_line":"                self.neutron_enabled \u003d True"},{"line_number":206,"context_line":"            else:"},{"line_number":207,"context_line":"                LOG.debug(\"Nova network is enabled\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_40517361","line":204,"updated":"2015-12-07 02:46:24.000000000","message":"maybe avoid the use of \"neutron\"? \n\n  \"Network endpoint found\"","commit_id":"5b1ad81358cb7eac5c67d4bf4abb7a544e5e0f2c"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"d734bb81b633dd1c6a8b4e13124e2e3cb35be4b1","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        \"\"\"Check if neutron is enabled\"\"\""},{"line_number":202,"context_line":"        if service_catalog:"},{"line_number":203,"context_line":"            if \u0027network\u0027 in service_catalog.get_endpoints():"},{"line_number":204,"context_line":"                LOG.debug(\"Neutron is enabled\")"},{"line_number":205,"context_line":"                self.neutron_enabled \u003d True"},{"line_number":206,"context_line":"            else:"},{"line_number":207,"context_line":"                LOG.debug(\"Nova network is enabled\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_86150c4a","line":204,"in_reply_to":"7a740942_40517361","updated":"2015-12-07 18:10:40.000000000","message":"Done","commit_id":"5b1ad81358cb7eac5c67d4bf4abb7a544e5e0f2c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ac926ce4e9498f774133d774f1deeb925defecd9","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                LOG.debug(\"Neutron is enabled\")"},{"line_number":205,"context_line":"                self.neutron_enabled \u003d True"},{"line_number":206,"context_line":"            else:"},{"line_number":207,"context_line":"                LOG.debug(\"Nova network is enabled\")"},{"line_number":208,"context_line":"                self.neutron_enabled \u003d False"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def get_endpoint_for_service_type(self, service_type, region_name\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_c0cb231d","line":207,"updated":"2015-12-07 02:46:24.000000000","message":"maybe avoid the use of \"nova\"? \n\n  \"No network endpoint found, will use compute\u0027s network functionality\"\n\nI\u0027m just shooting from the hip here","commit_id":"5b1ad81358cb7eac5c67d4bf4abb7a544e5e0f2c"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"d734bb81b633dd1c6a8b4e13124e2e3cb35be4b1","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                LOG.debug(\"Neutron is enabled\")"},{"line_number":205,"context_line":"                self.neutron_enabled \u003d True"},{"line_number":206,"context_line":"            else:"},{"line_number":207,"context_line":"                LOG.debug(\"Nova network is enabled\")"},{"line_number":208,"context_line":"                self.neutron_enabled \u003d False"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def get_endpoint_for_service_type(self, service_type, region_name\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_06027c0b","line":207,"in_reply_to":"7a740942_c0cb231d","updated":"2015-12-07 18:10:40.000000000","message":"Done","commit_id":"5b1ad81358cb7eac5c67d4bf4abb7a544e5e0f2c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ac926ce4e9498f774133d774f1deeb925defecd9","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            else:"},{"line_number":207,"context_line":"                LOG.debug(\"Nova network is enabled\")"},{"line_number":208,"context_line":"                self.neutron_enabled \u003d False"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def get_endpoint_for_service_type(self, service_type, region_name\u003dNone,"},{"line_number":211,"context_line":"                                      interface\u003d\u0027public\u0027):"},{"line_number":212,"context_line":"        \"\"\"Return the endpoint URL for the service type.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_a07a97ef","line":209,"updated":"2015-12-07 02:46:24.000000000","message":"nit: handle the else case where the service catalog isn\u0027t there, and LOG.debug(\"No service catalog found, defaulting to neutron\")","commit_id":"5b1ad81358cb7eac5c67d4bf4abb7a544e5e0f2c"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"d734bb81b633dd1c6a8b4e13124e2e3cb35be4b1","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            else:"},{"line_number":207,"context_line":"                LOG.debug(\"Nova network is enabled\")"},{"line_number":208,"context_line":"                self.neutron_enabled \u003d False"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def get_endpoint_for_service_type(self, service_type, region_name\u003dNone,"},{"line_number":211,"context_line":"                                      interface\u003d\u0027public\u0027):"},{"line_number":212,"context_line":"        \"\"\"Return the endpoint URL for the service type.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_a1011207","line":209,"in_reply_to":"7a740942_a07a97ef","updated":"2015-12-07 18:10:40.000000000","message":"Done","commit_id":"5b1ad81358cb7eac5c67d4bf4abb7a544e5e0f2c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"0a413cc51c3d9f5bdb7bea8e75ecf4bc71fca6d4","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            self._insecure \u003d False"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        # Assume that neutron is enabled until authentication."},{"line_number":113,"context_line":"        self.neutron_enabled \u003d True"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        # Get logging from root logger"},{"line_number":116,"context_line":"        root_logger \u003d logging.getLogger(\u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_44517b61","line":113,"updated":"2016-01-04 15:09:34.000000000","message":"I\u0027d prefer to not use \u0027neutron\u0027 in the code whenever possible.  This is about the Network API, not the Neutron implementation of it.\n\nAlso, is this really necessary?  Can we do the test as required?","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"4c28f55235b61c2c40d5b3bf82daf5fb00d15e25","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            self._insecure \u003d False"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        # Assume that neutron is enabled until authentication."},{"line_number":113,"context_line":"        self.neutron_enabled \u003d True"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        # Get logging from root logger"},{"line_number":116,"context_line":"        root_logger \u003d logging.getLogger(\u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_dccbf851","line":113,"in_reply_to":"fa69d971_2bb1afe1","updated":"2016-01-04 19:53:58.000000000","message":"After reworking the dependency patch set, I think it makes more sense to remove the state attribute and do the test as required.  This will hide the authentication dependency.","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"9130105e4971c10bbe78187091d994f6dfa65532","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            self._insecure \u003d False"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        # Assume that neutron is enabled until authentication."},{"line_number":113,"context_line":"        self.neutron_enabled \u003d True"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        # Get logging from root logger"},{"line_number":116,"context_line":"        root_logger \u003d logging.getLogger(\u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_2bb1afe1","line":113,"in_reply_to":"fa69d971_44517b61","updated":"2016-01-04 17:41:17.000000000","message":"I\u0027ll change the \u0027neutron\u0027 references to \u0027network references throughout.\n\nThe state attribute isn\u0027t necessary and the test could be done as required.  I went with a state attribute since the test depends on authentication and _auth_ref which is a state attribute. But I\u0027m open to change if anyone has a strong opinion.","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"0a413cc51c3d9f5bdb7bea8e75ecf4bc71fca6d4","unresolved":false,"context_lines":[{"line_number":197,"context_line":"                self._check_neutron_enabled(self._auth_ref.service_catalog)"},{"line_number":198,"context_line":"        return self._auth_ref"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def _check_neutron_enabled(self, service_catalog):"},{"line_number":201,"context_line":"        \"\"\"Check if neutron is enabled\"\"\""},{"line_number":202,"context_line":"        if service_catalog:"},{"line_number":203,"context_line":"            if \u0027network\u0027 in service_catalog.get_endpoints():"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_3fac94ec","line":200,"updated":"2016-01-04 15:09:34.000000000","message":"Since this is private, we don\u0027t need to pass in a service catalog, use the one in self._auth_ref directly.","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"9130105e4971c10bbe78187091d994f6dfa65532","unresolved":false,"context_lines":[{"line_number":197,"context_line":"                self._check_neutron_enabled(self._auth_ref.service_catalog)"},{"line_number":198,"context_line":"        return self._auth_ref"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def _check_neutron_enabled(self, service_catalog):"},{"line_number":201,"context_line":"        \"\"\"Check if neutron is enabled\"\"\""},{"line_number":202,"context_line":"        if service_catalog:"},{"line_number":203,"context_line":"            if \u0027network\u0027 in service_catalog.get_endpoints():"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_501052a8","line":200,"in_reply_to":"fa69d971_3fac94ec","updated":"2016-01-04 17:41:17.000000000","message":"Done","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"}],"openstackclient/tests/common/test_clientmanager.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"119bdba61fffb0940081fbeabfce71c9b98ed0d8","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            verify\u003dTrue"},{"line_number":103,"context_line":"        )"},{"line_number":104,"context_line":"        client_manager.setup_auth()"},{"line_number":105,"context_line":"        client_manager.auth_ref"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        self.assertEqual("},{"line_number":108,"context_line":"            fakes.AUTH_URL,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_5ac358ed","line":105,"updated":"2015-12-08 09:41:05.000000000","message":"There are a lot of this statement in this patch. What is it for ?","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"068e80f4f9168593f4bbf8f853b7a04a1fe7fea1","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            verify\u003dTrue"},{"line_number":103,"context_line":"        )"},{"line_number":104,"context_line":"        client_manager.setup_auth()"},{"line_number":105,"context_line":"        client_manager.auth_ref"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        self.assertEqual("},{"line_number":108,"context_line":"            fakes.AUTH_URL,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_2a2aafdb","line":105,"in_reply_to":"7a740942_5ac358ed","updated":"2015-12-08 12:52:29.000000000","message":"This will trigger authentication to occur by running the auth_ref() method.","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"}],"openstackclient/tests/fakes.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"119bdba61fffb0940081fbeabfce71c9b98ed0d8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027image\u0027, name\u003d\u0027glance\u0027)"},{"line_number":43,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:9292\u0027)"},{"line_number":44,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027object\u0027, name\u003d\u0027swift\u0027)"},{"line_number":45,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:8080/v1\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"TEST_RESPONSE_DICT_V3 \u003d fixture.V3Token(user_name\u003dUSERNAME)"},{"line_number":48,"context_line":"TEST_RESPONSE_DICT_V3.set_project_scope()"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_fa96c43c","line":45,"updated":"2015-12-08 09:41:05.000000000","message":"Is swift using 8080 ?  I think it is 6000~6002 ?","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a82a18605b059ce958ccc9cc29c473e86ca37639","unresolved":false,"context_lines":[{"line_number":42,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027image\u0027, name\u003d\u0027glance\u0027)"},{"line_number":43,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:9292\u0027)"},{"line_number":44,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027object\u0027, name\u003d\u0027swift\u0027)"},{"line_number":45,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:8080/v1\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"TEST_RESPONSE_DICT_V3 \u003d fixture.V3Token(user_name\u003dUSERNAME)"},{"line_number":48,"context_line":"TEST_RESPONSE_DICT_V3.set_project_scope()"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a7b0d38_ba8e2877","line":45,"in_reply_to":"1a7b0d38_fe5d8d47","updated":"2015-12-28 01:28:23.000000000","message":"Hi Akihiro,\n\nThanks for the info.","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c7640605a18955530ff04c684bd19f0b89cf10cb","unresolved":false,"context_lines":[{"line_number":42,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027image\u0027, name\u003d\u0027glance\u0027)"},{"line_number":43,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:9292\u0027)"},{"line_number":44,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027object\u0027, name\u003d\u0027swift\u0027)"},{"line_number":45,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:8080/v1\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"TEST_RESPONSE_DICT_V3 \u003d fixture.V3Token(user_name\u003dUSERNAME)"},{"line_number":48,"context_line":"TEST_RESPONSE_DICT_V3.set_project_scope()"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a7b0d38_fe5d8d47","line":45,"in_reply_to":"7a740942_4c763071","updated":"2015-12-26 23:50:22.000000000","message":"I think 6000-6002 in your mind are ports that swift account/container/object servers use.\nIn the current devstack, 6611-6613 are used for this purpose.","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"534dbc4ee90376b9578bfb231abedeb3becb994b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027image\u0027, name\u003d\u0027glance\u0027)"},{"line_number":43,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:9292\u0027)"},{"line_number":44,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027object\u0027, name\u003d\u0027swift\u0027)"},{"line_number":45,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:8080/v1\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"TEST_RESPONSE_DICT_V3 \u003d fixture.V3Token(user_name\u003dUSERNAME)"},{"line_number":48,"context_line":"TEST_RESPONSE_DICT_V3.set_project_scope()"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_4c763071","line":45,"in_reply_to":"7a740942_eae4a7ac","updated":"2015-12-08 15:11:01.000000000","message":"Well, OK, it can use anything it is configured, and anyway, it is a test. :)","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"068e80f4f9168593f4bbf8f853b7a04a1fe7fea1","unresolved":false,"context_lines":[{"line_number":42,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027image\u0027, name\u003d\u0027glance\u0027)"},{"line_number":43,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:9292\u0027)"},{"line_number":44,"context_line":"_s \u003d TEST_RESPONSE_DICT.add_service(\u0027object\u0027, name\u003d\u0027swift\u0027)"},{"line_number":45,"context_line":"_s.add_endpoint(AUTH_URL + \u0027:8080/v1\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"TEST_RESPONSE_DICT_V3 \u003d fixture.V3Token(user_name\u003dUSERNAME)"},{"line_number":48,"context_line":"TEST_RESPONSE_DICT_V3.set_project_scope()"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_eae4a7ac","line":45,"in_reply_to":"7a740942_fa96c43c","updated":"2015-12-08 12:52:29.000000000","message":"DevStack uses SWIFT_DEFAULT_BIND_PORT\u003d${SWIFT_DEFAULT_BIND_PORT:-8080} and I\u0027ve seen 8080 used in other deployments as well.","commit_id":"5e9976569afe431669c30f08c9a0db247da884bd"}]}
