)]}'
{"cinder/volume/drivers/netapp/eseries/library.py":[{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"6468b30ab3ae581d4658370d8acf828b0357ec1a","unresolved":false,"context_lines":[{"line_number":673,"context_line":"            job \u003d None"},{"line_number":674,"context_line":"            job \u003d self._client.create_volume_copy_job(src_vol[\u0027id\u0027],"},{"line_number":675,"context_line":"                                                      dst_vol[\u0027volumeRef\u0027])"},{"line_number":676,"context_line":"            while True:"},{"line_number":677,"context_line":"                j_st \u003d self._client.list_vol_copy_job(job[\u0027volcopyRef\u0027])"},{"line_number":678,"context_line":"                if (j_st[\u0027status\u0027] \u003d\u003d \u0027inProgress\u0027 or j_st[\u0027status\u0027] \u003d\u003d"},{"line_number":679,"context_line":"                        \u0027pending\u0027 or j_st[\u0027status\u0027] \u003d\u003d \u0027unknown\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_b82598ac","line":676,"range":{"start_line":676,"start_character":0,"end_line":676,"end_character":12},"updated":"2016-02-20 09:56:37.000000000","message":"What about using loopingcall util to replace this while loop?","commit_id":"b011e4a35a81d680321662e2876a12c749813b08"},{"author":{"_account_id":16821,"name":"Michael Price","email":"michael.price@netapp.com","username":"michael.price"},"change_message_id":"e421ad6df96c770a14a193d5821d2b442870820e","unresolved":false,"context_lines":[{"line_number":673,"context_line":"            job \u003d None"},{"line_number":674,"context_line":"            job \u003d self._client.create_volume_copy_job(src_vol[\u0027id\u0027],"},{"line_number":675,"context_line":"                                                      dst_vol[\u0027volumeRef\u0027])"},{"line_number":676,"context_line":"            while True:"},{"line_number":677,"context_line":"                j_st \u003d self._client.list_vol_copy_job(job[\u0027volcopyRef\u0027])"},{"line_number":678,"context_line":"                if (j_st[\u0027status\u0027] \u003d\u003d \u0027inProgress\u0027 or j_st[\u0027status\u0027] \u003d\u003d"},{"line_number":679,"context_line":"                        \u0027pending\u0027 or j_st[\u0027status\u0027] \u003d\u003d \u0027unknown\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_89658cb6","line":676,"range":{"start_line":676,"start_character":0,"end_line":676,"end_character":12},"in_reply_to":"bae84128_b82598ac","updated":"2016-02-23 08:02:37.000000000","message":"I can refactor to use loopingcall. We\u0027ve done that in other places.","commit_id":"b011e4a35a81d680321662e2876a12c749813b08"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"6468b30ab3ae581d4658370d8acf828b0357ec1a","unresolved":false,"context_lines":[{"line_number":726,"context_line":"    def _is_cgsnapshot(self, snapshot_image):"},{"line_number":727,"context_line":"        \"\"\"Determine if an E-Series snapshot image is part of a cgsnapshot\"\"\""},{"line_number":728,"context_line":"        cg_id \u003d snapshot_image.get(\u0027consistencyGroupId\u0027)"},{"line_number":729,"context_line":"        # A snapshot not part of a consistency group may have a cg_id of"},{"line_number":730,"context_line":"        # either none or a string of all 0\u0027s, so we check for both"},{"line_number":731,"context_line":"        return not (cg_id is None or utils.NULL_REF \u003d\u003d cg_id)"},{"line_number":732,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_d857bc00","line":729,"range":{"start_line":729,"start_character":21,"end_line":729,"end_character":24},"updated":"2016-02-20 09:56:37.000000000","message":"is not..","commit_id":"b011e4a35a81d680321662e2876a12c749813b08"},{"author":{"_account_id":16821,"name":"Michael Price","email":"michael.price@netapp.com","username":"michael.price"},"change_message_id":"e421ad6df96c770a14a193d5821d2b442870820e","unresolved":false,"context_lines":[{"line_number":726,"context_line":"    def _is_cgsnapshot(self, snapshot_image):"},{"line_number":727,"context_line":"        \"\"\"Determine if an E-Series snapshot image is part of a cgsnapshot\"\"\""},{"line_number":728,"context_line":"        cg_id \u003d snapshot_image.get(\u0027consistencyGroupId\u0027)"},{"line_number":729,"context_line":"        # A snapshot not part of a consistency group may have a cg_id of"},{"line_number":730,"context_line":"        # either none or a string of all 0\u0027s, so we check for both"},{"line_number":731,"context_line":"        return not (cg_id is None or utils.NULL_REF \u003d\u003d cg_id)"},{"line_number":732,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_d6a58447","line":729,"range":{"start_line":729,"start_character":21,"end_line":729,"end_character":24},"in_reply_to":"bae84128_d857bc00","updated":"2016-02-23 08:02:37.000000000","message":"Done","commit_id":"b011e4a35a81d680321662e2876a12c749813b08"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"23ee7579b35c0d9f31fdec5bbb757edb9cfc89cb","unresolved":false,"context_lines":[{"line_number":1770,"context_line":"                        \u0027status\u0027: \u0027available\u0027"},{"line_number":1771,"context_line":"                    }"},{"line_number":1772,"context_line":"                    snap.update(snapshot_update)"},{"line_number":1773,"context_line":"                    snap.save()"},{"line_number":1774,"context_line":""},{"line_number":1775,"context_line":"        return None, None"},{"line_number":1776,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_bb02d909","line":1773,"updated":"2016-02-24 23:41:52.000000000","message":"Driver should not be updating the db directly.  Add snapshot_update to a list and return to the manager.  Manager will do the update.","commit_id":"ec7ca16b41e71bf7009963335076d2376fbacb35"},{"author":{"_account_id":16821,"name":"Michael Price","email":"michael.price@netapp.com","username":"michael.price"},"change_message_id":"ea14e5693bbf77e5542877ade8f285c3ebb323be","unresolved":false,"context_lines":[{"line_number":1770,"context_line":"                        \u0027status\u0027: \u0027available\u0027"},{"line_number":1771,"context_line":"                    }"},{"line_number":1772,"context_line":"                    snap.update(snapshot_update)"},{"line_number":1773,"context_line":"                    snap.save()"},{"line_number":1774,"context_line":""},{"line_number":1775,"context_line":"        return None, None"},{"line_number":1776,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_69a96f7b","line":1773,"in_reply_to":"bae84128_bb02d909","updated":"2016-02-26 18:29:15.000000000","message":"I have refactored the code to return the snapshot_update.","commit_id":"ec7ca16b41e71bf7009963335076d2376fbacb35"}]}
