)]}'
{"ceilometer/network/services/discovery.py":[{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"305adfad3934754c22661c9ea77515d7f61738f2","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        listeners \u003d self.neutron_cli.list_listener()"},{"line_number":60,"context_line":"        return [i for i in listeners"},{"line_number":61,"context_line":"                if i.get(\u0027operating_status\u0027, None) !\u003d \u0027error\u0027]"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class LBLoadBalancersDiscovery(_BaseServicesDiscovery):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_627b088d","line":61,"range":{"start_line":61,"start_character":45,"end_line":61,"end_character":49},"updated":"2016-02-24 06:35:39.000000000","message":"don\u0027t need default None.","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"dedf6444c5f2ee1544b531b7cb9f0ab6135d878a","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        listeners \u003d self.neutron_cli.list_listener()"},{"line_number":60,"context_line":"        return [i for i in listeners"},{"line_number":61,"context_line":"                if i.get(\u0027operating_status\u0027, None) !\u003d \u0027error\u0027]"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class LBLoadBalancersDiscovery(_BaseServicesDiscovery):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_f44aee53","line":61,"range":{"start_line":61,"start_character":45,"end_line":61,"end_character":49},"in_reply_to":"bae84128_627b088d","updated":"2016-02-24 07:02:50.000000000","message":"Hi Liu Sheng\n\nThanks for your review.\n\nIn this .py file, it seems to be a style. Other codes use it. I think it makes the code logic clear, if the code can not get the value of the property \u0027operating_status\u0027.","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"305adfad3934754c22661c9ea77515d7f61738f2","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        loadbalancers \u003d self.neutron_cli.list_loadbalancer()"},{"line_number":69,"context_line":"        return [i for i in loadbalancers"},{"line_number":70,"context_line":"                if i.get(\u0027operating_status\u0027, None) !\u003d \u0027error\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"class LBHealthMonitorsDiscovery(_BaseServicesDiscovery):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_c26c94d2","line":70,"range":{"start_line":70,"start_character":45,"end_line":70,"end_character":49},"updated":"2016-02-24 06:35:39.000000000","message":"ditto","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"}],"ceilometer/network/services/lbaas.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"bb8d8abed6b62cd1f2a66a1caf11c32dc2fe1a39","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    def __init__(self):"},{"line_number":238,"context_line":"        super(_LBStatsPollster, self).__init__()"},{"line_number":239,"context_line":"        self.client \u003d neutron_client.Client()"},{"line_number":240,"context_line":"        self.lb_version \u003d cfg.CONF.service_types.neutron_lbaas_version"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    @staticmethod"},{"line_number":243,"context_line":"    def make_sample_from_pool(pool, name, type, unit, volume,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_bf58898b","line":240,"updated":"2016-02-17 10:05:38.000000000","message":"there is a global var LB_VERSION in L36","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"45c156cb4740c36625d138057bbfe72e361ba534","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    def __init__(self):"},{"line_number":238,"context_line":"        super(_LBStatsPollster, self).__init__()"},{"line_number":239,"context_line":"        self.client \u003d neutron_client.Client()"},{"line_number":240,"context_line":"        self.lb_version \u003d cfg.CONF.service_types.neutron_lbaas_version"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    @staticmethod"},{"line_number":243,"context_line":"    def make_sample_from_pool(pool, name, type, unit, volume,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_8037dd4b","line":240,"in_reply_to":"dae33548_bf58898b","updated":"2016-02-18 10:59:30.000000000","message":"Hi Zhi Qiang\n\nThanks for your review. Modified it.","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"bb8d8abed6b62cd1f2a66a1caf11c32dc2fe1a39","unresolved":false,"context_lines":[{"line_number":299,"context_line":"                    yield self._get_sample(pool, c_data)"},{"line_number":300,"context_line":"                except Exception as err:"},{"line_number":301,"context_line":"                    LOG.exception(_(\u0027Ignoring pool %(pool_id)s: %(error)s\u0027),"},{"line_number":302,"context_line":"                                  {\u0027pool_id\u0027: pool[\u0027id\u0027], \u0027error\u0027: err})"},{"line_number":303,"context_line":"        if self.lb_version \u003d\u003d \u0027v2\u0027:"},{"line_number":304,"context_line":"            for loadbalancer in resources:"},{"line_number":305,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_9f7025de","line":302,"range":{"start_line":302,"start_character":36,"end_line":302,"end_character":43},"updated":"2016-02-17 10:05:38.000000000","message":"I think for exception level log message will automatically print the exception message, so no need to print the \u0027error\u0027 again.","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"45c156cb4740c36625d138057bbfe72e361ba534","unresolved":false,"context_lines":[{"line_number":299,"context_line":"                    yield self._get_sample(pool, c_data)"},{"line_number":300,"context_line":"                except Exception as err:"},{"line_number":301,"context_line":"                    LOG.exception(_(\u0027Ignoring pool %(pool_id)s: %(error)s\u0027),"},{"line_number":302,"context_line":"                                  {\u0027pool_id\u0027: pool[\u0027id\u0027], \u0027error\u0027: err})"},{"line_number":303,"context_line":"        if self.lb_version \u003d\u003d \u0027v2\u0027:"},{"line_number":304,"context_line":"            for loadbalancer in resources:"},{"line_number":305,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_407f95df","line":302,"range":{"start_line":302,"start_character":36,"end_line":302,"end_character":43},"in_reply_to":"dae33548_9f7025de","updated":"2016-02-18 10:59:30.000000000","message":"Hi Zhi Qiang\n\nThanks for your review. Modified it.","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"bb8d8abed6b62cd1f2a66a1caf11c32dc2fe1a39","unresolved":false,"context_lines":[{"line_number":311,"context_line":"                        _(\u0027Ignoring \u0027"},{"line_number":312,"context_line":"                          \u0027loadbalancer %(loadbalancer_id)s: %(error)s\u0027),"},{"line_number":313,"context_line":"                        {\u0027loadbalancer_id\u0027: loadbalancer[\u0027id\u0027],"},{"line_number":314,"context_line":"                         \u0027error\u0027: err})"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"class LBActiveConnectionsPollster(_LBStatsPollster):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_3f575927","line":314,"range":{"start_line":314,"start_character":26,"end_line":314,"end_character":31},"updated":"2016-02-17 10:05:38.000000000","message":"ditto","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"bb8d8abed6b62cd1f2a66a1caf11c32dc2fe1a39","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        for listener in resources:"},{"line_number":412,"context_line":"            LOG.debug(\"Load Balancer Listener : %s\" % listener)"},{"line_number":413,"context_line":"            status \u003d self.get_load_balancer_status_id("},{"line_number":414,"context_line":"                listener[\u0027operating_status\u0027])"},{"line_number":415,"context_line":"            if status \u003d\u003d -1:"},{"line_number":416,"context_line":"                # unknown status, skip this sample"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_e25d5648","line":413,"range":{"start_line":413,"start_character":26,"end_line":413,"end_character":53},"updated":"2016-02-17 10:05:38.000000000","message":"make a common method?","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"45c156cb4740c36625d138057bbfe72e361ba534","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        for listener in resources:"},{"line_number":412,"context_line":"            LOG.debug(\"Load Balancer Listener : %s\" % listener)"},{"line_number":413,"context_line":"            status \u003d self.get_load_balancer_status_id("},{"line_number":414,"context_line":"                listener[\u0027operating_status\u0027])"},{"line_number":415,"context_line":"            if status \u003d\u003d -1:"},{"line_number":416,"context_line":"                # unknown status, skip this sample"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_2077f102","line":413,"range":{"start_line":413,"start_character":26,"end_line":413,"end_character":53},"in_reply_to":"dae33548_e25d5648","updated":"2016-02-18 10:59:30.000000000","message":"Done","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"550e5b6473cc978b183ebe3614a71711d07dfc89","unresolved":false,"context_lines":[{"line_number":269,"context_line":"        if loadbalancer_id not in i_cache:"},{"line_number":270,"context_line":"            stats \u003d self.client.get_loadbalancer_stats(loadbalancer_id)"},{"line_number":271,"context_line":"            i_cache[loadbalancer_id] \u003d LBStatsData("},{"line_number":272,"context_line":"                active_connections\u003dstats[\u0027active_connections\u0027],"},{"line_number":273,"context_line":"                total_connections\u003dstats[\u0027total_connections\u0027],"},{"line_number":274,"context_line":"                bytes_in\u003dstats[\u0027bytes_in\u0027],"},{"line_number":275,"context_line":"                bytes_out\u003dstats[\u0027bytes_out\u0027],"},{"line_number":276,"context_line":"            )"},{"line_number":277,"context_line":"        return i_cache[loadbalancer_id]"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bae84128_138c5334","line":275,"range":{"start_line":272,"start_character":16,"end_line":275,"end_character":45},"updated":"2016-02-21 10:05:26.000000000","message":"These are all stats of a \u0027listener\u0027 object, not a load balancer object. Is the intent here to grab the stats for all the listener objects on a load balancer and aggregate them together?","commit_id":"7912cb4b19defd5c1b57a796570f9925674863a2"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"550e5b6473cc978b183ebe3614a71711d07dfc89","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                    LOG.exception(_(\u0027Ignoring pool %(pool_id)s\u0027),"},{"line_number":298,"context_line":"                                  {\u0027pool_id\u0027: pool[\u0027id\u0027]})"},{"line_number":299,"context_line":"        if self.lb_version \u003d\u003d \u0027v2\u0027:"},{"line_number":300,"context_line":"            for loadbalancer in resources:"},{"line_number":301,"context_line":"                try:"},{"line_number":302,"context_line":"                    c_data \u003d self._populate_stats_cache_v2(loadbalancer[\u0027id\u0027],"},{"line_number":303,"context_line":"                                                           cache)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bae84128_739aff64","line":300,"range":{"start_line":300,"start_character":0,"end_line":300,"end_character":42},"updated":"2016-02-21 10:05:26.000000000","message":"Same problem as above: The code seems to be mistaking the difference between a \u0027loadbalancer\u0027 and a \u0027listener\u0027","commit_id":"7912cb4b19defd5c1b57a796570f9925674863a2"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"550e5b6473cc978b183ebe3614a71711d07dfc89","unresolved":false,"context_lines":[{"line_number":434,"context_line":"    FIELDS \u003d [\u0027admin_state_up\u0027,"},{"line_number":435,"context_line":"              \u0027description\u0027,"},{"line_number":436,"context_line":"              \u0027vip_address\u0027,"},{"line_number":437,"context_line":"              \u0027listeners\u0027,"},{"line_number":438,"context_line":"              \u0027name\u0027,"},{"line_number":439,"context_line":"              \u0027vip_subnet_id\u0027,"},{"line_number":440,"context_line":"              \u0027operating_status\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bae84128_73b15fe1","line":437,"range":{"start_line":437,"start_character":15,"end_line":437,"end_character":24},"updated":"2016-02-21 10:05:26.000000000","message":"With the \u0027independent pools\u0027 patch that will land any day now, load balancers will have a \u0027pools\u0027 field as well.","commit_id":"7912cb4b19defd5c1b57a796570f9925674863a2"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"27b8a7148451d42ba8e52f77f9091f0ce77b5477","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                except Exception:"},{"line_number":297,"context_line":"                    LOG.exception(_(\u0027Ignoring pool %(pool_id)s\u0027),"},{"line_number":298,"context_line":"                                  {\u0027pool_id\u0027: pool[\u0027id\u0027]})"},{"line_number":299,"context_line":"        if self.lb_version \u003d\u003d \u0027v2\u0027:"},{"line_number":300,"context_line":"            for loadbalancer in resources:"},{"line_number":301,"context_line":"                try:"},{"line_number":302,"context_line":"                    c_data \u003d self._populate_stats_cache_v2(loadbalancer[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"bae84128_7ba9267b","line":299,"range":{"start_line":299,"start_character":33,"end_line":299,"end_character":35},"updated":"2016-02-22 07:22:25.000000000","message":"s/if/elif/","commit_id":"d1a53e933e2347401ac8080b5d496ea1f9d32339"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"4e08dbe592b248594223877458292366502f6359","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                except Exception:"},{"line_number":297,"context_line":"                    LOG.exception(_(\u0027Ignoring pool %(pool_id)s\u0027),"},{"line_number":298,"context_line":"                                  {\u0027pool_id\u0027: pool[\u0027id\u0027]})"},{"line_number":299,"context_line":"        if self.lb_version \u003d\u003d \u0027v2\u0027:"},{"line_number":300,"context_line":"            for loadbalancer in resources:"},{"line_number":301,"context_line":"                try:"},{"line_number":302,"context_line":"                    c_data \u003d self._populate_stats_cache_v2(loadbalancer[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"bae84128_17fa6a75","line":299,"range":{"start_line":299,"start_character":33,"end_line":299,"end_character":35},"in_reply_to":"bae84128_7ba9267b","updated":"2016-02-22 08:34:58.000000000","message":"Hi Lian Hao\n\nI will fix it. Thanks for your review.","commit_id":"d1a53e933e2347401ac8080b5d496ea1f9d32339"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"27b8a7148451d42ba8e52f77f9091f0ce77b5477","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        return \u0027lb_listeners\u0027"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def get_samples(self, manager, cache, resources):"},{"line_number":404,"context_line":"        resources \u003d resources or []"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        for listener in resources:"},{"line_number":407,"context_line":"            LOG.debug(\"Load Balancer Listener : %s\" % listener)"}],"source_content_type":"text/x-python","patch_set":7,"id":"bae84128_1b361a52","line":404,"range":{"start_line":404,"start_character":33,"end_line":404,"end_character":35},"updated":"2016-02-22 07:22:25.000000000","message":"why need this?","commit_id":"d1a53e933e2347401ac8080b5d496ea1f9d32339"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"4e08dbe592b248594223877458292366502f6359","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        return \u0027lb_listeners\u0027"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def get_samples(self, manager, cache, resources):"},{"line_number":404,"context_line":"        resources \u003d resources or []"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        for listener in resources:"},{"line_number":407,"context_line":"            LOG.debug(\"Load Balancer Listener : %s\" % listener)"}],"source_content_type":"text/x-python","patch_set":7,"id":"bae84128_37316eed","line":404,"range":{"start_line":404,"start_character":33,"end_line":404,"end_character":35},"in_reply_to":"bae84128_1b361a52","updated":"2016-02-22 08:34:58.000000000","message":"Hi Lian Hao\n\nIt\u0027s used to handle with the situation that the parameter \u0027resources\u0027 passed in is None. And it will throw the exception and break the code.\n\nIn this class, other get_samples methods have the similar code. I think we maybe need to follow it.\n\nThanks for your review.","commit_id":"d1a53e933e2347401ac8080b5d496ea1f9d32339"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"27b8a7148451d42ba8e52f77f9091f0ce77b5477","unresolved":false,"context_lines":[{"line_number":445,"context_line":"        return \u0027lb_loadbalancers\u0027"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    def get_samples(self, manager, cache, resources):"},{"line_number":448,"context_line":"        resources \u003d resources or []"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"        for loadbalancer in resources:"},{"line_number":451,"context_line":"            LOG.debug(\"Load Balancer: %s\" % loadbalancer)"}],"source_content_type":"text/x-python","patch_set":7,"id":"bae84128_9b218afe","line":448,"range":{"start_line":448,"start_character":33,"end_line":448,"end_character":35},"updated":"2016-02-22 07:22:25.000000000","message":"ditto?","commit_id":"d1a53e933e2347401ac8080b5d496ea1f9d32339"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"305adfad3934754c22661c9ea77515d7f61738f2","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            yield sample.Sample("},{"line_number":419,"context_line":"                name\u003d\u0027network.services.lb.listener\u0027,"},{"line_number":420,"context_line":"                type\u003dsample.TYPE_GAUGE,"},{"line_number":421,"context_line":"                unit\u003d\u0027listener\u0027,"},{"line_number":422,"context_line":"                volume\u003dstatus,"},{"line_number":423,"context_line":"                user_id\u003dNone,"},{"line_number":424,"context_line":"                project_id\u003dlistener[\u0027tenant_id\u0027],"},{"line_number":425,"context_line":"                resource_id\u003dlistener[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_221c60c0","line":422,"range":{"start_line":421,"start_character":16,"end_line":422,"end_character":30},"updated":"2016-02-24 06:35:39.000000000","message":"this still easily mislead users :(","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"dedf6444c5f2ee1544b531b7cb9f0ab6135d878a","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            yield sample.Sample("},{"line_number":419,"context_line":"                name\u003d\u0027network.services.lb.listener\u0027,"},{"line_number":420,"context_line":"                type\u003dsample.TYPE_GAUGE,"},{"line_number":421,"context_line":"                unit\u003d\u0027listener\u0027,"},{"line_number":422,"context_line":"                volume\u003dstatus,"},{"line_number":423,"context_line":"                user_id\u003dNone,"},{"line_number":424,"context_line":"                project_id\u003dlistener[\u0027tenant_id\u0027],"},{"line_number":425,"context_line":"                resource_id\u003dlistener[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_29bfe361","line":422,"range":{"start_line":421,"start_character":16,"end_line":422,"end_character":30},"in_reply_to":"bae84128_221c60c0","updated":"2016-02-24 07:02:50.000000000","message":"Hi Liu Sheng\n\nThanks for your review. \n\nIt follows the original design. Set the resource as the unit and the status of the resource as the volume.\n\nAdmin doc:\nhttp://docs.openstack.org/admin-guide-cloud/telemetry-measurements.html#load-balancer-as-a-service-lbaas\n\nLBaaS v1 design:\nhttps://etherpad.openstack.org/p/juno-summit-metering-network-services","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"305adfad3934754c22661c9ea77515d7f61738f2","unresolved":false,"context_lines":[{"line_number":420,"context_line":"                type\u003dsample.TYPE_GAUGE,"},{"line_number":421,"context_line":"                unit\u003d\u0027listener\u0027,"},{"line_number":422,"context_line":"                volume\u003dstatus,"},{"line_number":423,"context_line":"                user_id\u003dNone,"},{"line_number":424,"context_line":"                project_id\u003dlistener[\u0027tenant_id\u0027],"},{"line_number":425,"context_line":"                resource_id\u003dlistener[\u0027id\u0027],"},{"line_number":426,"context_line":"                timestamp\u003dtimeutils.utcnow().isoformat(),"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_a2299039","line":423,"range":{"start_line":423,"start_character":24,"end_line":423,"end_character":28},"updated":"2016-02-24 06:35:39.000000000","message":"cannot get user_id ?","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"dedf6444c5f2ee1544b531b7cb9f0ab6135d878a","unresolved":false,"context_lines":[{"line_number":420,"context_line":"                type\u003dsample.TYPE_GAUGE,"},{"line_number":421,"context_line":"                unit\u003d\u0027listener\u0027,"},{"line_number":422,"context_line":"                volume\u003dstatus,"},{"line_number":423,"context_line":"                user_id\u003dNone,"},{"line_number":424,"context_line":"                project_id\u003dlistener[\u0027tenant_id\u0027],"},{"line_number":425,"context_line":"                resource_id\u003dlistener[\u0027id\u0027],"},{"line_number":426,"context_line":"                timestamp\u003dtimeutils.utcnow().isoformat(),"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_e9805b8d","line":423,"range":{"start_line":423,"start_character":24,"end_line":423,"end_character":28},"in_reply_to":"bae84128_a2299039","updated":"2016-02-24 07:02:50.000000000","message":"Hi Liu Sheng\n\nThanks for your review.\n\nWe can\u0027t get the user_id.\n\nThe LBaaS v2 response example:\n\nhttps://wiki.openstack.org/wiki/Neutron/LBaaS/API_2.0#List_all_Listeners\n\nHTTP/1.1 200 OK\nContent-Type: application/json\n\n{\n    \"listeners\": [\n        {\n            \"default_pool_id\": null,\n            \"protocol\": \"HTTP\",\n            \"description\": \"\",\n            \"admin_state_up\": true,\n            \"loadbalancers\": [\n                {\n                    \"id\": \"a9729389-6147-41a3-ab22-a24aed8692b2\"\n                }\n            ],\n            \"tenant_id\": \"3e4d8bec50a845fcb09e03a4375c691d\",\n            \"connection_limit\": 100,\n            \"protocol_port\": 80,\n            \"id\": \"35cb8516-1173-4035-8dae-0dae3453f37f\",\n            \"name\": \"\"\n        }\n    ]\n}","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"305adfad3934754c22661c9ea77515d7f61738f2","unresolved":false,"context_lines":[{"line_number":465,"context_line":"                type\u003dsample.TYPE_GAUGE,"},{"line_number":466,"context_line":"                unit\u003d\u0027loadbalancer\u0027,"},{"line_number":467,"context_line":"                volume\u003dstatus,"},{"line_number":468,"context_line":"                user_id\u003dNone,"},{"line_number":469,"context_line":"                project_id\u003dloadbalancer[\u0027tenant_id\u0027],"},{"line_number":470,"context_line":"                resource_id\u003dloadbalancer[\u0027id\u0027],"},{"line_number":471,"context_line":"                timestamp\u003dtimeutils.utcnow().isoformat(),"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_02231c57","line":468,"range":{"start_line":468,"start_character":24,"end_line":468,"end_character":28},"updated":"2016-02-24 06:35:39.000000000","message":"cannot get user_id ?","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"dedf6444c5f2ee1544b531b7cb9f0ab6135d878a","unresolved":false,"context_lines":[{"line_number":465,"context_line":"                type\u003dsample.TYPE_GAUGE,"},{"line_number":466,"context_line":"                unit\u003d\u0027loadbalancer\u0027,"},{"line_number":467,"context_line":"                volume\u003dstatus,"},{"line_number":468,"context_line":"                user_id\u003dNone,"},{"line_number":469,"context_line":"                project_id\u003dloadbalancer[\u0027tenant_id\u0027],"},{"line_number":470,"context_line":"                resource_id\u003dloadbalancer[\u0027id\u0027],"},{"line_number":471,"context_line":"                timestamp\u003dtimeutils.utcnow().isoformat(),"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_09377fff","line":468,"range":{"start_line":468,"start_character":24,"end_line":468,"end_character":28},"in_reply_to":"bae84128_02231c57","updated":"2016-02-24 07:02:50.000000000","message":"Hi Liu Sheng\n\nThanks for your review.\n\nWe can\u0027t get the user_id.\n\nThe LBaaS v2 response example:\n\nhttps://wiki.openstack.org/wiki/Neutron/LBaaS/API_2.0#List_all_Load_Balancers\n\n{\n    \"loadbalancers\": [\n        {\n            \"description\": \"simple lb\",\n            \"admin_state_up\": true,\n            \"tenant_id\": \"1a3e005cf9ce40308c900bcb08e5320c\",\n            \"provisioning_status\": \"ACTIVE\",\n            \"listeners\": [ ],\n            \"vip_address\": \"10.0.0.2\",\n            \"vip_subnet_id\": \"013d3059-87a4-45a5-91e9-d721068ae0b2\",\n            \"id\": \"a9729389-6147-41a3-ab22-a24aed8692b2\",\n            \"operating_status\": \"ONLINE\",\n            \"name\": \"loadbalancer1\"\n        }\n    ]\n}","commit_id":"6a6af444f48d2d3688ebecbf284db868405b1538"}],"ceilometer/neutron_client.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"bb8d8abed6b62cd1f2a66a1caf11c32dc2fe1a39","unresolved":false,"context_lines":[{"line_number":355,"context_line":"    def get_loadbalancer_stats(self, loadbalancer_id):"},{"line_number":356,"context_line":"        \"\"\"This method is used to get the statistics of the loadbalancer."},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        :param: loadbalancer_id: the ID of the specified loadbalancer"},{"line_number":359,"context_line":"        \"\"\""},{"line_number":360,"context_line":"        resp \u003d self.client.retrieve_loadbalancer_stats(loadbalancer_id)"},{"line_number":361,"context_line":"        resource \u003d resp.get(\u0027stats\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_22729e49","line":358,"range":{"start_line":358,"start_character":15,"end_line":358,"end_character":16},"updated":"2016-02-17 10:05:38.000000000","message":"remove the second \u0027:\u0027","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"},{"author":{"_account_id":9526,"name":"Zi Lian Ji","email":"jizilian@cn.ibm.com","username":"jizilian"},"change_message_id":"45c156cb4740c36625d138057bbfe72e361ba534","unresolved":false,"context_lines":[{"line_number":355,"context_line":"    def get_loadbalancer_stats(self, loadbalancer_id):"},{"line_number":356,"context_line":"        \"\"\"This method is used to get the statistics of the loadbalancer."},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        :param: loadbalancer_id: the ID of the specified loadbalancer"},{"line_number":359,"context_line":"        \"\"\""},{"line_number":360,"context_line":"        resp \u003d self.client.retrieve_loadbalancer_stats(loadbalancer_id)"},{"line_number":361,"context_line":"        resource \u003d resp.get(\u0027stats\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_00490db7","line":358,"range":{"start_line":358,"start_character":15,"end_line":358,"end_character":16},"in_reply_to":"dae33548_22729e49","updated":"2016-02-18 10:59:30.000000000","message":"Done","commit_id":"770032af6ab8597acfa5dc232659bbac2b1be898"}],"ceilometer/tests/unit/network/services/test_lbaas.py":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"550e5b6473cc978b183ebe3614a71711d07dfc89","unresolved":false,"context_lines":[{"line_number":473,"context_line":"    def _check_get_samples(self, factory, sample_name, expected_volume,"},{"line_number":474,"context_line":"                           expected_type):"},{"line_number":475,"context_line":"        pollster \u003d factory()"},{"line_number":476,"context_line":"        pollster.lb_version \u003d \u0027v1\u0027"},{"line_number":477,"context_line":"        cache \u003d {}"},{"line_number":478,"context_line":"        samples \u003d list(pollster.get_samples(self.manager, cache,"},{"line_number":479,"context_line":"                                            self.fake_get_pools()))"}],"source_content_type":"text/x-python","patch_set":5,"id":"bae84128_f3f3af9c","line":476,"range":{"start_line":476,"start_character":31,"end_line":476,"end_character":33},"updated":"2016-02-21 10:05:26.000000000","message":"Since v1 is deprecated, shouldn\u0027t we be testing against the v2 API and models?","commit_id":"7912cb4b19defd5c1b57a796570f9925674863a2"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"305adfad3934754c22661c9ea77515d7f61738f2","unresolved":false,"context_lines":[{"line_number":474,"context_line":"    def _check_get_samples(self, factory, sample_name, expected_volume,"},{"line_number":475,"context_line":"                           expected_type):"},{"line_number":476,"context_line":"        pollster \u003d factory()"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        cache \u003d {}"},{"line_number":479,"context_line":"        samples \u003d list(pollster.get_samples(self.manager, cache,"},{"line_number":480,"context_line":"                                            self.fake_get_pools()))"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_8528d687","side":"PARENT","line":477,"updated":"2016-02-24 06:35:39.000000000","message":"unrelated change","commit_id":"c72cd4fa89ec7e0a3d128c216bae89d09f1a7639"}],"ceilometer/tests/unit/network/services/test_lbaas_v2.py":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"550e5b6473cc978b183ebe3614a71711d07dfc89","unresolved":false,"context_lines":[{"line_number":260,"context_line":"                ]"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    @staticmethod"},{"line_number":263,"context_line":"    def fake_balancer_stats():"},{"line_number":264,"context_line":"        return {\u0027active_connections\u0027: 2,"},{"line_number":265,"context_line":"                \u0027bytes_in\u0027: 1,"},{"line_number":266,"context_line":"                \u0027bytes_out\u0027: 3,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bae84128_332cf701","line":263,"range":{"start_line":263,"start_character":8,"end_line":263,"end_character":27},"updated":"2016-02-21 10:05:26.000000000","message":"Same error as before: Stats are associated with listeners, not load balancers.","commit_id":"7912cb4b19defd5c1b57a796570f9925674863a2"}]}
