)]}'
{"shade/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"d9074c326a54cf7bc1f25c4fcc28c5dd3ab95fd8","unresolved":false,"context_lines":[{"line_number":676,"context_line":"            )"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        try:"},{"line_number":679,"context_line":"            nova.volumes.delete_server_volume(server.id, volume.id)"},{"line_number":680,"context_line":"        except Exception as e:"},{"line_number":681,"context_line":"            raise OpenStackCloudException("},{"line_number":682,"context_line":"                \"Error detaching volume %s from server %s: %s\" %"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_71518361","line":679,"updated":"2015-02-18 00:18:17.000000000","message":"This is a most unfortunate naming choice on the part of the novaclient api.","commit_id":"d8cd5f2cf2430a1bc79a7672ed56232b2927fed8"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"d9074c326a54cf7bc1f25c4fcc28c5dd3ab95fd8","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        if wait:"},{"line_number":687,"context_line":"            for count in _iterate_timeout("},{"line_number":688,"context_line":"                    timeout,"},{"line_number":689,"context_line":"                    \"Timeout waiting for the volume to attach.\"):"},{"line_number":690,"context_line":"                try:"},{"line_number":691,"context_line":"                    vol \u003d self.get_volume(volume.id, cache\u003dFalse)"},{"line_number":692,"context_line":"                except Exception:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_914a77ab","line":689,"updated":"2015-02-18 00:18:17.000000000","message":"-1: \u0027detach\u0027  (this could be really confusing to a user)","commit_id":"d8cd5f2cf2430a1bc79a7672ed56232b2927fed8"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"941712af0cd50486c4b39ae195c9ad82f7e0d6a7","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        if wait:"},{"line_number":687,"context_line":"            for count in _iterate_timeout("},{"line_number":688,"context_line":"                    timeout,"},{"line_number":689,"context_line":"                    \"Timeout waiting for the volume to attach.\"):"},{"line_number":690,"context_line":"                try:"},{"line_number":691,"context_line":"                    vol \u003d self.get_volume(volume.id, cache\u003dFalse)"},{"line_number":692,"context_line":"                except Exception:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_6f36e104","line":689,"in_reply_to":"da86d52c_914a77ab","updated":"2015-02-18 14:43:37.000000000","message":"Done","commit_id":"d8cd5f2cf2430a1bc79a7672ed56232b2927fed8"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"d9074c326a54cf7bc1f25c4fcc28c5dd3ab95fd8","unresolved":false,"context_lines":[{"line_number":692,"context_line":"                except Exception:"},{"line_number":693,"context_line":"                    continue"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"                if vol.status \u003d\u003d \u0027available\u0027:"},{"line_number":696,"context_line":"                    return"},{"line_number":697,"context_line":""},{"line_number":698,"context_line":"                if vol.status \u003d\u003d \u0027error\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_b1477ba2","line":695,"updated":"2015-02-18 00:18:17.000000000","message":"at some point we should CONST these strings","commit_id":"d8cd5f2cf2430a1bc79a7672ed56232b2927fed8"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"941712af0cd50486c4b39ae195c9ad82f7e0d6a7","unresolved":false,"context_lines":[{"line_number":692,"context_line":"                except Exception:"},{"line_number":693,"context_line":"                    continue"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"                if vol.status \u003d\u003d \u0027available\u0027:"},{"line_number":696,"context_line":"                    return"},{"line_number":697,"context_line":""},{"line_number":698,"context_line":"                if vol.status \u003d\u003d \u0027error\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_6f1d0173","line":695,"in_reply_to":"da86d52c_b1477ba2","updated":"2015-02-18 14:43:37.000000000","message":"It would actually be nice if the clients provided consistent CONST strings for us.  :(  But yes, agreed.","commit_id":"d8cd5f2cf2430a1bc79a7672ed56232b2927fed8"},{"author":{"_account_id":6133,"name":"yolanda.robla","email":"yroblamo@redhat.com","username":"yolanda.robla"},"change_message_id":"cd1a11526dc1a0412e33013a8fe0c29dfc968d2d","unresolved":false,"context_lines":[{"line_number":687,"context_line":"        if wait:"},{"line_number":688,"context_line":"            for count in _iterate_timeout("},{"line_number":689,"context_line":"                    timeout,"},{"line_number":690,"context_line":"                    \"Timeout waiting for the volume to detach.\"):"},{"line_number":691,"context_line":"                try:"},{"line_number":692,"context_line":"                    vol \u003d self.get_volume(volume.id, cache\u003dFalse)"},{"line_number":693,"context_line":"                except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_ed14b3a1","line":690,"updated":"2015-02-24 17:43:57.000000000","message":"i\u0027d like more info about the volume that gave timeout","commit_id":"70ad300b075d48165927d128efcf0ae7dc32a7aa"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"35673acb39d165c322b3fd71823e6f788c0d3be1","unresolved":false,"context_lines":[{"line_number":691,"context_line":"                try:"},{"line_number":692,"context_line":"                    vol \u003d self.get_volume(volume.id, cache\u003dFalse)"},{"line_number":693,"context_line":"                except Exception:"},{"line_number":694,"context_line":"                    continue"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"                if vol.status \u003d\u003d \u0027available\u0027:"},{"line_number":697,"context_line":"                    return"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_bf282887","line":694,"updated":"2015-02-24 15:02:17.000000000","message":"Would it make sense to log some or any of the info from get_volume  throwing an exception in order to enable someone to troubleshoot issues that could be occurring.","commit_id":"70ad300b075d48165927d128efcf0ae7dc32a7aa"},{"author":{"_account_id":6133,"name":"yolanda.robla","email":"yroblamo@redhat.com","username":"yolanda.robla"},"change_message_id":"cd1a11526dc1a0412e33013a8fe0c29dfc968d2d","unresolved":false,"context_lines":[{"line_number":741,"context_line":"        try:"},{"line_number":742,"context_line":"            nova.volumes.create_server_volume(server.id, volume.id, device)"},{"line_number":743,"context_line":"        except Exception as e:"},{"line_number":744,"context_line":"            self.log.debug(\"nova volume attach failed\", exc_info\u003dTrue)"},{"line_number":745,"context_line":"            raise OpenStackCloudException("},{"line_number":746,"context_line":"                \"Error attaching volume %s to server %s: %s\" %"},{"line_number":747,"context_line":"                (volume.id, server.id, e)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_ed62f33c","line":744,"updated":"2015-02-24 17:43:57.000000000","message":"which volume?","commit_id":"70ad300b075d48165927d128efcf0ae7dc32a7aa"},{"author":{"_account_id":6133,"name":"yolanda.robla","email":"yroblamo@redhat.com","username":"yolanda.robla"},"change_message_id":"cd1a11526dc1a0412e33013a8fe0c29dfc968d2d","unresolved":false,"context_lines":[{"line_number":750,"context_line":"        if wait:"},{"line_number":751,"context_line":"            for count in _iterate_timeout("},{"line_number":752,"context_line":"                    timeout,"},{"line_number":753,"context_line":"                    \"Timeout waiting for the volume to attach.\"):"},{"line_number":754,"context_line":"                try:"},{"line_number":755,"context_line":"                    vol \u003d self.get_volume(volume.id, cache\u003dFalse)"},{"line_number":756,"context_line":"                except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_6d56035e","line":753,"updated":"2015-02-24 17:43:57.000000000","message":"same comments","commit_id":"70ad300b075d48165927d128efcf0ae7dc32a7aa"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"35673acb39d165c322b3fd71823e6f788c0d3be1","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                try:"},{"line_number":755,"context_line":"                    vol \u003d self.get_volume(volume.id, cache\u003dFalse)"},{"line_number":756,"context_line":"                except Exception:"},{"line_number":757,"context_line":"                    continue"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"                if self._get_volume_attach_device(vol, server.id):"},{"line_number":760,"context_line":"                    return"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_6d01adae","line":757,"updated":"2015-02-24 15:02:17.000000000","message":"Would it make sense to record some or any of the info from get_volume  throwing an exception?","commit_id":"70ad300b075d48165927d128efcf0ae7dc32a7aa"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"ca4213ee60a2e5a69ec93ecdd4267dc097b2739c","unresolved":false,"context_lines":[{"line_number":639,"context_line":"        return self.get_volume("},{"line_number":640,"context_line":"            name_or_id, cache\u003dFalse, error\u003dFalse) is not None"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"    def _get_volume_attach_device(self, volume, server_id):"},{"line_number":643,"context_line":"        \"\"\"Return the device name a volume is attached to for a server."},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        This can also be used to verify if a volume is attached to"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_6c9ec164","line":642,"updated":"2015-02-25 23:58:34.000000000","message":"I think this method is potentially useful to expose, was there are reason it was made private?","commit_id":"9a987c5e572eb003a5683e6f3bb64e2fa9fed362"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"ca4213ee60a2e5a69ec93ecdd4267dc097b2739c","unresolved":false,"context_lines":[{"line_number":769,"context_line":"                if vol.status \u003d\u003d \u0027error\u0027:"},{"line_number":770,"context_line":"                    raise OpenStackCloudException("},{"line_number":771,"context_line":"                        \"Error in attaching volume %s\" % volume.id"},{"line_number":772,"context_line":"                    )"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    def get_server_id(self, name_or_id):"},{"line_number":775,"context_line":"        server \u003d self.get_server(name_or_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_8c99357b","line":772,"updated":"2015-02-25 23:58:34.000000000","message":"Is it possible for vol.status to equal \u0027error\u0027 while being attached to the node? If so we should flip the two checks here so that we check status then check attach device.","commit_id":"9a987c5e572eb003a5683e6f3bb64e2fa9fed362"}]}
