)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18479,"name":"Slade Baumann","email":"baumann@us.ibm.com","username":"baumann"},"change_message_id":"ad26bd79f695483f475f997ec93a19cd10c8aff5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gerald McBrearty \u003cgfm@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-11-20 13:23:21 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add force flag on first vdisk host mapping call"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If a vdisk is already mapped and multihostmap is True,"},{"line_number":10,"context_line":"use the force flag on the first call to mkvdiskhostmap."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_f5e66e15","line":7,"updated":"2015-11-23 15:07:00.000000000","message":"Add*","commit_id":"e084fa9ccbfcc4bddfe686bcddf1658c70755245"},{"author":{"_account_id":18479,"name":"Slade Baumann","email":"baumann@us.ibm.com","username":"baumann"},"change_message_id":"ad26bd79f695483f475f997ec93a19cd10c8aff5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"mkvdiskhostmap call accepts the force option when"},{"line_number":22,"context_line":"a volume is not already mapped. The mkvdiskhostmap is"},{"line_number":23,"context_line":"already expecting the force option so there is not"},{"line_number":24,"context_line":"a new text case."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I2320aeec9422625ce2a01aa5d28801207e8671a5"},{"line_number":27,"context_line":"Closes-Bug: 1511751"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_15921258","line":24,"updated":"2015-11-23 15:07:00.000000000","message":"\"text\" should be \"test\"","commit_id":"e084fa9ccbfcc4bddfe686bcddf1658c70755245"}],"cinder/tests/unit/test_storwize_svc.py":[{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"6a857ae9bca57ca4a3ecbe0620191c53db637448","unresolved":false,"context_lines":[{"line_number":4298,"context_line":"                \u0027run_ssh_check_created\u0027) as run_ssh_check_created:"},{"line_number":4299,"context_line":"            run_ssh_check_created.return_value \u003d None"},{"line_number":4300,"context_line":"            ret \u003d self.storwize_ssh.mkvdiskhostmap(\u0027HOST1\u0027, 9999, 511, False)"},{"line_number":4301,"context_line":"            self.assertEqual(ret, None)"},{"line_number":4302,"context_line":"            ret \u003d self.storwize_ssh.mkvdiskhostmap(\u0027HOST2\u0027, 9999, 511, True)"},{"line_number":4303,"context_line":"            self.assertEqual(ret, None)"},{"line_number":4304,"context_line":"            ex \u003d exception.VolumeBackendAPIException(data\u003d\u0027CMMVC6071E\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_44a7d40a","line":4301,"updated":"2016-01-06 13:55:50.000000000","message":"The expected value should be the first parameter, like:\nself.assertEqual(None, ret)","commit_id":"2f753307d55e60754a9fa5d6454ffa5a3d961f0d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"6a857ae9bca57ca4a3ecbe0620191c53db637448","unresolved":false,"context_lines":[{"line_number":4300,"context_line":"            ret \u003d self.storwize_ssh.mkvdiskhostmap(\u0027HOST1\u0027, 9999, 511, False)"},{"line_number":4301,"context_line":"            self.assertEqual(ret, None)"},{"line_number":4302,"context_line":"            ret \u003d self.storwize_ssh.mkvdiskhostmap(\u0027HOST2\u0027, 9999, 511, True)"},{"line_number":4303,"context_line":"            self.assertEqual(ret, None)"},{"line_number":4304,"context_line":"            ex \u003d exception.VolumeBackendAPIException(data\u003d\u0027CMMVC6071E\u0027)"},{"line_number":4305,"context_line":"            run_ssh_check_created.side_effect \u003d ex"},{"line_number":4306,"context_line":"            self.assertRaises(exception.VolumeBackendAPIException,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_a48fb073","line":4303,"updated":"2016-01-06 13:55:50.000000000","message":"ditto","commit_id":"2f753307d55e60754a9fa5d6454ffa5a3d961f0d"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"888151af9d7051293478c47e2b2594da60cb21cc","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                              \u0027to a host.\\n\"\u0027))"},{"line_number":191,"context_line":"        msg \u003d (_(\u0027Error on VDisk-to-host mapping for %(fun)s: \u0027"},{"line_number":192,"context_line":"                 \u0027%(out)s.\u0027) % {\u0027out\u0027: out, \u0027fun\u0027: ssh_cmd})"},{"line_number":193,"context_line":"        raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def rmvdiskhostmap(self, host, vdisk):"},{"line_number":196,"context_line":"        ssh_cmd \u003d [\u0027svctask\u0027, \u0027rmvdiskhostmap\u0027, \u0027-host\u0027, \u0027\"%s\"\u0027 % host, vdisk]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_e0c0ee2c","line":193,"updated":"2015-11-20 22:45:08.000000000","message":"Now this function doesn\u0027t return here, where as before it was returning the result of run_ssh_check_created.  I\u0027m guessing this was return a bool previously?\n\nI would expect to see a return here, and at a minimum new unit tests, since this is a change of contract with the caller.","commit_id":"e084fa9ccbfcc4bddfe686bcddf1658c70755245"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"a9c72d8d820ca78d724cd8f4e8d1ad6629181c68","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                              \u0027to a host.\\n\"\u0027))"},{"line_number":191,"context_line":"        msg \u003d (_(\u0027Error on VDisk-to-host mapping for %(fun)s: \u0027"},{"line_number":192,"context_line":"                 \u0027%(out)s.\u0027) % {\u0027out\u0027: out, \u0027fun\u0027: ssh_cmd})"},{"line_number":193,"context_line":"        raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def rmvdiskhostmap(self, host, vdisk):"},{"line_number":196,"context_line":"        ssh_cmd \u003d [\u0027svctask\u0027, \u0027rmvdiskhostmap\u0027, \u0027-host\u0027, \u0027\"%s\"\u0027 % host, vdisk]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_e619e67a","line":193,"in_reply_to":"ba8a016a_e0c0ee2c","updated":"2015-11-20 23:47:50.000000000","message":"I should go ahead restructure this code so it is cleaner. The original code returns success on line 176 and this was the retry. A retry is not required.\n    def mkvdiskhostmap(self, host, vdisk, lun, multihostmap):\n        \"\"\"Map vdisk to host.\n\n        If vdisk already mapped and multihostmap is True, use the force flag.\n        \"\"\"\n        ssh_cmd \u003d [\u0027svctask\u0027, \u0027mkvdiskhostmap\u0027, \u0027-host\u0027, \u0027\"%s\"\u0027 % host,\n                   \u0027-scsi\u0027, lun, vdisk]\n        if multihostmap:\n            ssh_cmd.insert(ssh_cmd.index(\u0027mkvdiskhostmap\u0027) + 1, \u0027-force\u0027)\n        return self.run_ssh_check_created(ssh_cmd)","commit_id":"e084fa9ccbfcc4bddfe686bcddf1658c70755245"}]}
