)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"462f5fe1dfe1af09e1d4e5e583725d119b38e46e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add decorator that requires a lock for Drac management driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add decorator that requires a lock for set_boot_device"},{"line_number":10,"context_line":"in Drac management driver"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I8482da70cbb859a8da05025f2ee12a1e614f7928"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a890539_6949fc5f","line":10,"updated":"2014-11-28 04:13:41.000000000","message":"We need more desc here to share the information why this patch is, and why this lock is required,  what the scenarios for such issue, such as two client to run set boot device command for same node at the same time?","commit_id":"1a1d9b04645771240edb171835dd5aadae6b166f"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"f9cc71acabe8202ead987c6b62fcfacec251fa4e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add decorator that requires a lock for Drac management driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add decorator that requires a lock for set_boot_device"},{"line_number":10,"context_line":"in Drac management driver"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I8482da70cbb859a8da05025f2ee12a1e614f7928"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a890539_28a7dba8","line":10,"in_reply_to":"5a890539_6949fc5f","updated":"2014-11-29 03:24:12.000000000","message":"Thanks Haomeng.\nI will add some details.","commit_id":"1a1d9b04645771240edb171835dd5aadae6b166f"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"cc982818c42ad6a871713dbb3dc042e92d995232","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add decorator that requires a exclusive lock for set_boot_device"},{"line_number":10,"context_line":"in Drac management driver. Default lock is shared, which"},{"line_number":11,"context_line":"is useful for non-interfering operation, like get_boot_device."},{"line_number":12,"context_line":"Have exclusive lock with an action, can avoid multiple threads "},{"line_number":13,"context_line":"to modify the node at same time. This is necessary for "},{"line_number":14,"context_line":"changing the boot device for a node."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a890539_08e4dfaa","line":12,"updated":"2014-11-29 05:19:10.000000000","message":"some space/tab that is not required.","commit_id":"0c0db1f3b2f83f8af613a0f94c16360605d84766"}],"ironic/tests/drivers/drac/test_management.py":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"317b7946c2b2284ee1432788418c9ae558fde7da","unresolved":false,"context_lines":[{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":242,"context_line":"                                  shared\u003dFalse) as task:"},{"line_number":243,"context_line":"            task.node \u003d self.node"},{"line_number":244,"context_line":"            result \u003d self.driver.set_boot_device(task, boot_devices.PXE)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        self.assertIsNone(result)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_2b1fde5c","line":243,"updated":"2014-11-28 14:37:48.000000000","message":"Is this statement required ? Ditto for similar statements below as well.","commit_id":"1a1d9b04645771240edb171835dd5aadae6b166f"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"f9cc71acabe8202ead987c6b62fcfacec251fa4e","unresolved":false,"context_lines":[{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":242,"context_line":"                                  shared\u003dFalse) as task:"},{"line_number":243,"context_line":"            task.node \u003d self.node"},{"line_number":244,"context_line":"            result \u003d self.driver.set_boot_device(task, boot_devices.PXE)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        self.assertIsNone(result)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_e88eb331","line":243,"in_reply_to":"5a890539_2b1fde5c","updated":"2014-11-29 03:24:12.000000000","message":"This is necessary.\nGiven node.uuid, task manager will create a new node object which is not  identical to self.node.","commit_id":"1a1d9b04645771240edb171835dd5aadae6b166f"}]}
