)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"7feb22dd084c2a2461360ceb9f3304d0f8465054","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds QoS support to the ScaleIO driver by"},{"line_number":10,"context_line":"using Cinder QoS specs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7608192b91010a538027ab456c5ff5bba569214c"},{"line_number":13,"context_line":"Implements: blueprint scaleio-qos-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a7b0d38_43a0fcf4","line":11,"updated":"2015-12-22 21:25:00.000000000","message":"DocImpact flag, you might want to say ScaleIO supports QoS in http://docs.openstack.org/liberty/config-reference/content/ScaleIO-cinder-driver.html \n\nMaybe a release note as well?","commit_id":"3b27c3a392ae0ef48c0f578440b591c1deb07cc6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0457761ed1f0d9f9c47bc6e04476964015b92001","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds QoS support to the ScaleIO driver by"},{"line_number":10,"context_line":"using Cinder QoS specs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7608192b91010a538027ab456c5ff5bba569214c"},{"line_number":13,"context_line":"Implements: blueprint scaleio-qos-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a7b0d38_434f9c92","line":11,"in_reply_to":"1a7b0d38_43a0fcf4","updated":"2015-12-22 21:47:51.000000000","message":"Done","commit_id":"3b27c3a392ae0ef48c0f578440b591c1deb07cc6"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b4adca5f51e19a1be04d60789105d752628caac0","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds QoS support to the ScaleIO driver by"},{"line_number":10,"context_line":"using Cinder QoS specs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":"Change-Id: I7608192b91010a538027ab456c5ff5bba569214c"},{"line_number":14,"context_line":"Implements: blueprint scaleio-qos-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5a5ae5dd_fbd5201b","line":11,"updated":"2016-02-08 20:25:16.000000000","message":"It looks to me like half of the changes for this patch are actually to refactor logging and fix formatting errors.  Can we mention that this patch is also fixing that here please?","commit_id":"d7e6c779c950822e7c58d9d12c042ed1ee2914e0"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"b908de32c15db12c9c0a3221b15586a1660e2d22","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds QoS support to the ScaleIO driver by"},{"line_number":10,"context_line":"using Cinder QoS specs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":"Change-Id: I7608192b91010a538027ab456c5ff5bba569214c"},{"line_number":14,"context_line":"Implements: blueprint scaleio-qos-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5a5ae5dd_717ab1be","line":11,"in_reply_to":"5a5ae5dd_fbd5201b","updated":"2016-02-08 21:24:01.000000000","message":"Done","commit_id":"d7e6c779c950822e7c58d9d12c042ed1ee2914e0"}],"cinder/tests/unit/volume/drivers/emc/scaleio/test_initialize_connection.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"7feb22dd084c2a2461360ceb9f3304d0f8465054","unresolved":false,"context_lines":[{"line_number":25,"context_line":"\r"},{"line_number":26,"context_line":"        super(TestInitializeConnection, self).setUp()\r"},{"line_number":27,"context_line":"        self.connector \u003d {}\r"},{"line_number":28,"context_line":"        self.ctx \u003d ( \r"},{"line_number":29,"context_line":"            context.RequestContext(\u0027fake\u0027, \u0027fake\u0027, True, auth_token\u003dTrue))\r"},{"line_number":30,"context_line":"        self.volume \u003d fake_volume.fake_volume_obj(self.ctx)\r"},{"line_number":31,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_43523c15","line":28,"range":{"start_line":28,"start_character":20,"end_line":28,"end_character":21},"updated":"2015-12-22 21:25:00.000000000","message":"pep8 violation","commit_id":"3b27c3a392ae0ef48c0f578440b591c1deb07cc6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0457761ed1f0d9f9c47bc6e04476964015b92001","unresolved":false,"context_lines":[{"line_number":25,"context_line":"\r"},{"line_number":26,"context_line":"        super(TestInitializeConnection, self).setUp()\r"},{"line_number":27,"context_line":"        self.connector \u003d {}\r"},{"line_number":28,"context_line":"        self.ctx \u003d ( \r"},{"line_number":29,"context_line":"            context.RequestContext(\u0027fake\u0027, \u0027fake\u0027, True, auth_token\u003dTrue))\r"},{"line_number":30,"context_line":"        self.volume \u003d fake_volume.fake_volume_obj(self.ctx)\r"},{"line_number":31,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_234a9084","line":28,"range":{"start_line":28,"start_character":20,"end_line":28,"end_character":21},"in_reply_to":"1a7b0d38_43523c15","updated":"2015-12-22 21:47:51.000000000","message":"Done","commit_id":"3b27c3a392ae0ef48c0f578440b591c1deb07cc6"}],"cinder/volume/drivers/emc/scaleio.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"35f87cc27e01f427b685d924f64cd50923130d2b","unresolved":false,"context_lines":[{"line_number":244,"context_line":"            else:"},{"line_number":245,"context_line":"                LOG.info(_LI(\"Using extra_specs for defining QoS specs \""},{"line_number":246,"context_line":"                             \"will be deprecated in the next \""},{"line_number":247,"context_line":"                             \"version of OpenStack, pleae use QoS specs.\"))"},{"line_number":248,"context_line":"        return qos_limit if qos_limit is not None else extraspecs_limit"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def _id_to_base64(self, id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_a3dd2072","line":247,"updated":"2015-12-22 21:29:13.000000000","message":"You might want to say what version it will be deprecated, next leaves it open ended.","commit_id":"3b27c3a392ae0ef48c0f578440b591c1deb07cc6"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"35f87cc27e01f427b685d924f64cd50923130d2b","unresolved":false,"context_lines":[{"line_number":244,"context_line":"            else:"},{"line_number":245,"context_line":"                LOG.info(_LI(\"Using extra_specs for defining QoS specs \""},{"line_number":246,"context_line":"                             \"will be deprecated in the next \""},{"line_number":247,"context_line":"                             \"version of OpenStack, pleae use QoS specs.\"))"},{"line_number":248,"context_line":"        return qos_limit if qos_limit is not None else extraspecs_limit"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def _id_to_base64(self, id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_23d05053","line":247,"range":{"start_line":247,"start_character":52,"end_line":247,"end_character":58},"updated":"2015-12-22 21:29:13.000000000","message":"spelling error, \"please\"","commit_id":"3b27c3a392ae0ef48c0f578440b591c1deb07cc6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0457761ed1f0d9f9c47bc6e04476964015b92001","unresolved":false,"context_lines":[{"line_number":244,"context_line":"            else:"},{"line_number":245,"context_line":"                LOG.info(_LI(\"Using extra_specs for defining QoS specs \""},{"line_number":246,"context_line":"                             \"will be deprecated in the next \""},{"line_number":247,"context_line":"                             \"version of OpenStack, pleae use QoS specs.\"))"},{"line_number":248,"context_line":"        return qos_limit if qos_limit is not None else extraspecs_limit"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def _id_to_base64(self, id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_6381788f","line":247,"range":{"start_line":247,"start_character":52,"end_line":247,"end_character":58},"in_reply_to":"1a7b0d38_23d05053","updated":"2015-12-22 21:47:51.000000000","message":"Done","commit_id":"3b27c3a392ae0ef48c0f578440b591c1deb07cc6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0457761ed1f0d9f9c47bc6e04476964015b92001","unresolved":false,"context_lines":[{"line_number":244,"context_line":"            else:"},{"line_number":245,"context_line":"                LOG.info(_LI(\"Using extra_specs for defining QoS specs \""},{"line_number":246,"context_line":"                             \"will be deprecated in the next \""},{"line_number":247,"context_line":"                             \"version of OpenStack, pleae use QoS specs.\"))"},{"line_number":248,"context_line":"        return qos_limit if qos_limit is not None else extraspecs_limit"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def _id_to_base64(self, id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_a37760d3","line":247,"in_reply_to":"1a7b0d38_a3dd2072","updated":"2015-12-22 21:47:51.000000000","message":"Done","commit_id":"3b27c3a392ae0ef48c0f578440b591c1deb07cc6"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"c23cb6db479190f7df2535dcc10987c361117478","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    \"\"\"EMC ScaleIO Driver.\"\"\""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    VERSION \u003d \"2.0\""},{"line_number":98,"context_line":"    scaleio_qos_keys \u003d [QOS_IOPS_LIMIT_KEY, QOS_BANDWIDTH_LIMIT]"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":101,"context_line":"        super(ScaleIODriver, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba63e191_631739ee","line":98,"range":{"start_line":98,"start_character":63,"end_line":98,"end_character":64},"updated":"2016-01-18 21:01:56.000000000","message":"If scaleio_qos_keys is constant, just suggest you use () instead of [].","commit_id":"0e4ea162ea2cc1938f96f6e40d05bd8037c16d8c"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"c23cb6db479190f7df2535dcc10987c361117478","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            self.server_certificate_path \u003d ("},{"line_number":115,"context_line":"                self.configuration.sio_server_certificate_path)"},{"line_number":116,"context_line":"        LOG.info(_LI("},{"line_number":117,"context_line":"                 \"REST server IP: %(ip)s, port: %(port)s, username: %(\""},{"line_number":118,"context_line":"                 \"user)s. \""},{"line_number":119,"context_line":"                 \"Verify server\u0027s certificate: %(verify_cert)s.\"),"},{"line_number":120,"context_line":"                 {\u0027ip\u0027: self.server_ip,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba63e191_c3aaa585","line":117,"range":{"start_line":117,"start_character":68,"end_line":117,"end_character":71},"updated":"2016-01-18 21:01:56.000000000","message":"There are lots of changes downstairs on the indentations.\nDo you really mean to do it?","commit_id":"0e4ea162ea2cc1938f96f6e40d05bd8037c16d8c"},{"author":{"_account_id":14274,"name":"XinXiaohui","email":"xiaohui.xin@intel.com","username":"XinXiaohui"},"change_message_id":"d16a15630652d343b7a2ca15356d52f468b70062","unresolved":false,"context_lines":[{"line_number":857,"context_line":"                  \u0027total\u0027: total_capacity})"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        stats[\u0027reserved_percentage\u0027] \u003d 0"},{"line_number":860,"context_line":"        stats[\u0027QoS_support\u0027] \u003d True"},{"line_number":861,"context_line":"        stats[\u0027pools\u0027] \u003d pools"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"        LOG.info(_LI(\"Backend name is %s.\"), stats[\"volume_backend_name\"])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_804a23c4","line":860,"range":{"start_line":860,"start_character":26,"end_line":860,"end_character":28},"updated":"2016-02-04 08:35:25.000000000","message":"Is there any reasons that some keys of the stats will be set twice in _update_volume_stats()? See line 721 and line 860 are the same. line 713~717 and line 846~849.In case they will be changed in some cases?","commit_id":"21417aa5c07316cb981bc4c68de785fb883bedcd"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"c0c59571b9c6e0864e95216fa8b8cd77d34474f7","unresolved":false,"context_lines":[{"line_number":857,"context_line":"                  \u0027total\u0027: total_capacity})"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        stats[\u0027reserved_percentage\u0027] \u003d 0"},{"line_number":860,"context_line":"        stats[\u0027QoS_support\u0027] \u003d True"},{"line_number":861,"context_line":"        stats[\u0027pools\u0027] \u003d pools"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"        LOG.info(_LI(\"Backend name is %s.\"), stats[\"volume_backend_name\"])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_b2a4deb9","line":860,"range":{"start_line":860,"start_character":26,"end_line":860,"end_character":28},"in_reply_to":"5a5ae5dd_01b4907f","updated":"2016-02-07 12:03:11.000000000","message":"Done","commit_id":"21417aa5c07316cb981bc4c68de785fb883bedcd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5f32f1688c46ad9c84e22980d4b2a41a04c2c427","unresolved":false,"context_lines":[{"line_number":857,"context_line":"                  \u0027total\u0027: total_capacity})"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        stats[\u0027reserved_percentage\u0027] \u003d 0"},{"line_number":860,"context_line":"        stats[\u0027QoS_support\u0027] \u003d True"},{"line_number":861,"context_line":"        stats[\u0027pools\u0027] \u003d pools"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"        LOG.info(_LI(\"Backend name is %s.\"), stats[\"volume_backend_name\"])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_01b4907f","line":860,"range":{"start_line":860,"start_character":26,"end_line":860,"end_character":28},"in_reply_to":"5a5ae5dd_804a23c4","updated":"2016-02-06 04:17:57.000000000","message":"Actually we only need to set them once.\n\nMatan,\nCan you remove the redundant lines?","commit_id":"21417aa5c07316cb981bc4c68de785fb883bedcd"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"c0c59571b9c6e0864e95216fa8b8cd77d34474f7","unresolved":false,"context_lines":[{"line_number":857,"context_line":"                  \u0027total\u0027: total_capacity})"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        stats[\u0027reserved_percentage\u0027] \u003d 0"},{"line_number":860,"context_line":"        stats[\u0027QoS_support\u0027] \u003d True"},{"line_number":861,"context_line":"        stats[\u0027pools\u0027] \u003d pools"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"        LOG.info(_LI(\"Backend name is %s.\"), stats[\"volume_backend_name\"])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_12c37258","line":860,"range":{"start_line":860,"start_character":26,"end_line":860,"end_character":28},"in_reply_to":"5a5ae5dd_804a23c4","updated":"2016-02-07 12:03:11.000000000","message":"Done","commit_id":"21417aa5c07316cb981bc4c68de785fb883bedcd"}]}
