)]}'
{"cinder/volume/drivers/netapp/eseries/library.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1db3fa9a2bb661f98b8195c118de7ce4445f1b12","unresolved":false,"context_lines":[{"line_number":1213,"context_line":""},{"line_number":1214,"context_line":"        # If the volume is thin or defined on a disk pool, there is no need"},{"line_number":1215,"context_line":"        # to block."},{"line_number":1216,"context_line":"        if not (thin_provisioned or src_vol.get(\u0027diskPool\u0027, False)):"},{"line_number":1217,"context_line":"            # Wait for the expansion to start"},{"line_number":1218,"context_line":"            time.sleep(self.SLEEP_SECS)"},{"line_number":1219,"context_line":"            complete \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_11a514b4","line":1216,"updated":"2015-10-20 04:06:35.000000000","message":"Seems to me \u0027diskPool\u0027 should default to None instead of False.\n\nsrc_vol.get(\u0027diskPool\u0027)","commit_id":"4ad5906f8753e8692eed62cdafff34ab5ac9f8f7"},{"author":{"_account_id":16821,"name":"Michael Price","email":"michael.price@netapp.com","username":"michael.price"},"change_message_id":"b9daf56f998eee882e0eb60521f4d98a6db1aacc","unresolved":false,"context_lines":[{"line_number":1213,"context_line":""},{"line_number":1214,"context_line":"        # If the volume is thin or defined on a disk pool, there is no need"},{"line_number":1215,"context_line":"        # to block."},{"line_number":1216,"context_line":"        if not (thin_provisioned or src_vol.get(\u0027diskPool\u0027, False)):"},{"line_number":1217,"context_line":"            # Wait for the expansion to start"},{"line_number":1218,"context_line":"            time.sleep(self.SLEEP_SECS)"},{"line_number":1219,"context_line":"            complete \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_e43e6a27","line":1216,"in_reply_to":"3a29b11f_11a514b4","updated":"2015-10-20 22:43:04.000000000","message":"You\u0027re right, that does simplify it.","commit_id":"4ad5906f8753e8692eed62cdafff34ab5ac9f8f7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5ed6fc37114d7b0222c25272ea704fac65c5dddd","unresolved":false,"context_lines":[{"line_number":1215,"context_line":"        # to block."},{"line_number":1216,"context_line":"        if not (thin_provisioned or src_vol.get(\u0027diskPool\u0027, False)):"},{"line_number":1217,"context_line":"            # Wait for the expansion to start"},{"line_number":1218,"context_line":"            time.sleep(self.SLEEP_SECS)"},{"line_number":1219,"context_line":"            complete \u003d False"},{"line_number":1220,"context_line":"            while not complete:"},{"line_number":1221,"context_line":"                complete, actions, eta \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_8184020b","line":1218,"updated":"2015-10-16 19:53:28.000000000","message":"I think it would be safer to implement this with a fixed interval looping call.","commit_id":"4ad5906f8753e8692eed62cdafff34ab5ac9f8f7"},{"author":{"_account_id":16821,"name":"Michael Price","email":"michael.price@netapp.com","username":"michael.price"},"change_message_id":"b9daf56f998eee882e0eb60521f4d98a6db1aacc","unresolved":false,"context_lines":[{"line_number":1215,"context_line":"        # to block."},{"line_number":1216,"context_line":"        if not (thin_provisioned or src_vol.get(\u0027diskPool\u0027, False)):"},{"line_number":1217,"context_line":"            # Wait for the expansion to start"},{"line_number":1218,"context_line":"            time.sleep(self.SLEEP_SECS)"},{"line_number":1219,"context_line":"            complete \u003d False"},{"line_number":1220,"context_line":"            while not complete:"},{"line_number":1221,"context_line":"                complete, actions, eta \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_6a5463fe","line":1218,"in_reply_to":"3a29b11f_b1ab0089","updated":"2015-10-20 22:43:04.000000000","message":"Done","commit_id":"4ad5906f8753e8692eed62cdafff34ab5ac9f8f7"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1db3fa9a2bb661f98b8195c118de7ce4445f1b12","unresolved":false,"context_lines":[{"line_number":1215,"context_line":"        # to block."},{"line_number":1216,"context_line":"        if not (thin_provisioned or src_vol.get(\u0027diskPool\u0027, False)):"},{"line_number":1217,"context_line":"            # Wait for the expansion to start"},{"line_number":1218,"context_line":"            time.sleep(self.SLEEP_SECS)"},{"line_number":1219,"context_line":"            complete \u003d False"},{"line_number":1220,"context_line":"            while not complete:"},{"line_number":1221,"context_line":"                complete, actions, eta \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_b1ab0089","line":1218,"in_reply_to":"5a2ca52d_8184020b","updated":"2015-10-20 04:06:35.000000000","message":"Using fixed interval looping call will be better than time.sleep.","commit_id":"4ad5906f8753e8692eed62cdafff34ab5ac9f8f7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5ed6fc37114d7b0222c25272ea704fac65c5dddd","unresolved":false,"context_lines":[{"line_number":1227,"context_line":"                          \"action)s. ETA: %(eta)s mins.\")"},{"line_number":1228,"context_line":"                msg_args \u003d {\u0027vol\u0027: volume[\u0027name_id\u0027],"},{"line_number":1229,"context_line":"                            \u0027action\u0027: \u0027, \u0027.join(actions), \u0027eta\u0027: eta}"},{"line_number":1230,"context_line":"                LOG.info(msg, msg_args)"},{"line_number":1231,"context_line":"                time.sleep(self.SLEEP_SECS)"},{"line_number":1232,"context_line":""},{"line_number":1233,"context_line":"    def _garbage_collect_tmp_vols(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_21ebaee0","line":1230,"updated":"2015-10-16 19:53:28.000000000","message":"Not sure why you have split up the Message and the Args like this.  The preferred method is to just put it all in the LOG.info() .","commit_id":"4ad5906f8753e8692eed62cdafff34ab5ac9f8f7"},{"author":{"_account_id":16821,"name":"Michael Price","email":"michael.price@netapp.com","username":"michael.price"},"change_message_id":"b9daf56f998eee882e0eb60521f4d98a6db1aacc","unresolved":false,"context_lines":[{"line_number":1227,"context_line":"                          \"action)s. ETA: %(eta)s mins.\")"},{"line_number":1228,"context_line":"                msg_args \u003d {\u0027vol\u0027: volume[\u0027name_id\u0027],"},{"line_number":1229,"context_line":"                            \u0027action\u0027: \u0027, \u0027.join(actions), \u0027eta\u0027: eta}"},{"line_number":1230,"context_line":"                LOG.info(msg, msg_args)"},{"line_number":1231,"context_line":"                time.sleep(self.SLEEP_SECS)"},{"line_number":1232,"context_line":""},{"line_number":1233,"context_line":"    def _garbage_collect_tmp_vols(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_04ae0681","line":1230,"in_reply_to":"5a2ca52d_21ebaee0","updated":"2015-10-20 22:43:04.000000000","message":"Originally, there were two log entries there that used the same dictionary. It\u0027s no longer necessary.","commit_id":"4ad5906f8753e8692eed62cdafff34ab5ac9f8f7"}]}
