)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"9b797436b9d5b9161251b4b10d9c3741b7519325","unresolved":false,"context_lines":[{"line_number":11,"context_line":"target. But by default, the \u0027lioadm\u0027 iscsi helper will enable the"},{"line_number":12,"context_line":"authentication attribute to each volume."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This patch create a static target with auth info for host to make sure"},{"line_number":15,"context_line":"the host has authority to connect to the target."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I2403993e8365ee58d588fb64484bb94b1cb609ea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9aa53dc9_30092d32","line":14,"updated":"2015-04-08 15:45:50.000000000","message":"creates *","commit_id":"8296b9115f7dd65636737dad54ae0c533f341a96"}],"nova/tests/unit/virt/vmwareapi/test_driver_api.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"9b797436b9d5b9161251b4b10d9c3741b7519325","unresolved":false,"context_lines":[{"line_number":1828,"context_line":"                               return_value\u003dNone) as mock_call_method:"},{"line_number":1829,"context_line":"            vops \u003d volumeops.VMwareVolumeOps(self.conn._session)"},{"line_number":1830,"context_line":"            vops._iscsi_rescan_hba(fake_target_portal, self.instance)"},{"line_number":1831,"context_line":"            self.assertEqual(3, mock_call_method.call_count)"},{"line_number":1832,"context_line":"            self.assertTrue(self.called)"},{"line_number":1833,"context_line":""},{"line_number":1834,"context_line":"    def test_iscsi_get_target(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_903c79e3","line":1831,"updated":"2015-04-08 15:45:50.000000000","message":"can you do instead:\n\n    expected_calls \u003d [mock.call(...),...]\n    fake_call_method.assert_has_calls(expected_calls)","commit_id":"8296b9115f7dd65636737dad54ae0c533f341a96"}],"nova/tests/unit/virt/vmwareapi/test_volumeops.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"9b797436b9d5b9161251b4b10d9c3741b7519325","unresolved":false,"context_lines":[{"line_number":311,"context_line":"        with(mock.patch.object(self._session, \u0027_call_method\u0027,"},{"line_number":312,"context_line":"                               fake_call_method)):"},{"line_number":313,"context_line":"            self._volumeops._iscsi_add_static_target(data, self._instance)"},{"line_number":314,"context_line":"            self.assertEqual(3, fake_call_method.call_count)"},{"line_number":315,"context_line":"            self.assertTrue(self.called)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def test_iscsi_remove_static_target(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_9fba4abf","line":314,"updated":"2015-04-08 15:45:50.000000000","message":"can you do instead:\n\n    expected_calls \u003d [mock.call(...),...]\n    fake_call_method.assert_has_calls(expected_calls)","commit_id":"8296b9115f7dd65636737dad54ae0c533f341a96"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"9b797436b9d5b9161251b4b10d9c3741b7519325","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        with(mock.patch.object(self._session, \u0027_call_method\u0027,"},{"line_number":327,"context_line":"                               fake_call_method)):"},{"line_number":328,"context_line":"            self._volumeops._iscsi_remove_static_target(data, self._instance)"},{"line_number":329,"context_line":"            self.assertEqual(3, fake_call_method.call_count)"},{"line_number":330,"context_line":"            self.assertTrue(self.called)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_9f936a4f","line":329,"updated":"2015-04-08 15:45:50.000000000","message":"can you do instead:\n\n    expected_calls \u003d [mock.call(...),...]\n    fake_call_method.assert_has_calls(expected_calls)","commit_id":"8296b9115f7dd65636737dad54ae0c533f341a96"}],"nova/virt/vmwareapi/volumeops.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"9b797436b9d5b9161251b4b10d9c3741b7519325","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        # create HostInternetScsiHbaAuthenticationProperties object"},{"line_number":216,"context_line":"        auth_prop \u003d client_factory.create("},{"line_number":217,"context_line":"            \u0027ns0:HostInternetScsiHbaAuthenticationProperties\u0027)"},{"line_number":218,"context_line":"        if \u0027auth_method\u0027 in data and data[\u0027auth_method\u0027] \u003d\u003d \u0027CHAP\u0027:"},{"line_number":219,"context_line":"            auth_prop.chapAuthEnabled \u003d True"},{"line_number":220,"context_line":"            auth_prop.chapAuthenticationType \u003d \u0027chapRequired\u0027"},{"line_number":221,"context_line":"            auth_prop.chapInherited \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_fc4f24bb","line":218,"updated":"2015-04-08 15:45:50.000000000","message":"how about:\n\n    if data.get(\u0027auth_method\u0027) \u003d\u003d \u0027CHAP\u0027:\n\nget returns None automatically if the key is not in the dict.","commit_id":"8296b9115f7dd65636737dad54ae0c533f341a96"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"9b797436b9d5b9161251b4b10d9c3741b7519325","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            return"},{"line_number":284,"context_line":"        static_target \u003d self._iscsi_build_static_target(data)"},{"line_number":285,"context_line":"        self._session._call_method(self._session.vim,"},{"line_number":286,"context_line":"            \"RemoveInternetScsiStaticTargets\", storage_system_mor,"},{"line_number":287,"context_line":"            iScsiHbaDevice\u003dhba_device, targets\u003dstatic_target)"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def _iscsi_rescan_hba(self, target_portal, instance\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_1f1d1a0f","line":286,"updated":"2015-04-08 15:45:50.000000000","message":"other than this string here, everything else seems to be identical to me for the methods _iscsi_add_static_target, _iscsi_remove_static_target and _iscsi_rescan_hba. Also, some sections seem to be similar / identical in other methods as well.\n\nFor this commit, can you refactor some helper methods to reduce the code duplication for those 2 methods that you have added now? And in the next commit refactor the other methods to use those helper methods?","commit_id":"8296b9115f7dd65636737dad54ae0c533f341a96"}]}
