)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"fb5b0508664460d72b712c477a9acd8dc9432de1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Seiji Aguchi \u003cseiji.aguchi.tr@hitachi.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-22 20:55:54 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove unnecessary resource lock operation for Hitachi Block Storage Driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch removes unnecessary resource lock operation"},{"line_number":10,"context_line":"from Hitachi Block Storage Driver."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a016987_332a01dc","line":7,"updated":"2015-05-22 13:54:55.000000000","message":"Maybe just use the initials for HBS Driver. Commit summary lines should be limited to 50 characters.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"74d98a5c03d9f2b9063658a52b97ccf0a0e955fa"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"ab42d933de59cfa58e9f7fa1748dbc49017106a4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Seiji Aguchi \u003cseiji.aguchi.tr@hitachi.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-22 20:55:54 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove unnecessary resource lock operation for Hitachi Block Storage Driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch removes unnecessary resource lock operation"},{"line_number":10,"context_line":"from Hitachi Block Storage Driver."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba3cc151_cf70a9a7","line":7,"in_reply_to":"7a016987_332a01dc","updated":"2015-07-10 02:09:47.000000000","message":"Done","commit_id":"74d98a5c03d9f2b9063658a52b97ccf0a0e955fa"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"2e6298c1b93e0d8ceabfa8aa2d002457fa4ece67","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Seiji Aguchi \u003cseiji.aguchi.tr@hitachi.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-10 02:09:01 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove unnecessary resource lock operation for HBSD"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch removes unnecessary resource lock operation"},{"line_number":10,"context_line":"from Hitachi Block Storage Driver."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_7af6f991","line":7,"updated":"2015-07-10 03:08:48.000000000","message":"It is still over 50 characters.\nUpdated the commit message again.","commit_id":"017501248ffc86106216f270f40c7ff061eba812"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"f37ad6ec8c44a9a02e330662b8ac3ddfabbc1c90","unresolved":false,"context_lines":[{"line_number":10,"context_line":"from Hitachi Block Storage Driver."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint hitachi-remove-resource-lock"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia1f3cfb721fbc3a512627fe875de96927f5baa80"},{"line_number":15,"context_line":"Signed-off-by: Seiji Aguchi \u003cseiji.aguchi.tr@hitachi.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a41bdd9_0c23bba8","line":13,"updated":"2015-07-17 17:12:15.000000000","message":"Need DocImpact","commit_id":"b4e81011de4a846b247d655648b62e1bb7b9a5f2"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"505571e1f5276d0a5b9786e55f5c81befcaeabf8","unresolved":false,"context_lines":[{"line_number":10,"context_line":"from Hitachi Block Storage Driver."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint hitachi-remove-resource-lock"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia1f3cfb721fbc3a512627fe875de96927f5baa80"},{"line_number":15,"context_line":"Signed-off-by: Seiji Aguchi \u003cseiji.aguchi.tr@hitachi.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a41bdd9_431bc4ca","line":13,"in_reply_to":"9a41bdd9_0c23bba8","updated":"2015-07-18 01:58:44.000000000","message":"Done","commit_id":"b4e81011de4a846b247d655648b62e1bb7b9a5f2"}],"cinder/tests/unit/test_hitachi_hbsd_horcm_fc.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"36e96af0a3758a6346559f8a404acc2c596b5a87","unresolved":false,"context_lines":[{"line_number":999,"context_line":"                          self.driver.manage_existing_get_size, self._VOLUME,"},{"line_number":1000,"context_line":"                          self.test_existing_ref)"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"    def test_invalid_resource_lock_timeout_param(self):"},{"line_number":1003,"context_line":"        self.configuration.hitachi_horcm_resource_lock_timeout \u003d -1"},{"line_number":1004,"context_line":"        self.assertRaises(exception.HBSDError, self.driver.check_param)"},{"line_number":1005,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_4d43e542","line":1002,"updated":"2015-07-21 13:46:30.000000000","message":"Could you name this test case better, e.g. test_invalid_resource_lock_timeout_below_limit?","commit_id":"16625d2700b0f20ccaca68b053f3847a67d3e684"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"3bd1c2de75dc91eec32fd6df6e5cd2c1909f93a4","unresolved":false,"context_lines":[{"line_number":999,"context_line":"                          self.driver.manage_existing_get_size, self._VOLUME,"},{"line_number":1000,"context_line":"                          self.test_existing_ref)"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"    def test_invalid_resource_lock_timeout_param(self):"},{"line_number":1003,"context_line":"        self.configuration.hitachi_horcm_resource_lock_timeout \u003d -1"},{"line_number":1004,"context_line":"        self.assertRaises(exception.HBSDError, self.driver.check_param)"},{"line_number":1005,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_2197643b","line":1002,"in_reply_to":"3a50d1a3_4d43e542","updated":"2015-07-22 01:24:47.000000000","message":"Done","commit_id":"16625d2700b0f20ccaca68b053f3847a67d3e684"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"36e96af0a3758a6346559f8a404acc2c596b5a87","unresolved":false,"context_lines":[{"line_number":1003,"context_line":"        self.configuration.hitachi_horcm_resource_lock_timeout \u003d -1"},{"line_number":1004,"context_line":"        self.assertRaises(exception.HBSDError, self.driver.check_param)"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"    def test_invalid_resource_lock_timeout_param2(self):"},{"line_number":1007,"context_line":"        self.configuration.hitachi_horcm_resource_lock_timeout \u003d 7201"},{"line_number":1008,"context_line":"        self.assertRaises(exception.HBSDError, self.driver.check_param)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_2d31b9ec","line":1006,"updated":"2015-07-21 13:46:30.000000000","message":"Could you name this test case better, e.g. test_invalid_resource_lock_timeout_over_limit?","commit_id":"16625d2700b0f20ccaca68b053f3847a67d3e684"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"3bd1c2de75dc91eec32fd6df6e5cd2c1909f93a4","unresolved":false,"context_lines":[{"line_number":1003,"context_line":"        self.configuration.hitachi_horcm_resource_lock_timeout \u003d -1"},{"line_number":1004,"context_line":"        self.assertRaises(exception.HBSDError, self.driver.check_param)"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"    def test_invalid_resource_lock_timeout_param2(self):"},{"line_number":1007,"context_line":"        self.configuration.hitachi_horcm_resource_lock_timeout \u003d 7201"},{"line_number":1008,"context_line":"        self.assertRaises(exception.HBSDError, self.driver.check_param)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_419cf05c","line":1006,"in_reply_to":"3a50d1a3_2d31b9ec","updated":"2015-07-22 01:24:47.000000000","message":"Done","commit_id":"16625d2700b0f20ccaca68b053f3847a67d3e684"}],"cinder/volume/drivers/hitachi/hbsd_horcm.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"fb5b0508664460d72b712c477a9acd8dc9432de1","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                                    printflag\u003dprintflag)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # The resource group may be locked by other software."},{"line_number":280,"context_line":"        # Therefore, wait for up to 2 hours until the lock is released."},{"line_number":281,"context_line":"        if RESOURCE_LOCKED in stderr and time.time() - start \u003c LOCK_WAITTIME:"},{"line_number":282,"context_line":"            return"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_937f75df","line":280,"updated":"2015-05-22 13:54:55.000000000","message":"2 hours seems like an excessively long time to block in these calls. Can you shorten that up to something more reasonable? I don\u0027t think you want your driver to appear unresponsive for that long.","commit_id":"74d98a5c03d9f2b9063658a52b97ccf0a0e955fa"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"a3c6918d479f6a760993c4c1920565b0562788a2","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                                    printflag\u003dprintflag)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # The resource group may be locked by other software."},{"line_number":280,"context_line":"        # Therefore, wait for up to 2 hours until the lock is released."},{"line_number":281,"context_line":"        if RESOURCE_LOCKED in stderr and time.time() - start \u003c LOCK_WAITTIME:"},{"line_number":282,"context_line":"            return"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_0f50d109","line":280,"in_reply_to":"7a016987_1fd93857","updated":"2015-07-10 02:08:41.000000000","message":"This doesn\u0027t mean that the driver is blocked for 2hours.\n\nIt is checked every 5sec with a looping call.\n(See exec_raidcom() in hbsd_horcm.py)\n\nAnd wait up to 2hours.\n\"2hours\" comes from hardware spec.","commit_id":"74d98a5c03d9f2b9063658a52b97ccf0a0e955fa"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"7b9aeaf1be2c866382958222c2f217faade5fea0","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                                    printflag\u003dprintflag)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # The resource group may be locked by other software."},{"line_number":280,"context_line":"        # Therefore, wait for up to 2 hours until the lock is released."},{"line_number":281,"context_line":"        if RESOURCE_LOCKED in stderr and time.time() - start \u003c LOCK_WAITTIME:"},{"line_number":282,"context_line":"            return"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_1fd93857","line":280,"in_reply_to":"7a016987_937f75df","updated":"2015-05-23 03:51:17.000000000","message":"Might be better to check every 30 minutes and have a maximum of 4 attempts.  Or any shorter interval.","commit_id":"74d98a5c03d9f2b9063658a52b97ccf0a0e955fa"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0f678a7d8cce308f82016ddbe164508473ab017d","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # The resource group may be locked by other software."},{"line_number":280,"context_line":"        # Therefore, wait for up to 2 hours until the lock is released."},{"line_number":281,"context_line":"        if RESOURCE_LOCKED in stderr and time.time() - start \u003c LOCK_WAITTIME:"},{"line_number":282,"context_line":"            return"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        if not ret or ret \u003c\u003d 127:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a41bdd9_e8be63d3","line":281,"updated":"2015-07-14 02:54:51.000000000","message":"I see what you\u0027re saying from patchset 1, but I still think waiting 2 hours is an excessively long time.","commit_id":"4e962677718df9290d70735137ad24bca58c37ad"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"255d42a1a60248a9274b3859f1249f8c8e395e7e","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # The resource group may be locked by other software."},{"line_number":280,"context_line":"        # Therefore, wait for up to 2 hours until the lock is released."},{"line_number":281,"context_line":"        if RESOURCE_LOCKED in stderr and time.time() - start \u003c LOCK_WAITTIME:"},{"line_number":282,"context_line":"            return"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        if not ret or ret \u003c\u003d 127:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a41bdd9_7e87b112","line":281,"in_reply_to":"9a41bdd9_486f4f2b","updated":"2015-07-17 03:52:28.000000000","message":"Updated a patch to make the timeout tunable.\nThe values were dicided by discussing with my folks.","commit_id":"4e962677718df9290d70735137ad24bca58c37ad"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"fba7384c89876503f95960643bcf9d6b60b97e78","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # The resource group may be locked by other software."},{"line_number":280,"context_line":"        # Therefore, wait for up to 2 hours until the lock is released."},{"line_number":281,"context_line":"        if RESOURCE_LOCKED in stderr and time.time() - start \u003c LOCK_WAITTIME:"},{"line_number":282,"context_line":"            return"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        if not ret or ret \u003c\u003d 127:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a41bdd9_486f4f2b","line":281,"in_reply_to":"9a41bdd9_e8be63d3","updated":"2015-07-14 03:05:06.000000000","message":"OK.\nI will make LOCK_WAITTIME tunable to avoid blocking a long time.\nThe default value is probably less than 60sec (the default value of rpc timeout.)","commit_id":"4e962677718df9290d70735137ad24bca58c37ad"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"f37ad6ec8c44a9a02e330662b8ac3ddfabbc1c90","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                help\u003d\u0027Add to HORCM configuration\u0027),"},{"line_number":116,"context_line":"    cfg.IntOpt(\u0027hitachi_horcm_resource_lock_timeout\u0027,"},{"line_number":117,"context_line":"               default\u003d600,"},{"line_number":118,"context_line":"               help\u003d\u0027Timeout until a resource lock is released, in seconds.\u0027"},{"line_number":119,"context_line":"                    \u0027The value must be between 0 and 7200.\u0027),"},{"line_number":120,"context_line":"]"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_7106e021","line":118,"updated":"2015-07-17 17:12:15.000000000","message":"Need a space after the period.","commit_id":"b4e81011de4a846b247d655648b62e1bb7b9a5f2"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"505571e1f5276d0a5b9786e55f5c81befcaeabf8","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                help\u003d\u0027Add to HORCM configuration\u0027),"},{"line_number":116,"context_line":"    cfg.IntOpt(\u0027hitachi_horcm_resource_lock_timeout\u0027,"},{"line_number":117,"context_line":"               default\u003d600,"},{"line_number":118,"context_line":"               help\u003d\u0027Timeout until a resource lock is released, in seconds.\u0027"},{"line_number":119,"context_line":"                    \u0027The value must be between 0 and 7200.\u0027),"},{"line_number":120,"context_line":"]"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_636da831","line":118,"in_reply_to":"9a41bdd9_7106e021","updated":"2015-07-18 01:58:44.000000000","message":"Done","commit_id":"b4e81011de4a846b247d655648b62e1bb7b9a5f2"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"b0ee8ac34a222ea71a038dfa34d1a594782e4dc5","unresolved":false,"context_lines":[{"line_number":779,"context_line":"                msg \u003d basic_lib.output_err(659, gid\u003dinvalid_hgs_str)"},{"line_number":780,"context_line":"                raise exception.HBSDError(message\u003dmsg)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    @storage_synchronized"},{"line_number":783,"context_line":"    def comm_delete_ldev(self, ldev, is_vvol):"},{"line_number":784,"context_line":"        ret \u003d -1"},{"line_number":785,"context_line":"        stdout \u003d \"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_0dc07d7a","line":782,"updated":"2015-07-21 13:48:06.000000000","message":"Is this decorator still needed?","commit_id":"16625d2700b0f20ccaca68b053f3847a67d3e684"},{"author":{"_account_id":9174,"name":"Seiji Aguchi","email":"seiji.aguchi.tr@hitachi.com","username":"saguchi"},"change_message_id":"ab6b745e3e609cf60099e91709f7885334c67801","unresolved":false,"context_lines":[{"line_number":779,"context_line":"                msg \u003d basic_lib.output_err(659, gid\u003dinvalid_hgs_str)"},{"line_number":780,"context_line":"                raise exception.HBSDError(message\u003dmsg)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    @storage_synchronized"},{"line_number":783,"context_line":"    def comm_delete_ldev(self, ldev, is_vvol):"},{"line_number":784,"context_line":"        ret \u003d -1"},{"line_number":785,"context_line":"        stdout \u003d \"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_817bd88b","line":782,"in_reply_to":"3a50d1a3_0dc07d7a","updated":"2015-07-22 01:23:05.000000000","message":"yes.\nIt is still needed to avoid comm_delete_ldev() and comm_add_ldev() runs concurrently.","commit_id":"16625d2700b0f20ccaca68b053f3847a67d3e684"}]}
