)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"92175f8c6dda2d285e32b34083990fb19c50cf27","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add retype logic in manage_existing for VNX"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The manage existing api for VNX driver didn\u0027t check the volume type."},{"line_number":10,"context_line":"Add type check and retype the volume if its not match."},{"line_number":11,"context_line":"Raise ManageExistingVolumeTypeMismatch if volume type cannot be satisfied."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Details of the change:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_250d32e8","line":10,"updated":"2015-08-05 15:08:01.000000000","message":"\"its\" -\u003e \"it\u0027s\"?","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"7cc3ef849858a11917e9061673d0ab41e3ef7be5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add retype logic in manage_existing for VNX"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The manage existing api for VNX driver didn\u0027t check the volume type."},{"line_number":10,"context_line":"Add type check and retype the volume if its not match."},{"line_number":11,"context_line":"Raise ManageExistingVolumeTypeMismatch if volume type cannot be satisfied."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Details of the change:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_63a80ddc","line":10,"in_reply_to":"1a4dcd0f_250d32e8","updated":"2015-08-05 16:36:18.000000000","message":"Done","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"92175f8c6dda2d285e32b34083990fb19c50cf27","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    need to be introduced to convert LUN properties to provisioning type"},{"line_number":17,"context_line":"    and tiering type used in volume type."},{"line_number":18,"context_line":"    Following changes are introduced as a side effect of this enhancement."},{"line_number":19,"context_line":"      * _Enum class is extraced from VNXError as a base class for"},{"line_number":20,"context_line":"        enumerations."},{"line_number":21,"context_line":"      * Privisioning type and tiering type are converted to enum."},{"line_number":22,"context_line":"      * More properties need to be retrieved from array to check the type."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_251e925f","line":19,"updated":"2015-08-05 15:08:01.000000000","message":"\"extraced\" -\u003e \"extracted\"?","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"7cc3ef849858a11917e9061673d0ab41e3ef7be5","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    need to be introduced to convert LUN properties to provisioning type"},{"line_number":17,"context_line":"    and tiering type used in volume type."},{"line_number":18,"context_line":"    Following changes are introduced as a side effect of this enhancement."},{"line_number":19,"context_line":"      * _Enum class is extraced from VNXError as a base class for"},{"line_number":20,"context_line":"        enumerations."},{"line_number":21,"context_line":"      * Privisioning type and tiering type are converted to enum."},{"line_number":22,"context_line":"      * More properties need to be retrieved from array to check the type."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_23af65e3","line":19,"in_reply_to":"1a4dcd0f_251e925f","updated":"2015-08-05 16:36:18.000000000","message":"Done","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":17444,"name":"Jay.Shen","email":"shenhong09@huawei.com","username":"Jay.Shen"},"change_message_id":"0276b8ff2d588a595ebc046fde29a9640d347cbe","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    Following changes are introduced as a side effect of this enhancement."},{"line_number":19,"context_line":"      * _Enum class is extraced from VNXError as a base class for"},{"line_number":20,"context_line":"        enumerations."},{"line_number":21,"context_line":"      * Privisioning type and tiering type are converted to enum."},{"line_number":22,"context_line":"      * More properties need to be retrieved from array to check the type."},{"line_number":23,"context_line":"        Following changes are introduced by this change:"},{"line_number":24,"context_line":"          * Seperate resource property descripters to individual class"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_3138183d","line":21,"updated":"2015-08-05 14:04:15.000000000","message":"S/Privisioning/Provisioning?","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"7cc3ef849858a11917e9061673d0ab41e3ef7be5","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    Following changes are introduced as a side effect of this enhancement."},{"line_number":19,"context_line":"      * _Enum class is extraced from VNXError as a base class for"},{"line_number":20,"context_line":"        enumerations."},{"line_number":21,"context_line":"      * Privisioning type and tiering type are converted to enum."},{"line_number":22,"context_line":"      * More properties need to be retrieved from array to check the type."},{"line_number":23,"context_line":"        Following changes are introduced by this change:"},{"line_number":24,"context_line":"          * Seperate resource property descripters to individual class"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_03b2694c","line":21,"in_reply_to":"1a4dcd0f_3138183d","updated":"2015-08-05 16:36:18.000000000","message":"Done","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"92175f8c6dda2d285e32b34083990fb19c50cf27","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      * Privisioning type and tiering type are converted to enum."},{"line_number":22,"context_line":"      * More properties need to be retrieved from array to check the type."},{"line_number":23,"context_line":"        Following changes are introduced by this change:"},{"line_number":24,"context_line":"          * Seperate resource property descripters to individual class"},{"line_number":25,"context_line":"            so that they are better organized."},{"line_number":26,"context_line":"          * Remove common matchers from property descripter to reduce the"},{"line_number":27,"context_line":"            possibility of error."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_8589a677","line":24,"updated":"2015-08-05 15:08:01.000000000","message":"\"descripters\" -\u003e \"descriptors\"?","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":17444,"name":"Jay.Shen","email":"shenhong09@huawei.com","username":"Jay.Shen"},"change_message_id":"0276b8ff2d588a595ebc046fde29a9640d347cbe","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      * Privisioning type and tiering type are converted to enum."},{"line_number":22,"context_line":"      * More properties need to be retrieved from array to check the type."},{"line_number":23,"context_line":"        Following changes are introduced by this change:"},{"line_number":24,"context_line":"          * Seperate resource property descripters to individual class"},{"line_number":25,"context_line":"            so that they are better organized."},{"line_number":26,"context_line":"          * Remove common matchers from property descripter to reduce the"},{"line_number":27,"context_line":"            possibility of error."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_91c24c33","line":24,"updated":"2015-08-05 14:04:15.000000000","message":"S/Seperate/Separate ?","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"7cc3ef849858a11917e9061673d0ab41e3ef7be5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      * Privisioning type and tiering type are converted to enum."},{"line_number":22,"context_line":"      * More properties need to be retrieved from array to check the type."},{"line_number":23,"context_line":"        Following changes are introduced by this change:"},{"line_number":24,"context_line":"          * Seperate resource property descripters to individual class"},{"line_number":25,"context_line":"            so that they are better organized."},{"line_number":26,"context_line":"          * Remove common matchers from property descripter to reduce the"},{"line_number":27,"context_line":"            possibility of error."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_437ab178","line":24,"in_reply_to":"1a4dcd0f_8589a677","updated":"2015-08-05 16:36:18.000000000","message":"Done","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"7cc3ef849858a11917e9061673d0ab41e3ef7be5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      * Privisioning type and tiering type are converted to enum."},{"line_number":22,"context_line":"      * More properties need to be retrieved from array to check the type."},{"line_number":23,"context_line":"        Following changes are introduced by this change:"},{"line_number":24,"context_line":"          * Seperate resource property descripters to individual class"},{"line_number":25,"context_line":"            so that they are better organized."},{"line_number":26,"context_line":"          * Remove common matchers from property descripter to reduce the"},{"line_number":27,"context_line":"            possibility of error."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_c3b7a138","line":24,"in_reply_to":"1a4dcd0f_91c24c33","updated":"2015-08-05 16:36:18.000000000","message":"Done","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":17444,"name":"Jay.Shen","email":"shenhong09@huawei.com","username":"Jay.Shen"},"change_message_id":"0276b8ff2d588a595ebc046fde29a9640d347cbe","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        Following changes are introduced by this change:"},{"line_number":24,"context_line":"          * Seperate resource property descripters to individual class"},{"line_number":25,"context_line":"            so that they are better organized."},{"line_number":26,"context_line":"          * Remove common matchers from property descripter to reduce the"},{"line_number":27,"context_line":"            possibility of error."},{"line_number":28,"context_line":"          * Enhance the output parsing framework and assemble the logic in"},{"line_number":29,"context_line":"            VNXCliParser class."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_71c1c053","line":26,"updated":"2015-08-05 14:04:15.000000000","message":"S/descripter/descriptor","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"7cc3ef849858a11917e9061673d0ab41e3ef7be5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        Following changes are introduced by this change:"},{"line_number":24,"context_line":"          * Seperate resource property descripters to individual class"},{"line_number":25,"context_line":"            so that they are better organized."},{"line_number":26,"context_line":"          * Remove common matchers from property descripter to reduce the"},{"line_number":27,"context_line":"            possibility of error."},{"line_number":28,"context_line":"          * Enhance the output parsing framework and assemble the logic in"},{"line_number":29,"context_line":"            VNXCliParser class."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_039909c4","line":26,"in_reply_to":"1a4dcd0f_71c1c053","updated":"2015-08-05 16:36:18.000000000","message":"Done","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"a7ce9ecc906551a1d213dd60d812beb55944d93c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"          * Enhance the output parsing framework and assemble the logic in"},{"line_number":29,"context_line":"            VNXCliParser class."},{"line_number":30,"context_line":"          * Create helper class Dict to allow access of properties with dot."},{"line_number":31,"context_line":"  * Reuse the logic in retype API when LUN type and volume type doesn\u0027t match."},{"line_number":32,"context_line":"  * Add API level unit test for the retype logic."},{"line_number":33,"context_line":"  * Add unit test for all refactoring."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba15a1d1_17adce83","line":31,"updated":"2015-09-23 06:35:19.000000000","message":"Subsequent lines should be wrapped at 72 characters.\nPlease check it at other places too in commit message","commit_id":"5110a525f9cfda13ee68f7d10b26abd0681d965c"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"370ff0be65f1f62d7b5726f80478e8d1fef306a1","unresolved":false,"context_lines":[{"line_number":28,"context_line":"          * Enhance the output parsing framework and assemble the logic in"},{"line_number":29,"context_line":"            VNXCliParser class."},{"line_number":30,"context_line":"          * Create helper class Dict to allow access of properties with dot."},{"line_number":31,"context_line":"  * Reuse the logic in retype API when LUN type and volume type doesn\u0027t match."},{"line_number":32,"context_line":"  * Add API level unit test for the retype logic."},{"line_number":33,"context_line":"  * Add unit test for all refactoring."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba15a1d1_d778b6c6","line":31,"in_reply_to":"ba15a1d1_17adce83","updated":"2015-09-23 06:54:27.000000000","message":"Done","commit_id":"5110a525f9cfda13ee68f7d10b26abd0681d965c"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a3f2f4db2fb15e1b4c9fa8cd380906013fe59dc2","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            dot."},{"line_number":34,"context_line":"  * Reuse the logic in retype API when LUN type and volume type doesn\u0027t"},{"line_number":35,"context_line":"    match."},{"line_number":36,"context_line":"  * Add API level unit test for the retype logic."},{"line_number":37,"context_line":"  * Add unit test for all refactoring."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Closes-Bug: #1480851"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a26ad4f_9d56e328","line":36,"updated":"2015-10-31 14:58:55.000000000","message":"s/test/tests","commit_id":"075455dabca24976a583479e5da6dad838214933"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"dde2903647685104b2f93a400433e03a54633e95","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            dot."},{"line_number":34,"context_line":"  * Reuse the logic in retype API when LUN type and volume type doesn\u0027t"},{"line_number":35,"context_line":"    match."},{"line_number":36,"context_line":"  * Add API level unit test for the retype logic."},{"line_number":37,"context_line":"  * Add unit test for all refactoring."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Closes-Bug: #1480851"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a26ad4f_7191ab46","line":36,"in_reply_to":"1a26ad4f_9d56e328","updated":"2015-11-02 03:41:25.000000000","message":"Done","commit_id":"075455dabca24976a583479e5da6dad838214933"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a3f2f4db2fb15e1b4c9fa8cd380906013fe59dc2","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  * Reuse the logic in retype API when LUN type and volume type doesn\u0027t"},{"line_number":35,"context_line":"    match."},{"line_number":36,"context_line":"  * Add API level unit test for the retype logic."},{"line_number":37,"context_line":"  * Add unit test for all refactoring."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Closes-Bug: #1480851"},{"line_number":40,"context_line":"Change-Id: I1de604124f9896ac4762854853a6215020a459d9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a26ad4f_bd539f38","line":37,"updated":"2015-10-31 14:58:55.000000000","message":"s/test/tests","commit_id":"075455dabca24976a583479e5da6dad838214933"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"dde2903647685104b2f93a400433e03a54633e95","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  * Reuse the logic in retype API when LUN type and volume type doesn\u0027t"},{"line_number":35,"context_line":"    match."},{"line_number":36,"context_line":"  * Add API level unit test for the retype logic."},{"line_number":37,"context_line":"  * Add unit test for all refactoring."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Closes-Bug: #1480851"},{"line_number":40,"context_line":"Change-Id: I1de604124f9896ac4762854853a6215020a459d9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a26ad4f_9196c73d","line":37,"in_reply_to":"1a26ad4f_bd539f38","updated":"2015-11-02 03:41:25.000000000","message":"Done","commit_id":"075455dabca24976a583479e5da6dad838214933"}],"cinder/tests/unit/test_emc_vnxdirect.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":5594,"context_line":"        self.assertEqual(\u0027test_lun\u0027, parsed.lun_name)"},{"line_number":5595,"context_line":"        self.assertEqual(19, parsed.lun_id)"},{"line_number":5596,"context_line":"        self.assertEqual(1.0, parsed.total_capacity_gb)"},{"line_number":5597,"context_line":"        self.assertEqual(True, parsed.is_thin_lun)"},{"line_number":5598,"context_line":"        self.assertEqual(False, parsed.is_compressed)"},{"line_number":5599,"context_line":"        self.assertEqual(False, parsed.dedup_state)"},{"line_number":5600,"context_line":"        self.assertEqual(\u0027No Movement\u0027, parsed.tiering_policy)"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_c898c977","line":5597,"updated":"2015-09-07 01:48:45.000000000","message":"Use assertTrue().","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":5594,"context_line":"        self.assertEqual(\u0027test_lun\u0027, parsed.lun_name)"},{"line_number":5595,"context_line":"        self.assertEqual(19, parsed.lun_id)"},{"line_number":5596,"context_line":"        self.assertEqual(1.0, parsed.total_capacity_gb)"},{"line_number":5597,"context_line":"        self.assertEqual(True, parsed.is_thin_lun)"},{"line_number":5598,"context_line":"        self.assertEqual(False, parsed.is_compressed)"},{"line_number":5599,"context_line":"        self.assertEqual(False, parsed.dedup_state)"},{"line_number":5600,"context_line":"        self.assertEqual(\u0027No Movement\u0027, parsed.tiering_policy)"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_643c25c8","line":5597,"in_reply_to":"da20952f_c898c977","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":5595,"context_line":"        self.assertEqual(19, parsed.lun_id)"},{"line_number":5596,"context_line":"        self.assertEqual(1.0, parsed.total_capacity_gb)"},{"line_number":5597,"context_line":"        self.assertEqual(True, parsed.is_thin_lun)"},{"line_number":5598,"context_line":"        self.assertEqual(False, parsed.is_compressed)"},{"line_number":5599,"context_line":"        self.assertEqual(False, parsed.dedup_state)"},{"line_number":5600,"context_line":"        self.assertEqual(\u0027No Movement\u0027, parsed.tiering_policy)"},{"line_number":5601,"context_line":"        self.assertEqual(\u0027Optimize Pool\u0027, parsed.initial_tier)"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a89d5567","line":5598,"updated":"2015-09-07 01:48:45.000000000","message":"Use assertFalse().","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":5595,"context_line":"        self.assertEqual(19, parsed.lun_id)"},{"line_number":5596,"context_line":"        self.assertEqual(1.0, parsed.total_capacity_gb)"},{"line_number":5597,"context_line":"        self.assertEqual(True, parsed.is_thin_lun)"},{"line_number":5598,"context_line":"        self.assertEqual(False, parsed.is_compressed)"},{"line_number":5599,"context_line":"        self.assertEqual(False, parsed.dedup_state)"},{"line_number":5600,"context_line":"        self.assertEqual(\u0027No Movement\u0027, parsed.tiering_policy)"},{"line_number":5601,"context_line":"        self.assertEqual(\u0027Optimize Pool\u0027, parsed.initial_tier)"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_8437f9e1","line":5598,"in_reply_to":"da20952f_a89d5567","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":5596,"context_line":"        self.assertEqual(1.0, parsed.total_capacity_gb)"},{"line_number":5597,"context_line":"        self.assertEqual(True, parsed.is_thin_lun)"},{"line_number":5598,"context_line":"        self.assertEqual(False, parsed.is_compressed)"},{"line_number":5599,"context_line":"        self.assertEqual(False, parsed.dedup_state)"},{"line_number":5600,"context_line":"        self.assertEqual(\u0027No Movement\u0027, parsed.tiering_policy)"},{"line_number":5601,"context_line":"        self.assertEqual(\u0027Optimize Pool\u0027, parsed.initial_tier)"},{"line_number":5602,"context_line":"        self.assertIsNone(parsed[\u0027state\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_688add1c","line":5599,"updated":"2015-09-07 01:48:45.000000000","message":"Use assertFalse().","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":5596,"context_line":"        self.assertEqual(1.0, parsed.total_capacity_gb)"},{"line_number":5597,"context_line":"        self.assertEqual(True, parsed.is_thin_lun)"},{"line_number":5598,"context_line":"        self.assertEqual(False, parsed.is_compressed)"},{"line_number":5599,"context_line":"        self.assertEqual(False, parsed.dedup_state)"},{"line_number":5600,"context_line":"        self.assertEqual(\u0027No Movement\u0027, parsed.tiering_policy)"},{"line_number":5601,"context_line":"        self.assertEqual(\u0027Optimize Pool\u0027, parsed.initial_tier)"},{"line_number":5602,"context_line":"        self.assertIsNone(parsed[\u0027state\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_2432adf2","line":5599,"in_reply_to":"da20952f_688add1c","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":5641,"context_line":"        self.assertEqual(1, pool.pool_id)"},{"line_number":5642,"context_line":"        self.assertEqual(2329.792, pool.total_capacity_gb)"},{"line_number":5643,"context_line":"        self.assertEqual(1473.623, pool.free_capacity_gb)"},{"line_number":5644,"context_line":"        self.assertEqual(None, pool.fast_cache_enabled)"},{"line_number":5645,"context_line":"        self.assertEqual(\u0027Pool4File\u0027, pool.pool_name)"},{"line_number":5646,"context_line":"        self.assertEqual(2701.767, pool.provisioned_capacity_gb)"},{"line_number":5647,"context_line":"        self.assertEqual(70, pool.pool_full_threshold)"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_48acb99e","line":5644,"updated":"2015-09-07 01:48:45.000000000","message":"Should be self.assertIsNone(poo.fast_cache_enabled).","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":5641,"context_line":"        self.assertEqual(1, pool.pool_id)"},{"line_number":5642,"context_line":"        self.assertEqual(2329.792, pool.total_capacity_gb)"},{"line_number":5643,"context_line":"        self.assertEqual(1473.623, pool.free_capacity_gb)"},{"line_number":5644,"context_line":"        self.assertEqual(None, pool.fast_cache_enabled)"},{"line_number":5645,"context_line":"        self.assertEqual(\u0027Pool4File\u0027, pool.pool_name)"},{"line_number":5646,"context_line":"        self.assertEqual(2701.767, pool.provisioned_capacity_gb)"},{"line_number":5647,"context_line":"        self.assertEqual(70, pool.pool_full_threshold)"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_c45731ff","line":5644,"in_reply_to":"da20952f_48acb99e","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"76f93058ba83ae642d3cc4b30f61a8c7223fd5b7","unresolved":false,"context_lines":[{"line_number":5410,"context_line":"class VNXLunTest(test.TestCase):"},{"line_number":5411,"context_line":"    def test_lun_id_setter_str_input(self):"},{"line_number":5412,"context_line":"        lun \u003d VNXLun()"},{"line_number":5413,"context_line":"        lun.lun_id \u003d \u00275\u0027"},{"line_number":5414,"context_line":"        self.assertEqual(5, lun.lun_id)"},{"line_number":5415,"context_line":""},{"line_number":5416,"context_line":"    def test_lun_id_setter_dict_input(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_a1b83d76","line":5413,"updated":"2015-09-17 06:10:22.000000000","message":"I do not understand the meaning of the test here:\nlun.lun_id \u003d \u00275\u0027\nthen check \nself.assertEqual(5, lun.lun_id)\n\nOf course, they will equal to each other.\n\nIt happens in all the below tests. I am not sure if you write these tests in a correct way.","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"6ac5625ac1bf6af0496838553bb2adbb872db0f8","unresolved":false,"context_lines":[{"line_number":5410,"context_line":"class VNXLunTest(test.TestCase):"},{"line_number":5411,"context_line":"    def test_lun_id_setter_str_input(self):"},{"line_number":5412,"context_line":"        lun \u003d VNXLun()"},{"line_number":5413,"context_line":"        lun.lun_id \u003d \u00275\u0027"},{"line_number":5414,"context_line":"        self.assertEqual(5, lun.lun_id)"},{"line_number":5415,"context_line":""},{"line_number":5416,"context_line":"    def test_lun_id_setter_dict_input(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_048ed778","line":5413,"in_reply_to":"ba15a1d1_a1b83d76","updated":"2015-09-17 06:21:17.000000000","message":"It\u0027s not a simple value assignment.\n\nStatement of \u0027lun_id \u003d \u0027 will be transferred to the property setter.\n\nThis test case (along with the others) is here to make sure there isn\u0027t any change (current and in the future) that in the property setter will bring any unexpected behavior.  Regarding why these property setters are needed.  I have two reasons:\n\n1.  To protect the private variables.\n\n2.  Allow value validation and multiple input types.  e.g.  We allow input of dict for some properties and it will assign the value with the value of items in that dict.\n\nHope it resolves your concern.","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"10b4badddb82b469e89b6387151c46d8f9497d41","unresolved":false,"context_lines":[{"line_number":5506,"context_line":"        lun.provision \u003d {\u0027is_thin_lun\u0027: True,"},{"line_number":5507,"context_line":"                         \u0027is_compressed\u0027: False,"},{"line_number":5508,"context_line":"                         \u0027dedup_state\u0027: False}"},{"line_number":5509,"context_line":"        self.assertEqual(VNXProvisionEnum.THIN, lun.provision)"},{"line_number":5510,"context_line":""},{"line_number":5511,"context_line":"    def test_lun_provision_compressed(self):"},{"line_number":5512,"context_line":"        lun \u003d VNXLun()"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_bb7b98f4","line":5509,"updated":"2015-09-29 12:28:42.000000000","message":"If lun.provision is the expected value, please put it as the first param of assertEqual.","commit_id":"fd8bfadaeb5f95359a00b7158fe8be9d07f2738f"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"172a2f1cc9b52588720467294574191ccd475eb6","unresolved":false,"context_lines":[{"line_number":5506,"context_line":"        lun.provision \u003d {\u0027is_thin_lun\u0027: True,"},{"line_number":5507,"context_line":"                         \u0027is_compressed\u0027: False,"},{"line_number":5508,"context_line":"                         \u0027dedup_state\u0027: False}"},{"line_number":5509,"context_line":"        self.assertEqual(VNXProvisionEnum.THIN, lun.provision)"},{"line_number":5510,"context_line":""},{"line_number":5511,"context_line":"    def test_lun_provision_compressed(self):"},{"line_number":5512,"context_line":"        lun \u003d VNXLun()"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_6ded26b6","line":5509,"in_reply_to":"9a1a9d01_bb7b98f4","updated":"2015-09-30 03:09:33.000000000","message":"\"VNXProvisionEnum.THIN\" is the expected value.","commit_id":"fd8bfadaeb5f95359a00b7158fe8be9d07f2738f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"10b4badddb82b469e89b6387151c46d8f9497d41","unresolved":false,"context_lines":[{"line_number":5513,"context_line":"        lun.provision \u003d {\u0027is_thin_lun\u0027: True,"},{"line_number":5514,"context_line":"                         \u0027is_compressed\u0027: True,"},{"line_number":5515,"context_line":"                         \u0027dedup_state\u0027: False}"},{"line_number":5516,"context_line":"        self.assertEqual(VNXProvisionEnum.COMPRESSED, lun.provision)"},{"line_number":5517,"context_line":""},{"line_number":5518,"context_line":"    def test_lun_provision_dedup(self):"},{"line_number":5519,"context_line":"        lun \u003d VNXLun()"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_3b70e80a","line":5516,"updated":"2015-09-29 12:28:42.000000000","message":"ditto","commit_id":"fd8bfadaeb5f95359a00b7158fe8be9d07f2738f"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"172a2f1cc9b52588720467294574191ccd475eb6","unresolved":false,"context_lines":[{"line_number":5513,"context_line":"        lun.provision \u003d {\u0027is_thin_lun\u0027: True,"},{"line_number":5514,"context_line":"                         \u0027is_compressed\u0027: True,"},{"line_number":5515,"context_line":"                         \u0027dedup_state\u0027: False}"},{"line_number":5516,"context_line":"        self.assertEqual(VNXProvisionEnum.COMPRESSED, lun.provision)"},{"line_number":5517,"context_line":""},{"line_number":5518,"context_line":"    def test_lun_provision_dedup(self):"},{"line_number":5519,"context_line":"        lun \u003d VNXLun()"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_cd32325e","line":5516,"in_reply_to":"9a1a9d01_3b70e80a","updated":"2015-09-30 03:09:33.000000000","message":"\"VNXProvisionEnum.COMPRESSED\" is the expected value.","commit_id":"fd8bfadaeb5f95359a00b7158fe8be9d07f2738f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"10b4badddb82b469e89b6387151c46d8f9497d41","unresolved":false,"context_lines":[{"line_number":5529,"context_line":"    def test_lun_provision_plain_str(self):"},{"line_number":5530,"context_line":"        lun \u003d VNXLun()"},{"line_number":5531,"context_line":"        lun.provision \u003d VNXProvisionEnum.DEDUPED"},{"line_number":5532,"context_line":"        self.assertEqual(VNXProvisionEnum.DEDUPED, lun.provision)"},{"line_number":5533,"context_line":""},{"line_number":5534,"context_line":"    def test_lun_tier_default(self):"},{"line_number":5535,"context_line":"        lun \u003d VNXLun()"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_5b891cc8","line":5532,"updated":"2015-09-29 12:28:42.000000000","message":"It seems like you are calling this way:\nself.assertEqual(VNXProvisionEnum.DEDUPED, VNXProvisionEnum.DEDUPED), and I don\u0027t see any meaning of doing this.","commit_id":"fd8bfadaeb5f95359a00b7158fe8be9d07f2738f"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"172a2f1cc9b52588720467294574191ccd475eb6","unresolved":false,"context_lines":[{"line_number":5529,"context_line":"    def test_lun_provision_plain_str(self):"},{"line_number":5530,"context_line":"        lun \u003d VNXLun()"},{"line_number":5531,"context_line":"        lun.provision \u003d VNXProvisionEnum.DEDUPED"},{"line_number":5532,"context_line":"        self.assertEqual(VNXProvisionEnum.DEDUPED, lun.provision)"},{"line_number":5533,"context_line":""},{"line_number":5534,"context_line":"    def test_lun_tier_default(self):"},{"line_number":5535,"context_line":"        lun \u003d VNXLun()"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_ed0e168b","line":5532,"in_reply_to":"9a1a9d01_5b891cc8","updated":"2015-09-30 03:09:33.000000000","message":"line 5531 is not a simple assignment.  It\u0027s calling the property setter.\n\nThe property setter takes different types of input.  Plain string is one of them which is tested in this case.\n\nOther input type could be dict, see case at line 5511 and line 5518.","commit_id":"fd8bfadaeb5f95359a00b7158fe8be9d07f2738f"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"df756f01d253864384e3df49e704107f14787f6b","unresolved":false,"context_lines":[{"line_number":2947,"context_line":"        \"get_volume_type_extra_specs\","},{"line_number":2948,"context_line":"        mock.Mock(return_value\u003d{}))"},{"line_number":2949,"context_line":"    def test_manage_existing(self):"},{"line_number":2950,"context_line":"        data \u003d self.testData"},{"line_number":2951,"context_line":"        lun_rename_cmd \u003d (\u0027lun\u0027, \u0027-modify\u0027, \u0027-l\u0027, data.test_lun_id,"},{"line_number":2952,"context_line":"                          \u0027-newName\u0027, \u0027vol_with_type\u0027, \u0027-o\u0027)"},{"line_number":2953,"context_line":"        lun_list_cmd \u003d data.LUN_LIST_ALL_CMD(data.test_lun_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_4a2699cf","line":2950,"updated":"2015-10-19 15:13:03.000000000","message":"Any reason we\u0027re not using data.LUN_RENAME_CMD here?","commit_id":"f44cbffd6351d84a7c863b15fca40da56460ab76"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"6144eec2264e6420ee29b1600dd5dafcfbdca5d7","unresolved":false,"context_lines":[{"line_number":2947,"context_line":"        \"get_volume_type_extra_specs\","},{"line_number":2948,"context_line":"        mock.Mock(return_value\u003d{}))"},{"line_number":2949,"context_line":"    def test_manage_existing(self):"},{"line_number":2950,"context_line":"        data \u003d self.testData"},{"line_number":2951,"context_line":"        lun_rename_cmd \u003d (\u0027lun\u0027, \u0027-modify\u0027, \u0027-l\u0027, data.test_lun_id,"},{"line_number":2952,"context_line":"                          \u0027-newName\u0027, \u0027vol_with_type\u0027, \u0027-o\u0027)"},{"line_number":2953,"context_line":"        lun_list_cmd \u003d data.LUN_LIST_ALL_CMD(data.test_lun_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_6da592b3","line":2950,"in_reply_to":"3a29b11f_4a2699cf","updated":"2015-10-20 01:54:20.000000000","message":"Good catch!  The command here is the old code while \"LUN_RENAME_CMD\" is newly added.  I failed to replace the old code here.  Updating.","commit_id":"f44cbffd6351d84a7c863b15fca40da56460ab76"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    def get_opt(cls, tier):"},{"line_number":215,"context_line":"        option_map \u003d getattr(cls, \u0027_map\u0027, None)"},{"line_number":216,"context_line":"        if option_map is None:"},{"line_number":217,"context_line":"            raise NotImplemented(\u0027option map (cls._map) is not defined.\u0027)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        ret \u003d option_map.get(tier, None)"},{"line_number":220,"context_line":"        if ret is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_424c1d70","line":217,"updated":"2015-08-04 22:19:03.000000000","message":"option -\u003e Option","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    def get_opt(cls, tier):"},{"line_number":215,"context_line":"        option_map \u003d getattr(cls, \u0027_map\u0027, None)"},{"line_number":216,"context_line":"        if option_map is None:"},{"line_number":217,"context_line":"            raise NotImplemented(\u0027option map (cls._map) is not defined.\u0027)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        ret \u003d option_map.get(tier, None)"},{"line_number":220,"context_line":"        if ret is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c0bd8069","line":217,"in_reply_to":"1a4dcd0f_424c1d70","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                    ret \u003d cls.NO_MOVE"},{"line_number":323,"context_line":"                    break"},{"line_number":324,"context_line":"        if ret is None:"},{"line_number":325,"context_line":"            raise ValueError(\u0027initial tier: {}, policy: {} is not valid.\u0027"},{"line_number":326,"context_line":"                             .format(initial, policy))"},{"line_number":327,"context_line":"        return ret"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_4263bddc","line":325,"updated":"2015-08-04 22:19:03.000000000","message":"initial -\u003e Initial","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                    ret \u003d cls.NO_MOVE"},{"line_number":323,"context_line":"                    break"},{"line_number":324,"context_line":"        if ret is None:"},{"line_number":325,"context_line":"            raise ValueError(\u0027initial tier: {}, policy: {} is not valid.\u0027"},{"line_number":326,"context_line":"                             .format(initial, policy))"},{"line_number":327,"context_line":"        return ret"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_e0c0bce2","line":325,"in_reply_to":"1a4dcd0f_4263bddc","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":362,"context_line":"                raise ValueError("},{"line_number":363,"context_line":"                    \u0027LUN number ({}) is not an integer .\u0027.format(data))"},{"line_number":364,"context_line":"        else:"},{"line_number":365,"context_line":"            raise ValueError(\u0027input type is not supported.\u0027)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        if self.lun_id \u003c 0:"},{"line_number":368,"context_line":"            raise ValueError(\u0027LUN id({}) is not valid.\u0027.format(self.lun_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_625ef913","line":365,"updated":"2015-08-04 22:19:03.000000000","message":"input -\u003e Input","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":362,"context_line":"                raise ValueError("},{"line_number":363,"context_line":"                    \u0027LUN number ({}) is not an integer .\u0027.format(data))"},{"line_number":364,"context_line":"        else:"},{"line_number":365,"context_line":"            raise ValueError(\u0027input type is not supported.\u0027)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        if self.lun_id \u003c 0:"},{"line_number":368,"context_line":"            raise ValueError(\u0027LUN id({}) is not valid.\u0027.format(self.lun_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a0bab46c","line":365,"in_reply_to":"1a4dcd0f_625ef913","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        elif isinstance(data, str):"},{"line_number":379,"context_line":"            self._pool_name \u003d data"},{"line_number":380,"context_line":"        else:"},{"line_number":381,"context_line":"            raise ValueError(\u0027input type is not supported.\u0027)"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    @property"},{"line_number":384,"context_line":"    def capacity(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_029cd5be","line":381,"updated":"2015-08-04 22:19:03.000000000","message":"input -\u003e Input","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        elif isinstance(data, str):"},{"line_number":379,"context_line":"            self._pool_name \u003d data"},{"line_number":380,"context_line":"        else:"},{"line_number":381,"context_line":"            raise ValueError(\u0027input type is not supported.\u0027)"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    @property"},{"line_number":384,"context_line":"    def capacity(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_00acc832","line":381,"in_reply_to":"1a4dcd0f_029cd5be","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":393,"context_line":"        elif isinstance(data, int):"},{"line_number":394,"context_line":"            self._capacity \u003d float(data)"},{"line_number":395,"context_line":"        else:"},{"line_number":396,"context_line":"            raise ValueError(\u0027cannot get capacity from input.\u0027)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    @property"},{"line_number":399,"context_line":"    def tier(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_8297858f","line":396,"updated":"2015-08-04 22:19:03.000000000","message":"cannot -\u003e Cannot","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":393,"context_line":"        elif isinstance(data, int):"},{"line_number":394,"context_line":"            self._capacity \u003d float(data)"},{"line_number":395,"context_line":"        else:"},{"line_number":396,"context_line":"            raise ValueError(\u0027cannot get capacity from input.\u0027)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    @property"},{"line_number":399,"context_line":"    def tier(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_e0675c23","line":396,"in_reply_to":"1a4dcd0f_8297858f","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        elif isinstance(data, str) and data in VNXTieringEnum.get_all():"},{"line_number":410,"context_line":"            self._tier \u003d data"},{"line_number":411,"context_line":"        else:"},{"line_number":412,"context_line":"            raise ValueError(\u0027input type is not supported.\u0027)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    @property"},{"line_number":415,"context_line":"    def provision(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_e2f689f8","line":412,"updated":"2015-08-04 22:19:03.000000000","message":"input -\u003e Input","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        elif isinstance(data, str) and data in VNXTieringEnum.get_all():"},{"line_number":410,"context_line":"            self._tier \u003d data"},{"line_number":411,"context_line":"        else:"},{"line_number":412,"context_line":"            raise ValueError(\u0027input type is not supported.\u0027)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    @property"},{"line_number":415,"context_line":"    def provision(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_806e98ff","line":412,"in_reply_to":"1a4dcd0f_e2f689f8","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":433,"context_line":"        elif isinstance(data, str) and data in VNXProvisionEnum.get_all():"},{"line_number":434,"context_line":"            self._provision \u003d data"},{"line_number":435,"context_line":"        else:"},{"line_number":436,"context_line":"            raise ValueError(\u0027input type is not supported.\u0027)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def update(self, data):"},{"line_number":439,"context_line":"        self.lun_id \u003d data"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_42e89d10","line":436,"updated":"2015-08-04 22:19:03.000000000","message":"input -\u003e Input","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":433,"context_line":"        elif isinstance(data, str) and data in VNXProvisionEnum.get_all():"},{"line_number":434,"context_line":"            self._provision \u003d data"},{"line_number":435,"context_line":"        else:"},{"line_number":436,"context_line":"            raise ValueError(\u0027input type is not supported.\u0027)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def update(self, data):"},{"line_number":439,"context_line":"        self.lun_id \u003d data"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a07154e2","line":436,"in_reply_to":"1a4dcd0f_42e89d10","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"7f2020960c84407aee624edcec84d54cf441c55c","unresolved":false,"context_lines":[{"line_number":3587,"context_line":"        lun_id \u003d self._get_lun_id(manage_existing_ref)"},{"line_number":3588,"context_line":""},{"line_number":3589,"context_line":"        specs \u003d self.get_volumetype_extraspecs(volume)"},{"line_number":3590,"context_line":"        LOG.debug(\u0027specs of the volume is: %s\u0027, specs)"},{"line_number":3591,"context_line":""},{"line_number":3592,"context_line":"        host \u003d volume[\u0027host\u0027]"},{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a2ac0136","line":3590,"updated":"2015-08-04 22:56:08.000000000","message":"EOL \".\"","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":3587,"context_line":"        lun_id \u003d self._get_lun_id(manage_existing_ref)"},{"line_number":3588,"context_line":""},{"line_number":3589,"context_line":"        specs \u003d self.get_volumetype_extraspecs(volume)"},{"line_number":3590,"context_line":"        LOG.debug(\u0027specs of the volume is: %s\u0027, specs)"},{"line_number":3591,"context_line":""},{"line_number":3592,"context_line":"        host \u003d volume[\u0027host\u0027]"},{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_223b119e","line":3590,"updated":"2015-08-04 22:19:03.000000000","message":"specs -\u003e Specs","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3587,"context_line":"        lun_id \u003d self._get_lun_id(manage_existing_ref)"},{"line_number":3588,"context_line":""},{"line_number":3589,"context_line":"        specs \u003d self.get_volumetype_extraspecs(volume)"},{"line_number":3590,"context_line":"        LOG.debug(\u0027specs of the volume is: %s\u0027, specs)"},{"line_number":3591,"context_line":""},{"line_number":3592,"context_line":"        host \u003d volume[\u0027host\u0027]"},{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_605b4c55","line":3590,"in_reply_to":"1a4dcd0f_223b119e","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3587,"context_line":"        lun_id \u003d self._get_lun_id(manage_existing_ref)"},{"line_number":3588,"context_line":""},{"line_number":3589,"context_line":"        specs \u003d self.get_volumetype_extraspecs(volume)"},{"line_number":3590,"context_line":"        LOG.debug(\u0027specs of the volume is: %s\u0027, specs)"},{"line_number":3591,"context_line":""},{"line_number":3592,"context_line":"        host \u003d volume[\u0027host\u0027]"},{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_005a884f","line":3590,"in_reply_to":"1a4dcd0f_a2ac0136","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"7f2020960c84407aee624edcec84d54cf441c55c","unresolved":false,"context_lines":[{"line_number":3590,"context_line":"        LOG.debug(\u0027specs of the volume is: %s\u0027, specs)"},{"line_number":3591,"context_line":""},{"line_number":3592,"context_line":"        host \u003d volume[\u0027host\u0027]"},{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        tar_pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3596,"context_line":"        LOG.debug(\"target pool of LUN to manage is: %s\", tar_pool)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_42abbd1d","line":3593,"updated":"2015-08-04 22:56:08.000000000","message":"EOL \".\"","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":3590,"context_line":"        LOG.debug(\u0027specs of the volume is: %s\u0027, specs)"},{"line_number":3591,"context_line":""},{"line_number":3592,"context_line":"        host \u003d volume[\u0027host\u0027]"},{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        tar_pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3596,"context_line":"        LOG.debug(\"target pool of LUN to manage is: %s\", tar_pool)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c2410d0d","line":3593,"updated":"2015-08-04 22:19:03.000000000","message":"host -\u003e Host","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3590,"context_line":"        LOG.debug(\u0027specs of the volume is: %s\u0027, specs)"},{"line_number":3591,"context_line":""},{"line_number":3592,"context_line":"        host \u003d volume[\u0027host\u0027]"},{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        tar_pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3596,"context_line":"        LOG.debug(\"target pool of LUN to manage is: %s\", tar_pool)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_e0351cf7","line":3593,"in_reply_to":"1a4dcd0f_42abbd1d","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3590,"context_line":"        LOG.debug(\u0027specs of the volume is: %s\u0027, specs)"},{"line_number":3591,"context_line":""},{"line_number":3592,"context_line":"        host \u003d volume[\u0027host\u0027]"},{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        tar_pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3596,"context_line":"        LOG.debug(\"target pool of LUN to manage is: %s\", tar_pool)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c0326010","line":3593,"in_reply_to":"1a4dcd0f_c2410d0d","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"7f2020960c84407aee624edcec84d54cf441c55c","unresolved":false,"context_lines":[{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        tar_pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3596,"context_line":"        LOG.debug(\"target pool of LUN to manage is: %s\", tar_pool)"},{"line_number":3597,"context_line":""},{"line_number":3598,"context_line":"        tar_type, tar_tier \u003d self._get_extra_spec_value(specs)"},{"line_number":3599,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_22679126","line":3596,"updated":"2015-08-04 22:56:08.000000000","message":"EOL \".\"","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        tar_pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3596,"context_line":"        LOG.debug(\"target pool of LUN to manage is: %s\", tar_pool)"},{"line_number":3597,"context_line":""},{"line_number":3598,"context_line":"        tar_type, tar_tier \u003d self._get_extra_spec_value(specs)"},{"line_number":3599,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_42565dd3","line":3596,"updated":"2015-08-04 22:19:03.000000000","message":"target -\u003e Target","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        tar_pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3596,"context_line":"        LOG.debug(\"target pool of LUN to manage is: %s\", tar_pool)"},{"line_number":3597,"context_line":""},{"line_number":3598,"context_line":"        tar_type, tar_tier \u003d self._get_extra_spec_value(specs)"},{"line_number":3599,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a03f14d5","line":3596,"in_reply_to":"1a4dcd0f_22679126","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3593,"context_line":"        LOG.debug(\u0027host of the volume is: %s\u0027, host)"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        tar_pool \u003d vol_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3596,"context_line":"        LOG.debug(\"target pool of LUN to manage is: %s\", tar_pool)"},{"line_number":3597,"context_line":""},{"line_number":3598,"context_line":"        tar_type, tar_tier \u003d self._get_extra_spec_value(specs)"},{"line_number":3599,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_803c58e3","line":3596,"in_reply_to":"1a4dcd0f_42565dd3","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"7f2020960c84407aee624edcec84d54cf441c55c","unresolved":false,"context_lines":[{"line_number":3597,"context_line":""},{"line_number":3598,"context_line":"        tar_type, tar_tier \u003d self._get_extra_spec_value(specs)"},{"line_number":3599,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"},{"line_number":3600,"context_line":"        LOG.debug(\"LUN to manage: %s\", vnx_lun)"},{"line_number":3601,"context_line":"        LOG.debug(\"Target info: pool: %s, type: %s, tier: %s\","},{"line_number":3602,"context_line":"                  tar_pool, tar_type, tar_tier)"},{"line_number":3603,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_8278e5c5","line":3600,"updated":"2015-08-04 22:56:08.000000000","message":"EOL \".\"","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3597,"context_line":""},{"line_number":3598,"context_line":"        tar_type, tar_tier \u003d self._get_extra_spec_value(specs)"},{"line_number":3599,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"},{"line_number":3600,"context_line":"        LOG.debug(\"LUN to manage: %s\", vnx_lun)"},{"line_number":3601,"context_line":"        LOG.debug(\"Target info: pool: %s, type: %s, tier: %s\","},{"line_number":3602,"context_line":"                  tar_pool, tar_type, tar_tier)"},{"line_number":3603,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_00312805","line":3600,"in_reply_to":"1a4dcd0f_8278e5c5","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"7f2020960c84407aee624edcec84d54cf441c55c","unresolved":false,"context_lines":[{"line_number":3599,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"},{"line_number":3600,"context_line":"        LOG.debug(\"LUN to manage: %s\", vnx_lun)"},{"line_number":3601,"context_line":"        LOG.debug(\"Target info: pool: %s, type: %s, tier: %s\","},{"line_number":3602,"context_line":"                  tar_pool, tar_type, tar_tier)"},{"line_number":3603,"context_line":""},{"line_number":3604,"context_line":"        do_migration \u003d (tar_type is not None"},{"line_number":3605,"context_line":"                        and tar_type !\u003d vnx_lun.provision"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a273a1e6","line":3602,"updated":"2015-08-04 22:56:08.000000000","message":"EOL \".\"","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3599,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"},{"line_number":3600,"context_line":"        LOG.debug(\"LUN to manage: %s\", vnx_lun)"},{"line_number":3601,"context_line":"        LOG.debug(\"Target info: pool: %s, type: %s, tier: %s\","},{"line_number":3602,"context_line":"                  tar_pool, tar_type, tar_tier)"},{"line_number":3603,"context_line":""},{"line_number":3604,"context_line":"        do_migration \u003d (tar_type is not None"},{"line_number":3605,"context_line":"                        and tar_type !\u003d vnx_lun.provision"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c019008a","line":3602,"in_reply_to":"1a4dcd0f_a273a1e6","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":3610,"context_line":""},{"line_number":3611,"context_line":"        reason \u003d None"},{"line_number":3612,"context_line":"        if do_migration:"},{"line_number":3613,"context_line":"            LOG.debug(\"need migration during manage.\")"},{"line_number":3614,"context_line":"            if client.check_lun_has_snap(lun_id):"},{"line_number":3615,"context_line":"                reason \u003d _(\u0027Driver is not able to do retype because\u0027"},{"line_number":3616,"context_line":"                           \u0027 the volume (LUN {}) has snapshot which is \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_025ff5e5","line":3613,"updated":"2015-08-04 22:19:03.000000000","message":"need -\u003e Need","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3610,"context_line":""},{"line_number":3611,"context_line":"        reason \u003d None"},{"line_number":3612,"context_line":"        if do_migration:"},{"line_number":3613,"context_line":"            LOG.debug(\"need migration during manage.\")"},{"line_number":3614,"context_line":"            if client.check_lun_has_snap(lun_id):"},{"line_number":3615,"context_line":"                reason \u003d _(\u0027Driver is not able to do retype because\u0027"},{"line_number":3616,"context_line":"                           \u0027 the volume (LUN {}) has snapshot which is \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_400e503c","line":3613,"in_reply_to":"1a4dcd0f_025ff5e5","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"7f2020960c84407aee624edcec84d54cf441c55c","unresolved":false,"context_lines":[{"line_number":3612,"context_line":"        if do_migration:"},{"line_number":3613,"context_line":"            LOG.debug(\"need migration during manage.\")"},{"line_number":3614,"context_line":"            if client.check_lun_has_snap(lun_id):"},{"line_number":3615,"context_line":"                reason \u003d _(\u0027Driver is not able to do retype because\u0027"},{"line_number":3616,"context_line":"                           \u0027 the volume (LUN {}) has snapshot which is \u0027"},{"line_number":3617,"context_line":"                           \u0027forbidden to migrate.\u0027).format(lun_id)"},{"line_number":3618,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_5dd71ced","line":3615,"updated":"2015-08-04 22:56:08.000000000","message":"For this reason you should raise Backend Exception, as this is a backend constrain","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3612,"context_line":"        if do_migration:"},{"line_number":3613,"context_line":"            LOG.debug(\"need migration during manage.\")"},{"line_number":3614,"context_line":"            if client.check_lun_has_snap(lun_id):"},{"line_number":3615,"context_line":"                reason \u003d _(\u0027Driver is not able to do retype because\u0027"},{"line_number":3616,"context_line":"                           \u0027 the volume (LUN {}) has snapshot which is \u0027"},{"line_number":3617,"context_line":"                           \u0027forbidden to migrate.\u0027).format(lun_id)"},{"line_number":3618,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_cb004104","line":3615,"in_reply_to":"1a4dcd0f_5dd71ced","updated":"2015-08-05 03:11:55.000000000","message":"When \"reason\" is not empty, the exception will be thrown at line 3633.  Thanks.","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"7f2020960c84407aee624edcec84d54cf441c55c","unresolved":false,"context_lines":[{"line_number":3622,"context_line":"                                                    specs,"},{"line_number":3623,"context_line":"                                                    src_id\u003dlun_id)"},{"line_number":3624,"context_line":"                if not moved:"},{"line_number":3625,"context_line":"                    reason \u003d _(\u0027Storage-assisted migration failed during \u0027"},{"line_number":3626,"context_line":"                               \u0027manage volume.\u0027)"},{"line_number":3627,"context_line":""},{"line_number":3628,"context_line":"        if reason is None and change_tier:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_bd0c2095","line":3625,"updated":"2015-08-04 22:56:08.000000000","message":"Similarly. Backend Exception","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3622,"context_line":"                                                    specs,"},{"line_number":3623,"context_line":"                                                    src_id\u003dlun_id)"},{"line_number":3624,"context_line":"                if not moved:"},{"line_number":3625,"context_line":"                    reason \u003d _(\u0027Storage-assisted migration failed during \u0027"},{"line_number":3626,"context_line":"                               \u0027manage volume.\u0027)"},{"line_number":3627,"context_line":""},{"line_number":3628,"context_line":"        if reason is None and change_tier:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_aba935e1","line":3625,"in_reply_to":"1a4dcd0f_bd0c2095","updated":"2015-08-05 03:11:55.000000000","message":"When \"reason\" is not empty, the exception will be thrown at line 3633.  Thanks.","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"7f2020960c84407aee624edcec84d54cf441c55c","unresolved":false,"context_lines":[{"line_number":3626,"context_line":"                               \u0027manage volume.\u0027)"},{"line_number":3627,"context_line":""},{"line_number":3628,"context_line":"        if reason is None and change_tier:"},{"line_number":3629,"context_line":"            LOG.debug(\u0027change LUN tier policy to: %s\u0027, tar_tier)"},{"line_number":3630,"context_line":"            client.modify_lun_tiering_by_id(lun_id, tar_tier)"},{"line_number":3631,"context_line":""},{"line_number":3632,"context_line":"        if reason is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_fd9b88c7","line":3629,"updated":"2015-08-04 22:56:08.000000000","message":"EOL \".\"","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"2f37cd040b269ee1d2c594b4b72a80e8d848eff8","unresolved":false,"context_lines":[{"line_number":3626,"context_line":"                               \u0027manage volume.\u0027)"},{"line_number":3627,"context_line":""},{"line_number":3628,"context_line":"        if reason is None and change_tier:"},{"line_number":3629,"context_line":"            LOG.debug(\u0027change LUN tier policy to: %s\u0027, tar_tier)"},{"line_number":3630,"context_line":"            client.modify_lun_tiering_by_id(lun_id, tar_tier)"},{"line_number":3631,"context_line":""},{"line_number":3632,"context_line":"        if reason is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_82730580","line":3629,"updated":"2015-08-04 22:19:03.000000000","message":"change -\u003e Change","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3626,"context_line":"                               \u0027manage volume.\u0027)"},{"line_number":3627,"context_line":""},{"line_number":3628,"context_line":"        if reason is None and change_tier:"},{"line_number":3629,"context_line":"            LOG.debug(\u0027change LUN tier policy to: %s\u0027, tar_tier)"},{"line_number":3630,"context_line":"            client.modify_lun_tiering_by_id(lun_id, tar_tier)"},{"line_number":3631,"context_line":""},{"line_number":3632,"context_line":"        if reason is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_4bb19146","line":3629,"in_reply_to":"1a4dcd0f_82730580","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"c51109009d4f0476dadd780484b121a3f9376a59","unresolved":false,"context_lines":[{"line_number":3626,"context_line":"                               \u0027manage volume.\u0027)"},{"line_number":3627,"context_line":""},{"line_number":3628,"context_line":"        if reason is None and change_tier:"},{"line_number":3629,"context_line":"            LOG.debug(\u0027change LUN tier policy to: %s\u0027, tar_tier)"},{"line_number":3630,"context_line":"            client.modify_lun_tiering_by_id(lun_id, tar_tier)"},{"line_number":3631,"context_line":""},{"line_number":3632,"context_line":"        if reason is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_6bac8ded","line":3629,"in_reply_to":"1a4dcd0f_fd9b88c7","updated":"2015-08-05 03:11:55.000000000","message":"Done","commit_id":"678069322fb3b0e3457ed14d5eca4d0f08191107"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"92175f8c6dda2d285e32b34083990fb19c50cf27","unresolved":false,"context_lines":[{"line_number":360,"context_line":"                self._lun_id \u003d int(data)"},{"line_number":361,"context_line":"            except ValueError:"},{"line_number":362,"context_line":"                raise ValueError("},{"line_number":363,"context_line":"                    \u0027LUN number ({}) is not an integer .\u0027.format(data))"},{"line_number":364,"context_line":"        else:"},{"line_number":365,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":366,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_c5a80e7a","line":363,"updated":"2015-08-05 15:08:01.000000000","message":"Remove extra space between \"integer\" and period at EOL.","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"97c1f8c2e81f21e0a0e984c791938e15af582751","unresolved":false,"context_lines":[{"line_number":360,"context_line":"                self._lun_id \u003d int(data)"},{"line_number":361,"context_line":"            except ValueError:"},{"line_number":362,"context_line":"                raise ValueError("},{"line_number":363,"context_line":"                    \u0027LUN number ({}) is not an integer .\u0027.format(data))"},{"line_number":364,"context_line":"        else:"},{"line_number":365,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":366,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_c35321e1","line":363,"in_reply_to":"1a4dcd0f_c5a80e7a","updated":"2015-08-05 16:39:49.000000000","message":"Done","commit_id":"3fc4f4c60c79d3f5f0e17bb3dc28859f7bce9feb"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":215,"context_line":"    def get_opt(cls, tier):"},{"line_number":216,"context_line":"        option_map \u003d getattr(cls, \u0027_map\u0027, None)"},{"line_number":217,"context_line":"        if option_map is None:"},{"line_number":218,"context_line":"            raise NotImplementedError(\u0027Option map (cls._map) is not defined.\u0027)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        ret \u003d option_map.get(tier, None)"},{"line_number":221,"context_line":"        if ret is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a8c23532","line":218,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":215,"context_line":"    def get_opt(cls, tier):"},{"line_number":216,"context_line":"        option_map \u003d getattr(cls, \u0027_map\u0027, None)"},{"line_number":217,"context_line":"        if option_map is None:"},{"line_number":218,"context_line":"            raise NotImplementedError(\u0027Option map (cls._map) is not defined.\u0027)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        ret \u003d option_map.get(tier, None)"},{"line_number":221,"context_line":"        if ret is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_0479a992","line":218,"in_reply_to":"da20952f_a8c23532","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        ret \u003d option_map.get(tier, None)"},{"line_number":221,"context_line":"        if ret is None:"},{"line_number":222,"context_line":"            raise ValueError(\"{} is not a valid option.\".format(tier))"},{"line_number":223,"context_line":"        return ret"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_c8bd29b2","line":222,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        ret \u003d option_map.get(tier, None)"},{"line_number":221,"context_line":"        if ret is None:"},{"line_number":222,"context_line":"            raise ValueError(\"{} is not a valid option.\".format(tier))"},{"line_number":223,"context_line":"        return ret"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a46b1db8","line":222,"in_reply_to":"da20952f_c8bd29b2","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                    ret \u003d k"},{"line_number":323,"context_line":"                    break"},{"line_number":324,"context_line":"                elif cls.match_option(policy, \u0027noMovement\u0027):"},{"line_number":325,"context_line":"                    \"\"\"no movement could have different initial tier\"\"\""},{"line_number":326,"context_line":"                    ret \u003d cls.NO_MOVE"},{"line_number":327,"context_line":"                    break"},{"line_number":328,"context_line":"        if ret is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_68b89dc8","line":325,"updated":"2015-09-07 01:48:45.000000000","message":"Don\u0027t make a docstring, use normal # comment.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                    ret \u003d k"},{"line_number":323,"context_line":"                    break"},{"line_number":324,"context_line":"                elif cls.match_option(policy, \u0027noMovement\u0027):"},{"line_number":325,"context_line":"                    \"\"\"no movement could have different initial tier\"\"\""},{"line_number":326,"context_line":"                    ret \u003d cls.NO_MOVE"},{"line_number":327,"context_line":"                    break"},{"line_number":328,"context_line":"        if ret is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a4a23dfa","line":325,"in_reply_to":"da20952f_68b89dc8","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":326,"context_line":"                    ret \u003d cls.NO_MOVE"},{"line_number":327,"context_line":"                    break"},{"line_number":328,"context_line":"        if ret is None:"},{"line_number":329,"context_line":"            raise ValueError(\u0027Initial tier: {}, policy: {} is not valid.\u0027"},{"line_number":330,"context_line":"                             .format(initial, policy))"},{"line_number":331,"context_line":"        return ret"},{"line_number":332,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_68df3d0d","line":329,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":326,"context_line":"                    ret \u003d cls.NO_MOVE"},{"line_number":327,"context_line":"                    break"},{"line_number":328,"context_line":"        if ret is None:"},{"line_number":329,"context_line":"            raise ValueError(\u0027Initial tier: {}, policy: {} is not valid.\u0027"},{"line_number":330,"context_line":"                             .format(initial, policy))"},{"line_number":331,"context_line":"        return ret"},{"line_number":332,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_c4a5f102","line":329,"in_reply_to":"da20952f_68df3d0d","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                self._lun_id \u003d int(data)"},{"line_number":365,"context_line":"            except ValueError:"},{"line_number":366,"context_line":"                raise ValueError("},{"line_number":367,"context_line":"                    \u0027LUN number ({}) is not an integer.\u0027.format(data))"},{"line_number":368,"context_line":"        else:"},{"line_number":369,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":370,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_88e2d1d3","line":367,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                self._lun_id \u003d int(data)"},{"line_number":365,"context_line":"            except ValueError:"},{"line_number":366,"context_line":"                raise ValueError("},{"line_number":367,"context_line":"                    \u0027LUN number ({}) is not an integer.\u0027.format(data))"},{"line_number":368,"context_line":"        else:"},{"line_number":369,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":370,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_04876961","line":367,"in_reply_to":"da20952f_88e2d1d3","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":366,"context_line":"                raise ValueError("},{"line_number":367,"context_line":"                    \u0027LUN number ({}) is not an integer.\u0027.format(data))"},{"line_number":368,"context_line":"        else:"},{"line_number":369,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"        if self.lun_id \u003c 0:"},{"line_number":372,"context_line":"            raise ValueError(\u0027LUN id({}) is not valid.\u0027.format(self.lun_id))"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_28e5c5da","line":369,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":366,"context_line":"                raise ValueError("},{"line_number":367,"context_line":"                    \u0027LUN number ({}) is not an integer.\u0027.format(data))"},{"line_number":368,"context_line":"        else:"},{"line_number":369,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"        if self.lun_id \u003c 0:"},{"line_number":372,"context_line":"            raise ValueError(\u0027LUN id({}) is not valid.\u0027.format(self.lun_id))"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_6498a5c0","line":369,"in_reply_to":"da20952f_28e5c5da","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":369,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"        if self.lun_id \u003c 0:"},{"line_number":372,"context_line":"            raise ValueError(\u0027LUN id({}) is not valid.\u0027.format(self.lun_id))"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    @property"},{"line_number":375,"context_line":"    def pool_name(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_e8d34d02","line":372,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":369,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"        if self.lun_id \u003c 0:"},{"line_number":372,"context_line":"            raise ValueError(\u0027LUN id({}) is not valid.\u0027.format(self.lun_id))"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    @property"},{"line_number":375,"context_line":"    def pool_name(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_248e2d79","line":372,"in_reply_to":"da20952f_e8d34d02","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        elif isinstance(data, str):"},{"line_number":383,"context_line":"            self._pool_name \u003d data"},{"line_number":384,"context_line":"        else:"},{"line_number":385,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"    @property"},{"line_number":388,"context_line":"    def capacity(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a8d9d523","line":385,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        elif isinstance(data, str):"},{"line_number":383,"context_line":"            self._pool_name \u003d data"},{"line_number":384,"context_line":"        else:"},{"line_number":385,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"    @property"},{"line_number":388,"context_line":"    def capacity(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_04ee8921","line":385,"in_reply_to":"da20952f_a8d9d523","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":397,"context_line":"        elif isinstance(data, int):"},{"line_number":398,"context_line":"            self._capacity \u003d float(data)"},{"line_number":399,"context_line":"        else:"},{"line_number":400,"context_line":"            raise ValueError(\u0027Cannot get capacity from input.\u0027)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    @property"},{"line_number":403,"context_line":"    def tier(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_c8d449ea","line":400,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":397,"context_line":"        elif isinstance(data, int):"},{"line_number":398,"context_line":"            self._capacity \u003d float(data)"},{"line_number":399,"context_line":"        else:"},{"line_number":400,"context_line":"            raise ValueError(\u0027Cannot get capacity from input.\u0027)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    @property"},{"line_number":403,"context_line":"    def tier(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a4f0fdfd","line":400,"in_reply_to":"da20952f_c8d449ea","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":413,"context_line":"        elif isinstance(data, str) and data in VNXTieringEnum.get_all():"},{"line_number":414,"context_line":"            self._tier \u003d data"},{"line_number":415,"context_line":"        else:"},{"line_number":416,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"    @property"},{"line_number":419,"context_line":"    def provision(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_68065d87","line":416,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":413,"context_line":"        elif isinstance(data, str) and data in VNXTieringEnum.get_all():"},{"line_number":414,"context_line":"            self._tier \u003d data"},{"line_number":415,"context_line":"        else:"},{"line_number":416,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"    @property"},{"line_number":419,"context_line":"    def provision(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_c4f3b107","line":416,"in_reply_to":"da20952f_68065d87","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":437,"context_line":"        elif isinstance(data, str) and data in VNXProvisionEnum.get_all():"},{"line_number":438,"context_line":"            self._provision \u003d data"},{"line_number":439,"context_line":"        else:"},{"line_number":440,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def update(self, data):"},{"line_number":443,"context_line":"        self.lun_id \u003d data"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_88097197","line":440,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":437,"context_line":"        elif isinstance(data, str) and data in VNXProvisionEnum.get_all():"},{"line_number":438,"context_line":"            self._provision \u003d data"},{"line_number":439,"context_line":"        else:"},{"line_number":440,"context_line":"            raise ValueError(\u0027Input type is not supported.\u0027)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def update(self, data):"},{"line_number":443,"context_line":"        self.lun_id \u003d data"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_84da9976","line":440,"in_reply_to":"da20952f_88097197","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":491,"context_line":"                value \u003d self.get(item)"},{"line_number":492,"context_line":"            else:"},{"line_number":493,"context_line":"                raise AttributeError("},{"line_number":494,"context_line":"                    \"\u0027{}\u0027 object has no attribute \u0027{}\u0027\".format("},{"line_number":495,"context_line":"                        __name__, item))"},{"line_number":496,"context_line":"            ret \u003d value"},{"line_number":497,"context_line":"        return ret"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a8f0f591","line":494,"updated":"2015-09-07 01:48:45.000000000","message":"Needs _() translation marker.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":491,"context_line":"                value \u003d self.get(item)"},{"line_number":492,"context_line":"            else:"},{"line_number":493,"context_line":"                raise AttributeError("},{"line_number":494,"context_line":"                    \"\u0027{}\u0027 object has no attribute \u0027{}\u0027\".format("},{"line_number":495,"context_line":"                        __name__, item))"},{"line_number":496,"context_line":"            ret \u003d value"},{"line_number":497,"context_line":"        return ret"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_44e00126","line":494,"in_reply_to":"da20952f_a8f0f591","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e81d7852dfd2e3f9c8dbe2facd960aca880a4f67","unresolved":false,"context_lines":[{"line_number":3755,"context_line":"        tar_type, tar_tier, snap_copy \u003d self._get_extra_spec_value(specs)"},{"line_number":3756,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"},{"line_number":3757,"context_line":"        LOG.debug(\"LUN to manage: %s.\", vnx_lun)"},{"line_number":3758,"context_line":"        LOG.debug(\"Target info: pool: %s, type: %s, tier: %s.\","},{"line_number":3759,"context_line":"                  tar_pool, tar_type, tar_tier)"},{"line_number":3760,"context_line":""},{"line_number":3761,"context_line":"        do_migration \u003d (tar_type is not None"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_083d612a","line":3758,"updated":"2015-09-07 01:48:45.000000000","message":"For multiple formatting variables, please use named positional values.","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"da7fd76f641cc1e1741f33072c95972889ec11f6","unresolved":false,"context_lines":[{"line_number":3755,"context_line":"        tar_type, tar_tier, snap_copy \u003d self._get_extra_spec_value(specs)"},{"line_number":3756,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"},{"line_number":3757,"context_line":"        LOG.debug(\"LUN to manage: %s.\", vnx_lun)"},{"line_number":3758,"context_line":"        LOG.debug(\"Target info: pool: %s, type: %s, tier: %s.\","},{"line_number":3759,"context_line":"                  tar_pool, tar_type, tar_tier)"},{"line_number":3760,"context_line":""},{"line_number":3761,"context_line":"        do_migration \u003d (tar_type is not None"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a4c79d96","line":3758,"in_reply_to":"da20952f_083d612a","updated":"2015-09-08 04:16:59.000000000","message":"Done","commit_id":"53c7bef28dc0b3ccd693765ac4f81e4504e41b14"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"5833d2ae134fce0a1e7ff509ed66da98132d6c61","unresolved":false,"context_lines":[{"line_number":218,"context_line":"            raise NotImplementedError("},{"line_number":219,"context_line":"                _(\u0027Option map (cls._map) is not defined.\u0027))"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        ret \u003d option_map.get(tier, None)"},{"line_number":222,"context_line":"        if ret is None:"},{"line_number":223,"context_line":"            raise ValueError(_(\"{} is not a valid option.\").format(tier))"},{"line_number":224,"context_line":"        return ret"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_963f1db5","line":221,"updated":"2015-09-08 13:42:12.000000000","message":"Just use option_map.get(tier) and it will automatically return None if \"tier\" not in option_map.","commit_id":"4595345b62366859d37ca32a3f0a2b0e8bb164f1"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"f7b1d2d0c3d0903bf963a9973d96daf644617f35","unresolved":false,"context_lines":[{"line_number":218,"context_line":"            raise NotImplementedError("},{"line_number":219,"context_line":"                _(\u0027Option map (cls._map) is not defined.\u0027))"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        ret \u003d option_map.get(tier, None)"},{"line_number":222,"context_line":"        if ret is None:"},{"line_number":223,"context_line":"            raise ValueError(_(\"{} is not a valid option.\").format(tier))"},{"line_number":224,"context_line":"        return ret"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_6d35b4a6","line":221,"in_reply_to":"da20952f_963f1db5","updated":"2015-09-09 06:19:03.000000000","message":"Done","commit_id":"4595345b62366859d37ca32a3f0a2b0e8bb164f1"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"5833d2ae134fce0a1e7ff509ed66da98132d6c61","unresolved":false,"context_lines":[{"line_number":2561,"context_line":""},{"line_number":2562,"context_line":"        specs \u003d None"},{"line_number":2563,"context_line":"        if new_type is not None:"},{"line_number":2564,"context_line":"            specs \u003d new_type.get(\u0027extra_specs\u0027, None)"},{"line_number":2565,"context_line":""},{"line_number":2566,"context_line":"        return self._migrate_volume(volume, target_pool_name, specs)"},{"line_number":2567,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_768b6969","line":2564,"updated":"2015-09-08 13:42:12.000000000","message":"ditto","commit_id":"4595345b62366859d37ca32a3f0a2b0e8bb164f1"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"f7b1d2d0c3d0903bf963a9973d96daf644617f35","unresolved":false,"context_lines":[{"line_number":2561,"context_line":""},{"line_number":2562,"context_line":"        specs \u003d None"},{"line_number":2563,"context_line":"        if new_type is not None:"},{"line_number":2564,"context_line":"            specs \u003d new_type.get(\u0027extra_specs\u0027, None)"},{"line_number":2565,"context_line":""},{"line_number":2566,"context_line":"        return self._migrate_volume(volume, target_pool_name, specs)"},{"line_number":2567,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_4dcd50b6","line":2564,"in_reply_to":"da20952f_768b6969","updated":"2015-09-09 06:19:03.000000000","message":"Done","commit_id":"4595345b62366859d37ca32a3f0a2b0e8bb164f1"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"5833d2ae134fce0a1e7ff509ed66da98132d6c61","unresolved":false,"context_lines":[{"line_number":2642,"context_line":"            if is_valid:"},{"line_number":2643,"context_line":"                specs \u003d None"},{"line_number":2644,"context_line":"                if new_type is not None:"},{"line_number":2645,"context_line":"                    specs \u003d new_type.get(\u0027extra_specs\u0027, None)"},{"line_number":2646,"context_line":"                moved, model_update \u003d self._migrate_volume("},{"line_number":2647,"context_line":"                    volume, target_pool_name, specs)"},{"line_number":2648,"context_line":"                if moved:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_b6d82181","line":2645,"updated":"2015-09-08 13:42:12.000000000","message":"ditto","commit_id":"4595345b62366859d37ca32a3f0a2b0e8bb164f1"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"f7b1d2d0c3d0903bf963a9973d96daf644617f35","unresolved":false,"context_lines":[{"line_number":2642,"context_line":"            if is_valid:"},{"line_number":2643,"context_line":"                specs \u003d None"},{"line_number":2644,"context_line":"                if new_type is not None:"},{"line_number":2645,"context_line":"                    specs \u003d new_type.get(\u0027extra_specs\u0027, None)"},{"line_number":2646,"context_line":"                moved, model_update \u003d self._migrate_volume("},{"line_number":2647,"context_line":"                    volume, target_pool_name, specs)"},{"line_number":2648,"context_line":"                if moved:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_edc22486","line":2645,"in_reply_to":"da20952f_b6d82181","updated":"2015-09-09 06:19:03.000000000","message":"Done","commit_id":"4595345b62366859d37ca32a3f0a2b0e8bb164f1"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"76f93058ba83ae642d3cc4b30f61a8c7223fd5b7","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"class PropertyDescriptor(object):"},{"line_number":176,"context_line":"    def __init__(self, option, label, key\u003dNone, converter\u003dNone):"},{"line_number":177,"context_line":"        self.option \u003d option"},{"line_number":178,"context_line":"        self._label \u003d None"},{"line_number":179,"context_line":"        self._key \u003d key"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_81573959","line":176,"updated":"2015-09-17 06:10:22.000000000","message":"If the param \u0027label\u0027 is not used any more, why do you keep it here?","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"6ac5625ac1bf6af0496838553bb2adbb872db0f8","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"class PropertyDescriptor(object):"},{"line_number":176,"context_line":"    def __init__(self, option, label, key\u003dNone, converter\u003dNone):"},{"line_number":177,"context_line":"        self.option \u003d option"},{"line_number":178,"context_line":"        self._label \u003d None"},{"line_number":179,"context_line":"        self._key \u003d key"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_043257f2","line":176,"in_reply_to":"ba15a1d1_81573959","updated":"2015-09-17 06:21:17.000000000","message":"Sorry, you confuse me.  \u0027label\u0027 is used.  See line 182.","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"54c10b227729ed418922d66810071a4f0e752040","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        self._key \u003d key"},{"line_number":180,"context_line":"        self.converter \u003d converter"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        self.label \u003d label"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    @property"},{"line_number":185,"context_line":"    def label(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_c3025909","line":182,"updated":"2015-09-22 15:19:54.000000000","message":"I\u0027m still new to properties, so ignore if this is not correct - but can we get rid of the variable definition \"self.label\" because on line 184, 190 we create the getter/setter mapping to \"self._label\", so any reference to \"self.label\" should actually just go to the setter/getter and reference self._label?","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"c0a0de53ff3fc8fac6a303e01e5f468a28656f26","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        self._key \u003d key"},{"line_number":180,"context_line":"        self.converter \u003d converter"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        self.label \u003d label"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    @property"},{"line_number":185,"context_line":"    def label(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_24e206a1","line":182,"in_reply_to":"ba15a1d1_0e57ff5a","updated":"2015-09-23 18:15:11.000000000","message":"Thanks for the explanation Cedric. Initially I was wondering why we don\u0027t just set \"self._label \u003d label\" on line 178, but now it makes sense as the setter has additional parsing logic.\n\nNot sure if we can get rid of line 178 since line 182 will be setting self._label anyway","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"4be922ffd5154c0082b9106162d72ede2fe03595","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        self._key \u003d key"},{"line_number":180,"context_line":"        self.converter \u003d converter"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        self.label \u003d label"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    @property"},{"line_number":185,"context_line":"    def label(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_d3d97557","line":182,"in_reply_to":"ba15a1d1_24e206a1","updated":"2015-09-24 06:22:59.000000000","message":"Hi Ryan,\n\nI would hope to get rid of line 178 as well.  If I remove this line, it still works.  But some code practice says instance attribute should be defined within \"__init__\".  So I would keep this line just to align with this practice as much as possible.","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"3ea8e142f960d919a615a52c041f9b47c78e96dc","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        self._key \u003d key"},{"line_number":180,"context_line":"        self.converter \u003d converter"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        self.label \u003d label"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    @property"},{"line_number":185,"context_line":"    def label(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_0e57ff5a","line":182,"in_reply_to":"ba15a1d1_c3025909","updated":"2015-09-23 03:20:21.000000000","message":"Hi Ryan,\n\nThis is not a variable definition of \"self.lable\".  It\u0027s actually calling the \"@label.setter\" function.  So this line means take parameter \"label\" and pass it to the setter function of \"label\".","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"54c10b227729ed418922d66810071a4f0e752040","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            is_thin \u003d self._get(data, self._const.LUN_IS_THIN_LUN)"},{"line_number":429,"context_line":"            is_compressed \u003d self._get(data, self._const.LUN_IS_COMPRESSED)"},{"line_number":430,"context_line":"            is_dedup \u003d self._get(data, self._const.LUN_DEDUP_STATE)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            self._provision \u003d VNXProvisionEnum.THICK"},{"line_number":433,"context_line":"            if is_thin:"},{"line_number":434,"context_line":"                self._provision \u003d VNXProvisionEnum.THIN"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_a3ff2500","line":431,"updated":"2015-09-22 15:19:54.000000000","message":"We just have an \"if not is_thin\" to set to THICK rather then setting and resetting since we\u0027re already defaulting this value to THIN on line 426","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"3ea8e142f960d919a615a52c041f9b47c78e96dc","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            is_thin \u003d self._get(data, self._const.LUN_IS_THIN_LUN)"},{"line_number":429,"context_line":"            is_compressed \u003d self._get(data, self._const.LUN_IS_COMPRESSED)"},{"line_number":430,"context_line":"            is_dedup \u003d self._get(data, self._const.LUN_DEDUP_STATE)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            self._provision \u003d VNXProvisionEnum.THICK"},{"line_number":433,"context_line":"            if is_thin:"},{"line_number":434,"context_line":"                self._provision \u003d VNXProvisionEnum.THIN"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_6e9b1b19","line":431,"in_reply_to":"ba15a1d1_a3ff2500","updated":"2015-09-23 03:20:21.000000000","message":"Thanks for the comment.  The default value should be \"THICK\" so set \"_provision\" to \"THIN\" at the beginning of this function doesn\u0027t make sense.\nI am changing the first line in this function to \"THICK\" and removing line 432.","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"54c10b227729ed418922d66810071a4f0e752040","unresolved":false,"context_lines":[{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            self._provision \u003d VNXProvisionEnum.THICK"},{"line_number":433,"context_line":"            if is_thin:"},{"line_number":434,"context_line":"                self._provision \u003d VNXProvisionEnum.THIN"},{"line_number":435,"context_line":"            if is_compressed:"},{"line_number":436,"context_line":"                self._provision \u003d VNXProvisionEnum.COMPRESSED"},{"line_number":437,"context_line":"            elif is_dedup:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_c315799b","line":434,"updated":"2015-09-22 15:19:54.000000000","message":"Is it ok that this is not an \"elseif\"?  Not sure if it\u0027s valid to be \"THIN\" and \"COMPRESSED\" or what the overwrite policy should be...","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"4be922ffd5154c0082b9106162d72ede2fe03595","unresolved":false,"context_lines":[{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            self._provision \u003d VNXProvisionEnum.THICK"},{"line_number":433,"context_line":"            if is_thin:"},{"line_number":434,"context_line":"                self._provision \u003d VNXProvisionEnum.THIN"},{"line_number":435,"context_line":"            if is_compressed:"},{"line_number":436,"context_line":"                self._provision \u003d VNXProvisionEnum.COMPRESSED"},{"line_number":437,"context_line":"            elif is_dedup:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_d3a735ba","line":434,"in_reply_to":"ba15a1d1_6797a090","updated":"2015-09-24 06:22:59.000000000","message":"I agree.  Updated.  Thanks for the suggestion.","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"3ea8e142f960d919a615a52c041f9b47c78e96dc","unresolved":false,"context_lines":[{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            self._provision \u003d VNXProvisionEnum.THICK"},{"line_number":433,"context_line":"            if is_thin:"},{"line_number":434,"context_line":"                self._provision \u003d VNXProvisionEnum.THIN"},{"line_number":435,"context_line":"            if is_compressed:"},{"line_number":436,"context_line":"                self._provision \u003d VNXProvisionEnum.COMPRESSED"},{"line_number":437,"context_line":"            elif is_dedup:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_eeae4b2d","line":434,"in_reply_to":"ba15a1d1_c315799b","updated":"2015-09-23 03:20:21.000000000","message":"Not an \"elif\" because \"COMPRESSED\" is also \"THIN\".","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"c0a0de53ff3fc8fac6a303e01e5f468a28656f26","unresolved":false,"context_lines":[{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            self._provision \u003d VNXProvisionEnum.THICK"},{"line_number":433,"context_line":"            if is_thin:"},{"line_number":434,"context_line":"                self._provision \u003d VNXProvisionEnum.THIN"},{"line_number":435,"context_line":"            if is_compressed:"},{"line_number":436,"context_line":"                self._provision \u003d VNXProvisionEnum.COMPRESSED"},{"line_number":437,"context_line":"            elif is_dedup:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_6797a090","line":434,"in_reply_to":"ba15a1d1_eeae4b2d","updated":"2015-09-23 18:15:11.000000000","message":"Makes sense, but couldn\u0027t we re-order to first check \"if is_compressed\", then \"elif is_dedup\", then \"elif is_thin\"?\n\nMy understanding would be the same as the current logic (since is_thin \u003d true, is_compressed \u003d false, is_dedup \u003d true would end up with the value VNXProvisionEnum.DEDUPED)\n\nJust not the easiest to follow with the overwrite logic currently","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"54c10b227729ed418922d66810071a4f0e752040","unresolved":false,"context_lines":[{"line_number":438,"context_line":"                self._provision \u003d VNXProvisionEnum.DEDUPED"},{"line_number":439,"context_line":"        elif isinstance(data, str) and data in VNXProvisionEnum.get_all():"},{"line_number":440,"context_line":"            self._provision \u003d data"},{"line_number":441,"context_line":"        else:"},{"line_number":442,"context_line":"            raise ValueError(_(\u0027Input type is not supported.\u0027))"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def update(self, data):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_630cad94","line":441,"updated":"2015-09-22 15:19:54.000000000","message":"Would it make sense to display the \"type(data)\" as part of this error message?","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"3ea8e142f960d919a615a52c041f9b47c78e96dc","unresolved":false,"context_lines":[{"line_number":438,"context_line":"                self._provision \u003d VNXProvisionEnum.DEDUPED"},{"line_number":439,"context_line":"        elif isinstance(data, str) and data in VNXProvisionEnum.get_all():"},{"line_number":440,"context_line":"            self._provision \u003d data"},{"line_number":441,"context_line":"        else:"},{"line_number":442,"context_line":"            raise ValueError(_(\u0027Input type is not supported.\u0027))"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def update(self, data):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_2e6f63fd","line":441,"in_reply_to":"ba15a1d1_630cad94","updated":"2015-09-23 03:20:21.000000000","message":"Good suggestion.  I am adding the extra info.  Thanks.","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"54c10b227729ed418922d66810071a4f0e752040","unresolved":false,"context_lines":[{"line_number":3787,"context_line":"        if reason is None and change_tier:"},{"line_number":3788,"context_line":"            LOG.debug(\u0027Change LUN tier policy to: %s.\u0027, tar_tier)"},{"line_number":3789,"context_line":"            client.modify_lun_tiering_by_id(lun_id, tar_tier)"},{"line_number":3790,"context_line":""},{"line_number":3791,"context_line":"        if reason is not None:"},{"line_number":3792,"context_line":"            raise exception.ManageExistingVolumeTypeMismatch(reason\u003dreason)"},{"line_number":3793,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_031cd1bf","line":3790,"updated":"2015-09-22 15:19:54.000000000","message":"Could re-organize this into else-if with line 3785, having this be the first check, and then line 3785 wouldn\u0027t need the \"reason is None\" part of the check","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"3ea8e142f960d919a615a52c041f9b47c78e96dc","unresolved":false,"context_lines":[{"line_number":3787,"context_line":"        if reason is None and change_tier:"},{"line_number":3788,"context_line":"            LOG.debug(\u0027Change LUN tier policy to: %s.\u0027, tar_tier)"},{"line_number":3789,"context_line":"            client.modify_lun_tiering_by_id(lun_id, tar_tier)"},{"line_number":3790,"context_line":""},{"line_number":3791,"context_line":"        if reason is not None:"},{"line_number":3792,"context_line":"            raise exception.ManageExistingVolumeTypeMismatch(reason\u003dreason)"},{"line_number":3793,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_8e2c6fad","line":3790,"in_reply_to":"ba15a1d1_031cd1bf","updated":"2015-09-23 03:20:21.000000000","message":"I think I could not do this.  Changing tier is not related to migration.\nThere are circumstances that changing tier is required but migration is not.  So I couldn\u0027t put in \"if do_migration\".","commit_id":"3df9d38592f57508287bb7c53da00457a4580f80"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"4a786fc13ae1c7b744223e6e496682c2ee1857b0","unresolved":false,"context_lines":[{"line_number":437,"context_line":"                self._provision \u003d VNXProvisionEnum.DEDUPED"},{"line_number":438,"context_line":"        elif isinstance(data, str) and data in VNXProvisionEnum.get_all():"},{"line_number":439,"context_line":"            self._provision \u003d data"},{"line_number":440,"context_line":"        else:"},{"line_number":441,"context_line":"            raise ValueError(_(\u0027Input type {} is not supported.\u0027)"},{"line_number":442,"context_line":"                             .format(type(data)))"},{"line_number":443,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_19d6434f","line":440,"updated":"2015-09-23 18:23:55.000000000","message":"Optionally could make the same update (to add the real type to the logging) to lines 370, 387 and 418, perhaps with some small helper function that raises the error","commit_id":"2d380265c4e4ec4468df79b3e929f645c3f0ccf3"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"b7881e120658492b914134df9f5098d11947524f","unresolved":false,"context_lines":[{"line_number":437,"context_line":"                self._provision \u003d VNXProvisionEnum.DEDUPED"},{"line_number":438,"context_line":"        elif isinstance(data, str) and data in VNXProvisionEnum.get_all():"},{"line_number":439,"context_line":"            self._provision \u003d data"},{"line_number":440,"context_line":"        else:"},{"line_number":441,"context_line":"            raise ValueError(_(\u0027Input type {} is not supported.\u0027)"},{"line_number":442,"context_line":"                             .format(type(data)))"},{"line_number":443,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_33955132","line":440,"in_reply_to":"ba15a1d1_19d6434f","updated":"2015-09-24 06:21:12.000000000","message":"Thanks for the suggestion.  I didn\u0027t consider too much when I address the previous comment.  Updated.","commit_id":"2d380265c4e4ec4468df79b3e929f645c3f0ccf3"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"92d94512a82b43e33f87af5446292ce4caaadb58","unresolved":false,"context_lines":[{"line_number":671,"context_line":""},{"line_number":672,"context_line":"@decorate_all_methods(log_enter_exit)"},{"line_number":673,"context_line":"class CommandLineHelper(object):"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"    # extra spec constants"},{"line_number":676,"context_line":"    tiering_spec \u003d \u0027storagetype:tiering\u0027"},{"line_number":677,"context_line":"    provisioning_specs \u003d ["}],"source_content_type":"text/x-python","patch_set":14,"id":"3a29b11f_35d0caf5","line":674,"updated":"2015-10-22 06:59:49.000000000","message":"Should we remove this blank line?","commit_id":"5245bd81d4cdeb51446a156ac47ee2e8e7a0dd4e"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"1742a7785ee6a6c749d565ba4c46146d1501809a","unresolved":false,"context_lines":[{"line_number":671,"context_line":""},{"line_number":672,"context_line":"@decorate_all_methods(log_enter_exit)"},{"line_number":673,"context_line":"class CommandLineHelper(object):"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"    # extra spec constants"},{"line_number":676,"context_line":"    tiering_spec \u003d \u0027storagetype:tiering\u0027"},{"line_number":677,"context_line":"    provisioning_specs \u003d ["}],"source_content_type":"text/x-python","patch_set":14,"id":"3a29b11f_c01e766f","line":674,"in_reply_to":"3a29b11f_35d0caf5","updated":"2015-10-22 07:36:31.000000000","message":"Done","commit_id":"5245bd81d4cdeb51446a156ac47ee2e8e7a0dd4e"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"92d94512a82b43e33f87af5446292ce4caaadb58","unresolved":false,"context_lines":[{"line_number":3762,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"},{"line_number":3763,"context_line":"        LOG.debug(\"LUN to manage: %s.\", vnx_lun)"},{"line_number":3764,"context_line":"        LOG.debug(\"Target info: pool: %(pool)s, type: %(type)s, \""},{"line_number":3765,"context_line":"                  \"tier: %(tier)s.\" % {\u0027pool\u0027: tar_pool,"},{"line_number":3766,"context_line":"                                       \u0027type\u0027: tar_type,"},{"line_number":3767,"context_line":"                                       \u0027tier\u0027: tar_tier})"},{"line_number":3768,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a29b11f_b5661a4f","line":3765,"updated":"2015-10-22 06:59:49.000000000","message":"Change \u0027%\u0027 to comma.","commit_id":"5245bd81d4cdeb51446a156ac47ee2e8e7a0dd4e"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"1742a7785ee6a6c749d565ba4c46146d1501809a","unresolved":false,"context_lines":[{"line_number":3762,"context_line":"        vnx_lun \u003d self._get_lun_pool_and_type(lun_id)"},{"line_number":3763,"context_line":"        LOG.debug(\"LUN to manage: %s.\", vnx_lun)"},{"line_number":3764,"context_line":"        LOG.debug(\"Target info: pool: %(pool)s, type: %(type)s, \""},{"line_number":3765,"context_line":"                  \"tier: %(tier)s.\" % {\u0027pool\u0027: tar_pool,"},{"line_number":3766,"context_line":"                                       \u0027type\u0027: tar_type,"},{"line_number":3767,"context_line":"                                       \u0027tier\u0027: tar_tier})"},{"line_number":3768,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a29b11f_bb05ab11","line":3765,"in_reply_to":"3a29b11f_b5661a4f","updated":"2015-10-22 07:36:31.000000000","message":"Done","commit_id":"5245bd81d4cdeb51446a156ac47ee2e8e7a0dd4e"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a3f2f4db2fb15e1b4c9fa8cd380906013fe59dc2","unresolved":false,"context_lines":[{"line_number":3781,"context_line":"                           \u0027forbidden to migrate.\u0027).format(lun_id)"},{"line_number":3782,"context_line":"            else:"},{"line_number":3783,"context_line":"                volume[\u0027size\u0027] \u003d vnx_lun.capacity"},{"line_number":3784,"context_line":"                moved, empty \u003d self._migrate_volume(volume,"},{"line_number":3785,"context_line":"                                                    tar_pool,"},{"line_number":3786,"context_line":"                                                    specs,"},{"line_number":3787,"context_line":"                                                    src_id\u003dlun_id)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a26ad4f_f8128556","line":3784,"updated":"2015-10-31 14:58:55.000000000","message":"Why should we do a migrate_volume? The manage_existing logic in vmax https://github.com/openstack/cinder/blob/master/cinder/volume/drivers/emc/emc_vmax_common.py#L4014 will raise a error but here do a migrate_volume?","commit_id":"075455dabca24976a583479e5da6dad838214933"},{"author":{"_account_id":13206,"name":"Cedric Zhuang","email":"cedric.zhuang@emc.com","username":"CedricZhuang"},"change_message_id":"dde2903647685104b2f93a400433e03a54633e95","unresolved":false,"context_lines":[{"line_number":3781,"context_line":"                           \u0027forbidden to migrate.\u0027).format(lun_id)"},{"line_number":3782,"context_line":"            else:"},{"line_number":3783,"context_line":"                volume[\u0027size\u0027] \u003d vnx_lun.capacity"},{"line_number":3784,"context_line":"                moved, empty \u003d self._migrate_volume(volume,"},{"line_number":3785,"context_line":"                                                    tar_pool,"},{"line_number":3786,"context_line":"                                                    specs,"},{"line_number":3787,"context_line":"                                                    src_id\u003dlun_id)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a26ad4f_b19d0368","line":3784,"in_reply_to":"1a26ad4f_f8128556","updated":"2015-11-02 03:41:25.000000000","message":"Hi Wilson,\n\nVNX and VMAX has different drivers.  I don\u0027t know why VMAX throw an error but I will bring this up in the team meeting within VNX to see what\u0027s the required behavior is.  The requirement I got is to migrate the LUN when a different pool is supplied.\n\nUpdate.\n\nI have discussed with the team.  It seems the implementation detail depends on each driver.  The requirement of VNX driver is to do a migration when pool is different.  Thanks.","commit_id":"075455dabca24976a583479e5da6dad838214933"}]}
