)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ca6bfd09359515f2d26ac4218d6f6454a379a7b1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Helen Walsh \u003chelen.walsh@emc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-09-01 15:25:40 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMAX driver - Removal of iscsiadm from vmax cinder"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently the controller node needs a masking view"},{"line_number":10,"context_line":"with all ports exposed. This is unnecessary overhead"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa7ab95a_74880272","line":7,"updated":"2016-09-02 00:28:11.000000000","message":"VMAX driver - Removal of iscsiadm check","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"}],"cinder/tests/unit/volume/drivers/emc/test_emc_vmax.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":1750,"context_line":"        configuration.append_config_values \u003d mock.Mock(return_value\u003d0)"},{"line_number":1751,"context_line":"        configuration.config_group \u003d \u0027ISCSINoFAST\u0027"},{"line_number":1752,"context_line":"        configuration.cinder_emc_config_file \u003d self.config_file_path"},{"line_number":1753,"context_line":"        self.stubs.Set(configuration, \u0027safe_get\u0027,"},{"line_number":1754,"context_line":"                       self.fake_safe_get({\u0027driver_use_ssl\u0027:"},{"line_number":1755,"context_line":"                                           True,"},{"line_number":1756,"context_line":"                                           \u0027volume_backend_name\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_6b4ea3c2","line":1753,"updated":"2016-09-01 02:24:15.000000000","message":"Why do you replace self.mock_object with self.stubs?  This is wrong.  We should use self.mock_object instead.  self.stubs uses mox so you should not use it any more.","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":1755,"context_line":"                                           True,"},{"line_number":1756,"context_line":"                                           \u0027volume_backend_name\u0027:"},{"line_number":1757,"context_line":"                                           \u0027ISCSINoFAST\u0027}))"},{"line_number":1758,"context_line":"        self.stubs.Set(emc_vmax_common.EMCVMAXCommon, \u0027_get_ecom_connection\u0027,"},{"line_number":1759,"context_line":"                       self.fake_ecom_connection)"},{"line_number":1760,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":1761,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_8b4927ba","line":1758,"updated":"2016-09-01 02:24:15.000000000","message":"Same.","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":1758,"context_line":"        self.stubs.Set(emc_vmax_common.EMCVMAXCommon, \u0027_get_ecom_connection\u0027,"},{"line_number":1759,"context_line":"                       self.fake_ecom_connection)"},{"line_number":1760,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":1761,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":1762,"context_line":"                       instancename.fake_getinstancename)"},{"line_number":1763,"context_line":"        self.stubs.Set(time, \u0027sleep\u0027,"},{"line_number":1764,"context_line":"                       self.fake_sleep)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_0bd437bb","line":1761,"updated":"2016-09-01 02:24:15.000000000","message":"same","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":1760,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":1761,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":1762,"context_line":"                       instancename.fake_getinstancename)"},{"line_number":1763,"context_line":"        self.stubs.Set(time, \u0027sleep\u0027,"},{"line_number":1764,"context_line":"                       self.fake_sleep)"},{"line_number":1765,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":1766,"context_line":"                       self.fake_is_v3)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_cbf08f69","line":1763,"updated":"2016-09-01 02:24:15.000000000","message":"This is not good.  We ran into weird hang tests with mock sleep (including VMAX unit tests, search for skipped tests in VMAX).  Please try to set the wait time to 0 and exit the loop immediately in a sleep call.  Don\u0027t mock sleep. \n\nSee this fix for details:\n\nhttps://review.openstack.org/#/c/360807/","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":1762,"context_line":"                       instancename.fake_getinstancename)"},{"line_number":1763,"context_line":"        self.stubs.Set(time, \u0027sleep\u0027,"},{"line_number":1764,"context_line":"                       self.fake_sleep)"},{"line_number":1765,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":1766,"context_line":"                       self.fake_is_v3)"},{"line_number":1767,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"},{"line_number":1768,"context_line":"        driver.db \u003d FakeDB()"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_2bdbbbee","line":1765,"updated":"2016-09-01 02:24:15.000000000","message":"same","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":3879,"context_line":"        configuration.safe_get.return_value \u003d \u0027ISCSIFAST\u0027"},{"line_number":3880,"context_line":"        configuration.config_group \u003d \u0027ISCSIFAST\u0027"},{"line_number":3881,"context_line":""},{"line_number":3882,"context_line":"        self.stubs.Set(emc_vmax_common.EMCVMAXCommon, \u0027_get_ecom_connection\u0027,"},{"line_number":3883,"context_line":"                       self.fake_ecom_connection)"},{"line_number":3884,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":3885,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_0ba2774b","line":3882,"updated":"2016-09-01 02:24:15.000000000","message":"same","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"90d3a9b594595df9ef56f920a14a5f8f54e0a013","unresolved":false,"context_lines":[{"line_number":3879,"context_line":"        configuration.safe_get.return_value \u003d \u0027ISCSIFAST\u0027"},{"line_number":3880,"context_line":"        configuration.config_group \u003d \u0027ISCSIFAST\u0027"},{"line_number":3881,"context_line":""},{"line_number":3882,"context_line":"        self.stubs.Set(emc_vmax_common.EMCVMAXCommon, \u0027_get_ecom_connection\u0027,"},{"line_number":3883,"context_line":"                       self.fake_ecom_connection)"},{"line_number":3884,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":3885,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_8de75be3","line":3882,"in_reply_to":"fa7ab95a_0ba2774b","updated":"2016-09-01 13:29:35.000000000","message":"We will amend all of these.  Thanks","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":3882,"context_line":"        self.stubs.Set(emc_vmax_common.EMCVMAXCommon, \u0027_get_ecom_connection\u0027,"},{"line_number":3883,"context_line":"                       self.fake_ecom_connection)"},{"line_number":3884,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":3885,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":3886,"context_line":"                       instancename.fake_getinstancename)"},{"line_number":3887,"context_line":"        self.stubs.Set(time, \u0027sleep\u0027,"},{"line_number":3888,"context_line":"                       self.fake_sleep)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_2b89fbca","line":3885,"updated":"2016-09-01 02:24:15.000000000","message":"same","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":3884,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":3885,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":3886,"context_line":"                       instancename.fake_getinstancename)"},{"line_number":3887,"context_line":"        self.stubs.Set(time, \u0027sleep\u0027,"},{"line_number":3888,"context_line":"                       self.fake_sleep)"},{"line_number":3889,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":3890,"context_line":"                       self.fake_is_v3)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_ebb5537e","line":3887,"updated":"2016-09-01 02:24:15.000000000","message":"Don\u0027t mock sleep.  See above comments.","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":3886,"context_line":"                       instancename.fake_getinstancename)"},{"line_number":3887,"context_line":"        self.stubs.Set(time, \u0027sleep\u0027,"},{"line_number":3888,"context_line":"                       self.fake_sleep)"},{"line_number":3889,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":3890,"context_line":"                       self.fake_is_v3)"},{"line_number":3891,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"},{"line_number":3892,"context_line":"        driver.db \u003d FakeDB()"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_2bb01b8b","line":3889,"updated":"2016-09-01 02:24:15.000000000","message":"same","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":6577,"context_line":"                       instancename.fake_getinstancename)"},{"line_number":6578,"context_line":"        self.stubs.Set(time, \u0027sleep\u0027,"},{"line_number":6579,"context_line":"                       self.fake_sleep)"},{"line_number":6580,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":6581,"context_line":"                       self.fake_is_v3)"},{"line_number":6582,"context_line":""},{"line_number":6583,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_ab626b14","line":6580,"updated":"2016-09-01 02:24:15.000000000","message":"Same for line 6573-6580.","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ca6bfd09359515f2d26ac4218d6f6454a379a7b1","unresolved":false,"context_lines":[{"line_number":1760,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":1761,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":1762,"context_line":"                         instancename.fake_getinstancename)"},{"line_number":1763,"context_line":"        self.mock_object(time, \u0027sleep\u0027, 0)"},{"line_number":1764,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":1765,"context_line":"                         self.fake_is_v3)"},{"line_number":1766,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_b4f52aee","line":1763,"updated":"2016-09-02 00:28:11.000000000","message":"Please try not to mock time.sleep.  Instead try to set the wait time to 0 and call the real time.sleep. So call time.sleep(0) instead.  I think you need to take a look of the code and see where time.sleep is used and you may need to do some adjustment there so that you can set input parameter to 0 for sleep().\n\nWe found mock sleep caused weird hangs.","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"c9c68d165778b803332a2b18cef295edb1bff665","unresolved":false,"context_lines":[{"line_number":1760,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":1761,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":1762,"context_line":"                         instancename.fake_getinstancename)"},{"line_number":1763,"context_line":"        self.mock_object(time, \u0027sleep\u0027, 0)"},{"line_number":1764,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":1765,"context_line":"                         self.fake_is_v3)"},{"line_number":1766,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_ed0e6b33","line":1763,"in_reply_to":"fa7ab95a_b4f52aee","updated":"2016-09-05 11:07:14.000000000","message":"I will remove it, its not needed any more","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ca6bfd09359515f2d26ac4218d6f6454a379a7b1","unresolved":false,"context_lines":[{"line_number":3879,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":3880,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":3881,"context_line":"                         instancename.fake_getinstancename)"},{"line_number":3882,"context_line":"        self.mock_object(time, \u0027sleep\u0027, 0)"},{"line_number":3883,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":3884,"context_line":"                         self.fake_is_v3)"},{"line_number":3885,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_54d13e56","line":3882,"updated":"2016-09-02 00:28:11.000000000","message":"Don\u0027t mock time.sleep.  Let the real time.sleep run but set wait time to 0.\n\ntime.sleep(0).  Don\u0027t mock it.","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"922156716dbf45c4f040a15996f638f15f2c9162","unresolved":false,"context_lines":[{"line_number":3879,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":3880,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":3881,"context_line":"                         instancename.fake_getinstancename)"},{"line_number":3882,"context_line":"        self.mock_object(time, \u0027sleep\u0027, 0)"},{"line_number":3883,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":3884,"context_line":"                         self.fake_is_v3)"},{"line_number":3885,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_85e8d2e3","line":3882,"in_reply_to":"fa7ab95a_4befc6b0","updated":"2016-09-02 13:45:25.000000000","message":"Sure.  loopingcall is still in the code.  Please make sure the interval set for wait_for_job_complete and wait_for_sync routines is 0 in unit tests and exit the loop immediately.","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"9b7fc85bddb56d6b0b810a44e00e095534070399","unresolved":false,"context_lines":[{"line_number":3879,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":3880,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":3881,"context_line":"                         instancename.fake_getinstancename)"},{"line_number":3882,"context_line":"        self.mock_object(time, \u0027sleep\u0027, 0)"},{"line_number":3883,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":3884,"context_line":"                         self.fake_is_v3)"},{"line_number":3885,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_4befc6b0","line":3882,"in_reply_to":"fa7ab95a_54d13e56","updated":"2016-09-02 11:07:32.000000000","message":"sleep is no longer in the code.  Removing it from the test file","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"c9c68d165778b803332a2b18cef295edb1bff665","unresolved":false,"context_lines":[{"line_number":3879,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":3880,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":3881,"context_line":"                         instancename.fake_getinstancename)"},{"line_number":3882,"context_line":"        self.mock_object(time, \u0027sleep\u0027, 0)"},{"line_number":3883,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":3884,"context_line":"                         self.fake_is_v3)"},{"line_number":3885,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_ed5cab27","line":3882,"in_reply_to":"fa7ab95a_85e8d2e3","updated":"2016-09-05 11:07:14.000000000","message":"Will remove","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ca6bfd09359515f2d26ac4218d6f6454a379a7b1","unresolved":false,"context_lines":[{"line_number":6566,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":6567,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":6568,"context_line":"                         instancename.fake_getinstancename)"},{"line_number":6569,"context_line":"        self.mock_object(time, \u0027sleep\u0027, 0)"},{"line_number":6570,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":6571,"context_line":"                         self.fake_is_v3)"},{"line_number":6572,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_943e6689","line":6569,"updated":"2016-09-02 00:28:11.000000000","message":"Same.","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"c9c68d165778b803332a2b18cef295edb1bff665","unresolved":false,"context_lines":[{"line_number":6566,"context_line":"        instancename \u003d FakeCIMInstanceName()"},{"line_number":6567,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027get_instance_name\u0027,"},{"line_number":6568,"context_line":"                         instancename.fake_getinstancename)"},{"line_number":6569,"context_line":"        self.mock_object(time, \u0027sleep\u0027, 0)"},{"line_number":6570,"context_line":"        self.mock_object(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":6571,"context_line":"                         self.fake_is_v3)"},{"line_number":6572,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_0d42af3e","line":6569,"in_reply_to":"fa7ab95a_943e6689","updated":"2016-09-05 11:07:14.000000000","message":"will remove","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33347b1480d1c4634a7ee5b983e3e7e6c041d09","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import os"},{"line_number":17,"context_line":"import shutil"},{"line_number":18,"context_line":"import tempfile"},{"line_number":19,"context_line":"import time"},{"line_number":20,"context_line":"import unittest"},{"line_number":21,"context_line":"from xml.dom import minidom"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_65590e35","line":19,"updated":"2016-09-02 13:45:32.000000000","message":"pep8 error: \u0027time\u0027 imported but unused","commit_id":"32635515fa7cc87263dac33643e5f6f23f19bd11"}],"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":4515,"context_line":"        :param ipendpointinstancename: ip endpoint"},{"line_number":4516,"context_line":"        :returns: endpoint"},{"line_number":4517,"context_line":"        \"\"\""},{"line_number":4518,"context_line":"        if (\u0027iSCSIProtocolEndpoint\u0027 in str("},{"line_number":4519,"context_line":"                ipendpointinstancename[\u0027CreationClassName\u0027])):"},{"line_number":4520,"context_line":"            iqn \u003d self.utils.get_iqn(conn, ipendpointinstancename)"},{"line_number":4521,"context_line":"            if iqn:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_8b720710","line":4518,"updated":"2016-09-01 02:24:15.000000000","message":"str() -\u003e six.text_type()","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"90d3a9b594595df9ef56f920a14a5f8f54e0a013","unresolved":false,"context_lines":[{"line_number":4515,"context_line":"        :param ipendpointinstancename: ip endpoint"},{"line_number":4516,"context_line":"        :returns: endpoint"},{"line_number":4517,"context_line":"        \"\"\""},{"line_number":4518,"context_line":"        if (\u0027iSCSIProtocolEndpoint\u0027 in str("},{"line_number":4519,"context_line":"                ipendpointinstancename[\u0027CreationClassName\u0027])):"},{"line_number":4520,"context_line":"            iqn \u003d self.utils.get_iqn(conn, ipendpointinstancename)"},{"line_number":4521,"context_line":"            if iqn:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_cdf8837f","line":4518,"in_reply_to":"fa7ab95a_8b720710","updated":"2016-09-01 13:29:35.000000000","message":"Sure, we will change this","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":4520,"context_line":"            iqn \u003d self.utils.get_iqn(conn, ipendpointinstancename)"},{"line_number":4521,"context_line":"            if iqn:"},{"line_number":4522,"context_line":"                endpoint[\u0027iqn\u0027] \u003d iqn"},{"line_number":4523,"context_line":"        elif (\u0027IPProtocolEndpoint\u0027 in str("},{"line_number":4524,"context_line":"                ipendpointinstancename[\u0027CreationClassName\u0027])):"},{"line_number":4525,"context_line":"            ipaddress \u003d ("},{"line_number":4526,"context_line":"                self.utils.get_iscsi_ip_address("}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_cb624f3d","line":4523,"updated":"2016-09-01 02:24:15.000000000","message":"str() -\u003e six.text_type()","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ca6bfd09359515f2d26ac4218d6f6454a379a7b1","unresolved":false,"context_lines":[{"line_number":4508,"context_line":"        return targetInstance"},{"line_number":4509,"context_line":""},{"line_number":4510,"context_line":"    def get_ip_and_iqn(self, conn, endpoint, ipendpointinstancename):"},{"line_number":4511,"context_line":"        \"\"\"Get ip and iqn from the endpoint"},{"line_number":4512,"context_line":""},{"line_number":4513,"context_line":"        :param conn: ecom connection"},{"line_number":4514,"context_line":"        :param endpoint: end point"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_d4738e7e","line":4511,"updated":"2016-09-02 00:28:11.000000000","message":"Missing period at the end.","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"}],"cinder/volume/drivers/emc/emc_vmax_iscsi.py":[{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"a128ac49282bd62a13a927d3b94107351e364439","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    VERSION \u003d \"2.4.0\""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # ThirdPartySystems wiki"},{"line_number":86,"context_line":"    CI_WIKI_NAME \u003d \"EMC_VMAX_CI\""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_ad1d5811","line":86,"range":{"start_line":86,"start_character":4,"end_line":86,"end_character":32},"updated":"2016-08-26 08:42:50.000000000","message":"Is this getting used somewhere?","commit_id":"b299d0e3e1f859872ac523d3bb574d0e3d826cff"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"5e06a52d49c8bc5c1dc0f412128595ce99861eb2","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    VERSION \u003d \"2.4.0\""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # ThirdPartySystems wiki"},{"line_number":86,"context_line":"    CI_WIKI_NAME \u003d \"EMC_VMAX_CI\""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_e9df8d0a","line":86,"range":{"start_line":86,"start_character":4,"end_line":86,"end_character":32},"in_reply_to":"fa7ab95a_ad1d5811","updated":"2016-08-30 14:44:07.000000000","message":"Not sure, it was not put in by the development team. I will check with CI","commit_id":"b299d0e3e1f859872ac523d3bb574d0e3d826cff"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"adfe64431b96a075b28839c2d6b342c3fcfad393","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    VERSION \u003d \"2.4.0\""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # ThirdPartySystems wiki"},{"line_number":86,"context_line":"    CI_WIKI_NAME \u003d \"EMC_VMAX_CI\""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_c0f0d6cb","line":86,"range":{"start_line":86,"start_character":4,"end_line":86,"end_character":32},"in_reply_to":"fa7ab95a_e9df8d0a","updated":"2016-08-30 15:40:14.000000000","message":"This was added by the following patch.  Every driver needs this field now.\n\nhttps://review.openstack.org/#/c/348002/14/cinder/volume/drivers/emc/emc_vmax_iscsi.py","commit_id":"b299d0e3e1f859872ac523d3bb574d0e3d826cff"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ef7fa7a271394ee8f4621bca8a331eabb25a0deb","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        except KeyError as ex:"},{"line_number":210,"context_line":"            exception_message \u003d (_(\"Cannot get iSCSI ipaddresses or \""},{"line_number":211,"context_line":"                                   \"multipath flag. Exception is %(ex)s. \")"},{"line_number":212,"context_line":"                                 % {\u0027ex\u0027: ex})"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_423dabc2","side":"PARENT","line":212,"updated":"2016-09-08 13:52:13.000000000","message":"See comments on the right.  Please keep this message the same as before.","commit_id":"4ea6d587ab84c21dd0d8f07991064a52b5f5f2ea"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ef7fa7a271394ee8f4621bca8a331eabb25a0deb","unresolved":false,"context_lines":[{"line_number":205,"context_line":"            is_multipath \u003d device_info[\u0027is_multipath\u0027]"},{"line_number":206,"context_line":"        except KeyError:"},{"line_number":207,"context_line":"            exception_message \u003d (_(\"Cannot get iSCSI ipaddresses or \""},{"line_number":208,"context_line":"                                   \"multipath flag.\"))"},{"line_number":209,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        iscsi_properties \u003d self.smis_get_iscsi_properties("}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_ef1dc873","line":208,"updated":"2016-09-08 13:52:13.000000000","message":"We\u0027ve passed soft string freeze.  This means we cannot make changes to existing translatable strings.\n\nThis message cannot be changed in this release.","commit_id":"d0e62117e3685f2a3f0f76953dc69b08b6c62a50"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"ee38bc70f85f77486b3dd0a87c6ce86507927125","unresolved":false,"context_lines":[{"line_number":205,"context_line":"            is_multipath \u003d device_info[\u0027is_multipath\u0027]"},{"line_number":206,"context_line":"        except KeyError:"},{"line_number":207,"context_line":"            exception_message \u003d (_(\"Cannot get iSCSI ipaddresses or \""},{"line_number":208,"context_line":"                                   \"multipath flag.\"))"},{"line_number":209,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        iscsi_properties \u003d self.smis_get_iscsi_properties("}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_153d96dc","line":208,"in_reply_to":"9a89bdaa_ef1dc873","updated":"2016-09-08 15:16:52.000000000","message":"Putting previous message back\n\nexception_message \u003d (_(\"Cannot get iSCSI ipaddresses or \"\n                                   \"multipath flag. Exception is %(ex)s. \")\n                                 % {\u0027ex\u0027: ex})\n\n            raise exception.VolumeBackendAPIException(data\u003dexception_message)","commit_id":"d0e62117e3685f2a3f0f76953dc69b08b6c62a50"}],"cinder/volume/drivers/emc/emc_vmax_utils.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f759b8c11098202f8beb0b3f7e5fb2bce3ffb61e","unresolved":false,"context_lines":[{"line_number":2717,"context_line":"        return modifiedInstance"},{"line_number":2718,"context_line":""},{"line_number":2719,"context_line":"    def get_iqn(self, conn, ipendpointinstancename):"},{"line_number":2720,"context_line":"        \"\"\"Get the IPv4Address from the ip endpoint instance name"},{"line_number":2721,"context_line":""},{"line_number":2722,"context_line":"        :param conn: the ecom connection"},{"line_number":2723,"context_line":"        :param ipendpointinstancename: the ip endpoint instance name"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7ab95a_0b86f7da","line":2720,"updated":"2016-09-01 02:24:15.000000000","message":"Missing period at the end.","commit_id":"0e53a01273dbdf2c89d0bef0262bf4edf2f02229"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ca6bfd09359515f2d26ac4218d6f6454a379a7b1","unresolved":false,"context_lines":[{"line_number":2717,"context_line":"        return modifiedInstance"},{"line_number":2718,"context_line":""},{"line_number":2719,"context_line":"    def get_iqn(self, conn, ipendpointinstancename):"},{"line_number":2720,"context_line":"        \"\"\"Get the IPv4Address from the ip endpoint instance name"},{"line_number":2721,"context_line":""},{"line_number":2722,"context_line":"        :param conn: the ecom connection"},{"line_number":2723,"context_line":"        :param ipendpointinstancename: the ip endpoint instance name"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_b428ca34","line":2720,"updated":"2016-09-02 00:28:11.000000000","message":"Period at the end.","commit_id":"dff0947147d356318a3f5301d33e1d70d2cbdae1"}]}
