)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"9b17304c81cc0442a3735af2059a770458370ff6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Support iSCSI configuration in replication feature"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In most case, users need much more features to attach volume to VM, such"},{"line_number":10,"context_line":"as iSCSI multipath, CHAP, etc. In Huawei cinder driver replication feature,"},{"line_number":11,"context_line":"we need to fit the case when using iSCSI driver."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"We add a new key word into replication_device, called iscsi_info. The detail"},{"line_number":14,"context_line":"as follows:"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    replication_device \u003d backend_id:huawei-replica-1,"},{"line_number":17,"context_line":"        storage_pool:pool_1,"},{"line_number":18,"context_line":"        san_address:san_url_1;san_url_2,"},{"line_number":19,"context_line":"        iscsi_default_target_ip:192.168.1.100,"},{"line_number":20,"context_line":"        san_user:admin,san_password:passwd"},{"line_number":21,"context_line":"        iscsi_info: {Name:xxx;CHAPinfo:user#password;ALUA:1;"},{"line_number":22,"context_line":"                     TargetIP:0.0.0.0;TargetPortGroup:xxx};"},{"line_number":23,"context_line":"                    {Name:xxx;CHAPinfo:user#password;ALUA:1;"},{"line_number":24,"context_line":"                     TargetIP:0.0.0.0;TargetPortGroup:xxx}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"All key words in iscsi_info are case insensitive. The meaning of them are"},{"line_number":27,"context_line":"the same with that in huawei_config.xml, which always used in master array."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: I4a0cce1858c3a8539a62e7dae6e1092d4e86707f"},{"line_number":30,"context_line":"Closes-Bug: #1588736"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aa08908_46caba6f","line":27,"range":{"start_line":9,"start_character":71,"end_line":27,"end_character":75},"updated":"2016-06-06 16:18:38.000000000","message":"Lines should be wrapped at 72 characters.","commit_id":"6cd73bbf5709f4b55c60be69023ce8f95c4fbb20"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"4ab78144a707025763ab031e925a5619e2ca3a42","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Support iSCSI configuration in replication feature"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In most case, users need much more features to attach volume to VM, such"},{"line_number":10,"context_line":"as iSCSI multipath, CHAP, etc. In Huawei cinder driver replication feature,"},{"line_number":11,"context_line":"we need to fit the case when using iSCSI driver."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"We add a new key word into replication_device, called iscsi_info. The detail"},{"line_number":14,"context_line":"as follows:"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    replication_device \u003d backend_id:huawei-replica-1,"},{"line_number":17,"context_line":"        storage_pool:pool_1,"},{"line_number":18,"context_line":"        san_address:san_url_1;san_url_2,"},{"line_number":19,"context_line":"        iscsi_default_target_ip:192.168.1.100,"},{"line_number":20,"context_line":"        san_user:admin,san_password:passwd"},{"line_number":21,"context_line":"        iscsi_info: {Name:xxx;CHAPinfo:user#password;ALUA:1;"},{"line_number":22,"context_line":"                     TargetIP:0.0.0.0;TargetPortGroup:xxx};"},{"line_number":23,"context_line":"                    {Name:xxx;CHAPinfo:user#password;ALUA:1;"},{"line_number":24,"context_line":"                     TargetIP:0.0.0.0;TargetPortGroup:xxx}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"All key words in iscsi_info are case insensitive. The meaning of them are"},{"line_number":27,"context_line":"the same with that in huawei_config.xml, which always used in master array."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: I4a0cce1858c3a8539a62e7dae6e1092d4e86707f"},{"line_number":30,"context_line":"Closes-Bug: #1588736"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aa08908_3eacc034","line":27,"range":{"start_line":9,"start_character":71,"end_line":27,"end_character":75},"in_reply_to":"7aa08908_46caba6f","updated":"2016-06-07 03:07:48.000000000","message":"Done","commit_id":"6cd73bbf5709f4b55c60be69023ce8f95c4fbb20"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"e5c03878a86c5ec0159f77e6a0e3649c9d4b5744","unresolved":false,"context_lines":[{"line_number":17,"context_line":"        storage_pool:pool_1,"},{"line_number":18,"context_line":"        san_address:san_url_1;san_url_2,"},{"line_number":19,"context_line":"        iscsi_default_target_ip:192.168.1.100,"},{"line_number":20,"context_line":"        san_user:admin,san_password:passwd"},{"line_number":21,"context_line":"        iscsi_info: {Name:xxx;CHAPinfo:user#password;ALUA:1;"},{"line_number":22,"context_line":"                     TargetIP:0.0.0.0;TargetPortGroup:xxx};"},{"line_number":23,"context_line":"                    {Name:xxx;CHAPinfo:user#password;ALUA:1;"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a9d85d2_93ecd62a","line":20,"updated":"2016-06-21 09:26:17.000000000","message":"miss \u0027,\u0027 here.","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"f33c818a102ecc9ffb849f5e29278ca4ce855ef4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"        storage_pool:pool_1,"},{"line_number":18,"context_line":"        san_address:san_url_1;san_url_2,"},{"line_number":19,"context_line":"        iscsi_default_target_ip:192.168.1.100,"},{"line_number":20,"context_line":"        san_user:admin,san_password:passwd"},{"line_number":21,"context_line":"        iscsi_info: {Name:xxx;CHAPinfo:user#password;ALUA:1;"},{"line_number":22,"context_line":"                     TargetIP:0.0.0.0;TargetPortGroup:xxx};"},{"line_number":23,"context_line":"                    {Name:xxx;CHAPinfo:user#password;ALUA:1;"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3aaa91ec_a68145fd","line":20,"in_reply_to":"5a9d85d2_93ecd62a","updated":"2016-06-27 10:56:07.000000000","message":"OK","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"}],"cinder/tests/unit/test_huawei_drivers.py":[{"author":{"_account_id":21309,"name":"Jay Mehta","email":"jay87.mehta@gmail.com","username":"Jay"},"change_message_id":"2b92d3ca8fe9463ba34788b5a17f0ae5d95d14de","unresolved":false,"context_lines":[{"line_number":2040,"context_line":"        self.portgroup_id \u003d 11"},{"line_number":2041,"context_line":"        self.driver.client.login()"},{"line_number":2042,"context_line":""},{"line_number":2043,"context_line":"    def test_parse_rmt_iscsi_info(self):"},{"line_number":2044,"context_line":"        rmt_devs \u003d self.driver.huawei_conf.get_replication_devices()"},{"line_number":2045,"context_line":"        iscsi_info \u003d rmt_devs[0][\u0027iscsi_info\u0027]"},{"line_number":2046,"context_line":"        expected_iscsi_info \u003d [{\u0027Name\u0027: \u0027iqn.1993-08.debian:01:ec2bff7acxxx\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_2be520a7","line":2043,"range":{"start_line":2043,"start_character":8,"end_line":2043,"end_character":33},"updated":"2016-06-08 16:39:55.000000000","message":"Could you also please add negative test case for this function as replication may not always be configured","commit_id":"548f78cff103f4e566713426138c3305a3f4660c"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"df9efd6ab590c07bf68f61466d1aa2a36b981796","unresolved":false,"context_lines":[{"line_number":2040,"context_line":"        self.portgroup_id \u003d 11"},{"line_number":2041,"context_line":"        self.driver.client.login()"},{"line_number":2042,"context_line":""},{"line_number":2043,"context_line":"    def test_parse_rmt_iscsi_info(self):"},{"line_number":2044,"context_line":"        rmt_devs \u003d self.driver.huawei_conf.get_replication_devices()"},{"line_number":2045,"context_line":"        iscsi_info \u003d rmt_devs[0][\u0027iscsi_info\u0027]"},{"line_number":2046,"context_line":"        expected_iscsi_info \u003d [{\u0027Name\u0027: \u0027iqn.1993-08.debian:01:ec2bff7acxxx\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_933ae932","line":2043,"range":{"start_line":2043,"start_character":8,"end_line":2043,"end_character":33},"in_reply_to":"7aa08908_2be520a7","updated":"2016-06-12 06:57:57.000000000","message":"Done","commit_id":"548f78cff103f4e566713426138c3305a3f4660c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"eb74990be4e04d55ac9fa5b08b5b358d76e71e05","unresolved":false,"context_lines":[{"line_number":2165,"context_line":""},{"line_number":2166,"context_line":"    def test_get_volume_status(self):"},{"line_number":2167,"context_line":"        data \u003d self.driver.get_volume_stats()"},{"line_number":2168,"context_line":"        self.assertEqual(\u00272.0.6\u0027, data[\u0027driver_version\u0027])"},{"line_number":2169,"context_line":""},{"line_number":2170,"context_line":"    @mock.patch.object(rest_client.RestClient, \u0027get_lun_info\u0027,"},{"line_number":2171,"context_line":"                       return_value\u003d{\"CAPACITY\": 6291456})"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_507285e6","line":2168,"updated":"2016-06-22 09:14:22.000000000","message":"It would be good to verify all stats data. But it\u0027s out of scope for this patch","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"76266b5ccd689fb364c71b997d10e8f9c6dd1480","unresolved":false,"context_lines":[{"line_number":2165,"context_line":""},{"line_number":2166,"context_line":"    def test_get_volume_status(self):"},{"line_number":2167,"context_line":"        data \u003d self.driver.get_volume_stats()"},{"line_number":2168,"context_line":"        self.assertEqual(\u00272.0.6\u0027, data[\u0027driver_version\u0027])"},{"line_number":2169,"context_line":""},{"line_number":2170,"context_line":"    @mock.patch.object(rest_client.RestClient, \u0027get_lun_info\u0027,"},{"line_number":2171,"context_line":"                       return_value\u003d{\"CAPACITY\": 6291456})"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_6570d340","line":2168,"in_reply_to":"3aaa91ec_507285e6","updated":"2016-06-27 11:03:29.000000000","message":"OK. Maybe it should report a bug to fix it.","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"}],"cinder/volume/drivers/huawei/huawei_conf.py":[{"author":{"_account_id":21309,"name":"Jay Mehta","email":"jay87.mehta@gmail.com","username":"Jay"},"change_message_id":"2b92d3ca8fe9463ba34788b5a17f0ae5d95d14de","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        setattr(self.conf, \u0027iscsi_info\u0027, iscsi_info)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    def parse_rmt_iscsi_info(self, iscsi_info):"},{"line_number":256,"context_line":"        if not (iscsi_info and iscsi_info.strip()):"},{"line_number":257,"context_line":"            return []"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_0b8b0469","line":255,"range":{"start_line":255,"start_character":8,"end_line":255,"end_character":28},"updated":"2016-06-08 16:39:55.000000000","message":"rename this private function to _parse_rmt_iscsi_info","commit_id":"548f78cff103f4e566713426138c3305a3f4660c"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"df9efd6ab590c07bf68f61466d1aa2a36b981796","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        setattr(self.conf, \u0027iscsi_info\u0027, iscsi_info)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    def parse_rmt_iscsi_info(self, iscsi_info):"},{"line_number":256,"context_line":"        if not (iscsi_info and iscsi_info.strip()):"},{"line_number":257,"context_line":"            return []"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_5338813d","line":255,"range":{"start_line":255,"start_character":8,"end_line":255,"end_character":28},"in_reply_to":"7aa08908_0b8b0469","updated":"2016-06-12 06:57:57.000000000","message":"Done","commit_id":"548f78cff103f4e566713426138c3305a3f4660c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"f30a89070e05acbd406c833bd584586bb25d9122","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        # \u0027 {Name:xxx ;;TargetPortGroup: xxx};\\n\u0027"},{"line_number":261,"context_line":"        # \u0027{Name:\\t\\rxxx;CHAPinfo: mm-usr#mm-pwd} \u0027"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        # Step 1, ignore characters, convert to:"},{"line_number":264,"context_line":"        # \u0027{Name:xxx;;TargetPortGroup:xxx};{Name:xxx;CHAPinfo:mm-usr#mm-pwd}\u0027"},{"line_number":265,"context_line":"        iscsi_info \u003d \u0027\u0027.join(iscsi_info.split())"},{"line_number":266,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_fb561bcd","line":263,"range":{"start_line":263,"start_character":25,"end_line":263,"end_character":35},"updated":"2016-06-27 13:28:45.000000000","message":"Shouldn\u0027t it read \"ignore whitespace characters\"?","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"0a43d69c3ce932b6139eeab5ca13ffa68ba83893","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        # \u0027 {Name:xxx ;;TargetPortGroup: xxx};\\n\u0027"},{"line_number":261,"context_line":"        # \u0027{Name:\\t\\rxxx;CHAPinfo: mm-usr#mm-pwd} \u0027"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        # Step 1, ignore characters, convert to:"},{"line_number":264,"context_line":"        # \u0027{Name:xxx;;TargetPortGroup:xxx};{Name:xxx;CHAPinfo:mm-usr#mm-pwd}\u0027"},{"line_number":265,"context_line":"        iscsi_info \u003d \u0027\u0027.join(iscsi_info.split())"},{"line_number":266,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_25fce03d","line":263,"range":{"start_line":263,"start_character":25,"end_line":263,"end_character":35},"in_reply_to":"3aaa91ec_fb561bcd","updated":"2016-06-28 00:59:26.000000000","message":"Done","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"f30a89070e05acbd406c833bd584586bb25d9122","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        get_opts \u003d lambda x: x.split(\u0027:\u0027, 1)"},{"line_number":286,"context_line":"        initiator_infos \u003d map(lambda x: dict(map(get_opts, x)),"},{"line_number":287,"context_line":"                              initiator_infos)"},{"line_number":288,"context_line":"        # make compatible with py3"},{"line_number":289,"context_line":"        initiator_infos \u003d list(initiator_infos)"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        # Step 6, replace CHAPinfo \u0027user#pwd\u0027 to \u0027user;pwd\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_86333ef6","line":288,"range":{"start_line":288,"start_character":8,"end_line":288,"end_character":34},"updated":"2016-06-27 13:28:45.000000000","message":"I think it would be better to say:\n\n # convert generator to list for py3 compatibility","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"0a43d69c3ce932b6139eeab5ca13ffa68ba83893","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        get_opts \u003d lambda x: x.split(\u0027:\u0027, 1)"},{"line_number":286,"context_line":"        initiator_infos \u003d map(lambda x: dict(map(get_opts, x)),"},{"line_number":287,"context_line":"                              initiator_infos)"},{"line_number":288,"context_line":"        # make compatible with py3"},{"line_number":289,"context_line":"        initiator_infos \u003d list(initiator_infos)"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        # Step 6, replace CHAPinfo \u0027user#pwd\u0027 to \u0027user;pwd\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_05f9e44d","line":288,"range":{"start_line":288,"start_character":8,"end_line":288,"end_character":34},"in_reply_to":"3aaa91ec_86333ef6","updated":"2016-06-28 00:59:26.000000000","message":"Done","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"eb74990be4e04d55ac9fa5b08b5b358d76e71e05","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                if key in info:"},{"line_number":296,"context_line":"                    info[key] \u003d info[key].replace(\u0027#\u0027, \u0027;\u0027, 1)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        _format_chapinfo()"},{"line_number":299,"context_line":"        return initiator_infos"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def get_replication_devices(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_f058d158","line":298,"updated":"2016-06-22 09:14:22.000000000","message":"Why do we need this function? It\u0027s called only once","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"f30a89070e05acbd406c833bd584586bb25d9122","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                if key in info:"},{"line_number":296,"context_line":"                    info[key] \u003d info[key].replace(\u0027#\u0027, \u0027;\u0027, 1)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        _format_chapinfo()"},{"line_number":299,"context_line":"        return initiator_infos"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def get_replication_devices(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_db387f40","line":298,"in_reply_to":"3aaa91ec_05590f8e","updated":"2016-06-27 13:28:45.000000000","message":"I don\u0027t get that either. Why not simply:\n\n        # Step 6, replace CHAPinfo \u0027user#pwd\u0027 to \u0027user;pwd\u0027\n        key \u003d \u0027CHAPinfo\u0027\n        for info in initiator_infos:\n            if key in info:\n                info[key] \u003d info[key].replace(\u0027#\u0027, \u0027;\u0027, 1)\n\n?","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"0a43d69c3ce932b6139eeab5ca13ffa68ba83893","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                if key in info:"},{"line_number":296,"context_line":"                    info[key] \u003d info[key].replace(\u0027#\u0027, \u0027;\u0027, 1)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        _format_chapinfo()"},{"line_number":299,"context_line":"        return initiator_infos"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def get_replication_devices(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_45992c1f","line":298,"in_reply_to":"3aaa91ec_db387f40","updated":"2016-06-28 00:59:26.000000000","message":"Done","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"76266b5ccd689fb364c71b997d10e8f9c6dd1480","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                if key in info:"},{"line_number":296,"context_line":"                    info[key] \u003d info[key].replace(\u0027#\u0027, \u0027;\u0027, 1)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        _format_chapinfo()"},{"line_number":299,"context_line":"        return initiator_infos"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def get_replication_devices(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_05590f8e","line":298,"in_reply_to":"3aaa91ec_f058d158","updated":"2016-06-27 11:03:29.000000000","message":"It\u0027s for format transfer.","commit_id":"53edcede9990f3934305ed41e0c6e67e3b61d50f"}],"cinder/volume/drivers/huawei/huawei_driver.py":[{"author":{"_account_id":21309,"name":"Jay Mehta","email":"jay87.mehta@gmail.com","username":"Jay"},"change_message_id":"2b92d3ca8fe9463ba34788b5a17f0ae5d95d14de","unresolved":false,"context_lines":[{"line_number":1609,"context_line":"        2.0.5 - Replication V2 support"},{"line_number":1610,"context_line":"    \"\"\""},{"line_number":1611,"context_line":""},{"line_number":1612,"context_line":"    VERSION \u003d \"2.0.5\""},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":1615,"context_line":"        super(HuaweiISCSIDriver, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_b9c7ad94","line":1612,"range":{"start_line":1612,"start_character":4,"end_line":1612,"end_character":21},"updated":"2016-06-08 16:39:55.000000000","message":"Shouldn\u0027t this be updated to 2.0.6 since the driver has now added capability of accepting iscsi replication configuration?","commit_id":"548f78cff103f4e566713426138c3305a3f4660c"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"df9efd6ab590c07bf68f61466d1aa2a36b981796","unresolved":false,"context_lines":[{"line_number":1609,"context_line":"        2.0.5 - Replication V2 support"},{"line_number":1610,"context_line":"    \"\"\""},{"line_number":1611,"context_line":""},{"line_number":1612,"context_line":"    VERSION \u003d \"2.0.5\""},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":1615,"context_line":"        super(HuaweiISCSIDriver, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_b33f2524","line":1612,"range":{"start_line":1612,"start_character":4,"end_line":1612,"end_character":21},"in_reply_to":"7aa08908_b9c7ad94","updated":"2016-06-12 06:57:57.000000000","message":"Done","commit_id":"548f78cff103f4e566713426138c3305a3f4660c"}]}
