)]}'
{"neutron/plugins/hyperv/agent/hyperv_neutron_agent.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"f46ed1d3b1104cb19888cc28a8446b18d5d387be","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        if not CONF.AGENT.enable_metrics_collection:"},{"line_number":322,"context_line":"            return"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        for port_id in self._port_metric_retries.keys():"},{"line_number":325,"context_line":"            if self._utils.can_enable_control_metrics(port_id):"},{"line_number":326,"context_line":"                self._utils.enable_control_metrics(port_id)"},{"line_number":327,"context_line":"                LOG.info(_(\u0027Port metrics enabled for port: %s\u0027), port_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FYaM%3D","line":324,"updated":"2014-03-18 09:17:26.000000000","message":"no need for .keys() as it\u0027s the default dict iterator","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"027c5c72a6a19b54e609708392cec5781fb14ec6","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        if not CONF.AGENT.enable_metrics_collection:"},{"line_number":322,"context_line":"            return"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        for port_id in self._port_metric_retries.keys():"},{"line_number":325,"context_line":"            if self._utils.can_enable_control_metrics(port_id):"},{"line_number":326,"context_line":"                self._utils.enable_control_metrics(port_id)"},{"line_number":327,"context_line":"                LOG.info(_(\u0027Port metrics enabled for port: %s\u0027), port_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FPMo%3D","line":324,"in_reply_to":"AAAAWH%2F%2FR6Y%3D","updated":"2014-03-19 07:50:06.000000000","message":"ah, I see, sorry","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1a553efe65ba30fd762f59624e4d7bf768964805","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        if not CONF.AGENT.enable_metrics_collection:"},{"line_number":322,"context_line":"            return"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        for port_id in self._port_metric_retries.keys():"},{"line_number":325,"context_line":"            if self._utils.can_enable_control_metrics(port_id):"},{"line_number":326,"context_line":"                self._utils.enable_control_metrics(port_id)"},{"line_number":327,"context_line":"                LOG.info(_(\u0027Port metrics enabled for port: %s\u0027), port_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FR6Y%3D","line":324,"in_reply_to":"AAAAWH%2F%2FYaM%3D","updated":"2014-03-18 23:10:42.000000000","message":"The dict will modify while iterating over it, as elements will be removed from it. See line 328 and 332","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"}],"neutron/tests/unit/hyperv/test_hyperv_neutron_agent.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"f46ed1d3b1104cb19888cc28a8446b18d5d387be","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_port_enable_control_metrics_ok(self):"},{"line_number":115,"context_line":"        cfg.CONF.set_override(\u0027enable_metrics_collection\u0027, True, \u0027AGENT\u0027)"},{"line_number":116,"context_line":"        self.agent._port_metric_retries[self._FAKE_PORT_ID] \u003d \\"},{"line_number":117,"context_line":"            cfg.CONF.AGENT.metrics_max_retries"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        with mock.patch.multiple(self.agent._utils,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FYPE%3D","line":116,"updated":"2014-03-18 09:17:26.000000000","message":"please do not use \\ for newlines, consider:\n self.agent._port_metric_retries[self._FAKE_PORT_ID] \u003d (\n  cfg.CONF.AGENT.metrics_max_retries)","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1a553efe65ba30fd762f59624e4d7bf768964805","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_port_enable_control_metrics_ok(self):"},{"line_number":115,"context_line":"        cfg.CONF.set_override(\u0027enable_metrics_collection\u0027, True, \u0027AGENT\u0027)"},{"line_number":116,"context_line":"        self.agent._port_metric_retries[self._FAKE_PORT_ID] \u003d \\"},{"line_number":117,"context_line":"            cfg.CONF.AGENT.metrics_max_retries"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        with mock.patch.multiple(self.agent._utils,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FR6U%3D","line":116,"in_reply_to":"AAAAWH%2F%2FYPE%3D","updated":"2014-03-18 23:10:42.000000000","message":"Done","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"f46ed1d3b1104cb19888cc28a8446b18d5d387be","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            self.agent._utils.can_enable_control_metrics.return_value \u003d True"},{"line_number":124,"context_line":"            self.agent._port_enable_control_metrics()"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        self.assertNotIn(self._FAKE_PORT_ID, self.agent._port_metric_retries)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def test_port_enable_control_metrics_maxed(self):"},{"line_number":129,"context_line":"        cfg.CONF.set_override(\u0027enable_metrics_collection\u0027, True, \u0027AGENT\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FYME%3D","line":126,"updated":"2014-03-18 09:17:26.000000000","message":"can also check thet self.agent._utils.enable_control_metrics was called","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1a553efe65ba30fd762f59624e4d7bf768964805","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            self.agent._utils.can_enable_control_metrics.return_value \u003d True"},{"line_number":124,"context_line":"            self.agent._port_enable_control_metrics()"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        self.assertNotIn(self._FAKE_PORT_ID, self.agent._port_metric_retries)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def test_port_enable_control_metrics_maxed(self):"},{"line_number":129,"context_line":"        cfg.CONF.set_override(\u0027enable_metrics_collection\u0027, True, \u0027AGENT\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FR4g%3D","line":126,"in_reply_to":"AAAAWH%2F%2FYME%3D","updated":"2014-03-18 23:10:42.000000000","message":"Done","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"f46ed1d3b1104cb19888cc28a8446b18d5d387be","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def test_port_enable_control_metrics_maxed(self):"},{"line_number":129,"context_line":"        cfg.CONF.set_override(\u0027enable_metrics_collection\u0027, True, \u0027AGENT\u0027)"},{"line_number":130,"context_line":"        self.agent._port_metric_retries[self._FAKE_PORT_ID] \u003d \\"},{"line_number":131,"context_line":"            cfg.CONF.AGENT.metrics_max_retries"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        with mock.patch.multiple(self.agent._utils,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FYL0%3D","line":130,"updated":"2014-03-18 09:17:26.000000000","message":"ditto on \\","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1a553efe65ba30fd762f59624e4d7bf768964805","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def test_port_enable_control_metrics_maxed(self):"},{"line_number":129,"context_line":"        cfg.CONF.set_override(\u0027enable_metrics_collection\u0027, True, \u0027AGENT\u0027)"},{"line_number":130,"context_line":"        self.agent._port_metric_retries[self._FAKE_PORT_ID] \u003d \\"},{"line_number":131,"context_line":"            cfg.CONF.AGENT.metrics_max_retries"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        with mock.patch.multiple(self.agent._utils,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FR6E%3D","line":130,"in_reply_to":"AAAAWH%2F%2FYL0%3D","updated":"2014-03-18 23:10:42.000000000","message":"Done","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"f46ed1d3b1104cb19888cc28a8446b18d5d387be","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                                 enable_control_metrics\u003dmock.MagicMock()):"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"            self.agent._utils.can_enable_control_metrics.return_value \u003d False"},{"line_number":138,"context_line":"            for i in range(cfg.CONF.AGENT.metrics_max_retries + 1):"},{"line_number":139,"context_line":"                self.assertIn(self._FAKE_PORT_ID,"},{"line_number":140,"context_line":"                              self.agent._port_metric_retries)"},{"line_number":141,"context_line":"                self.agent._port_enable_control_metrics()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FYLI%3D","line":138,"updated":"2014-03-18 09:17:26.000000000","message":"may be worth to override 100 with a smaller value for the unit test","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1a553efe65ba30fd762f59624e4d7bf768964805","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                                 enable_control_metrics\u003dmock.MagicMock()):"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"            self.agent._utils.can_enable_control_metrics.return_value \u003d False"},{"line_number":138,"context_line":"            for i in range(cfg.CONF.AGENT.metrics_max_retries + 1):"},{"line_number":139,"context_line":"                self.assertIn(self._FAKE_PORT_ID,"},{"line_number":140,"context_line":"                              self.agent._port_metric_retries)"},{"line_number":141,"context_line":"                self.agent._port_enable_control_metrics()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FR6A%3D","line":138,"in_reply_to":"AAAAWH%2F%2FYLI%3D","updated":"2014-03-18 23:10:42.000000000","message":"Done","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"}],"neutron/tests/unit/hyperv/test_hyperv_utilsv2.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"f46ed1d3b1104cb19888cc28a8446b18d5d387be","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    @mock.patch(\u0027neutron.plugins.hyperv.agent.utilsv2.HyperVUtilsV2\u0027"},{"line_number":253,"context_line":"                \u0027._get_switch_port_allocation\u0027)"},{"line_number":254,"context_line":"    def test_enable_control_metrics_ok(self, mock_get_port_allocation):"},{"line_number":255,"context_line":"        mock_metrics_svc \u003d self._utils._conn.Msvm_MetricService()[0]"},{"line_number":256,"context_line":"        mock_metrics_def_source \u003d self._utils._conn.CIM_BaseMetricDefinition"},{"line_number":257,"context_line":"        mock_metric_def \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FYJ0%3D","line":254,"updated":"2014-03-18 09:17:26.000000000","message":"may consider adding negative test cases for the three new functions","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1a553efe65ba30fd762f59624e4d7bf768964805","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    @mock.patch(\u0027neutron.plugins.hyperv.agent.utilsv2.HyperVUtilsV2\u0027"},{"line_number":253,"context_line":"                \u0027._get_switch_port_allocation\u0027)"},{"line_number":254,"context_line":"    def test_enable_control_metrics_ok(self, mock_get_port_allocation):"},{"line_number":255,"context_line":"        mock_metrics_svc \u003d self._utils._conn.Msvm_MetricService()[0]"},{"line_number":256,"context_line":"        mock_metrics_def_source \u003d self._utils._conn.CIM_BaseMetricDefinition"},{"line_number":257,"context_line":"        mock_metric_def \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2FRlo%3D","line":254,"in_reply_to":"AAAAWH%2F%2FYJ0%3D","updated":"2014-03-18 23:10:42.000000000","message":"Done","commit_id":"3273bd11f9e3f981ef162f4899b4108b672c6a75"}]}
