)]}'
{"cinder/volume/flows/manager/attach_volume.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"6d309a4004e81487796aa041d2db2de41511849e","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027attaching\u0027:"},{"line_number":74,"context_line":"            if (volume[\u0027instance_uuid\u0027] and volume[\u0027instance_uuid\u0027] !\u003d"},{"line_number":75,"context_line":"                    instance_uuid):"},{"line_number":76,"context_line":"                msg \u003d _(\"being attached by another instance\")"},{"line_number":77,"context_line":"                raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":78,"context_line":"            if (volume[\u0027attached_host\u0027] and volume[\u0027attached_host\u0027] !\u003d"},{"line_number":79,"context_line":"                    host_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_d64ce3ca","line":76,"updated":"2015-01-25 22:05:03.000000000","message":"Please, start messages with upper-case letters","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":8992,"name":"Billy Olsen","email":"billy.olsen@canonical.com","username":"billy-olsen"},"change_message_id":"364145fee3721592d20ecafa6602fd7a784ee711","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027attaching\u0027:"},{"line_number":74,"context_line":"            if (volume[\u0027instance_uuid\u0027] and volume[\u0027instance_uuid\u0027] !\u003d"},{"line_number":75,"context_line":"                    instance_uuid):"},{"line_number":76,"context_line":"                msg \u003d _(\"being attached by another instance\")"},{"line_number":77,"context_line":"                raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":78,"context_line":"            if (volume[\u0027attached_host\u0027] and volume[\u0027attached_host\u0027] !\u003d"},{"line_number":79,"context_line":"                    host_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_8603880e","line":76,"in_reply_to":"1a930d6b_d64ce3ca","updated":"2015-03-04 19:37:21.000000000","message":"Done","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"6d309a4004e81487796aa041d2db2de41511849e","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            # not always information that must be sent for volumes to operate"},{"line_number":113,"context_line":"            LOG.exception(_LE(\"Failed notifying about the volume \""},{"line_number":114,"context_line":"                              \"action %(event)s for volume %(volume_id)s.\") %"},{"line_number":115,"context_line":"                          {\u0027event\u0027: self.event_suffix,"},{"line_number":116,"context_line":"                           \u0027volume_id\u0027: volume_id})"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_9656db5a","line":115,"updated":"2015-01-25 22:05:03.000000000","message":"According to a logging guidelines, please, change\n% \u003d\u003e ,","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":8992,"name":"Billy Olsen","email":"billy.olsen@canonical.com","username":"billy-olsen"},"change_message_id":"364145fee3721592d20ecafa6602fd7a784ee711","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            # not always information that must be sent for volumes to operate"},{"line_number":113,"context_line":"            LOG.exception(_LE(\"Failed notifying about the volume \""},{"line_number":114,"context_line":"                              \"action %(event)s for volume %(volume_id)s.\") %"},{"line_number":115,"context_line":"                          {\u0027event\u0027: self.event_suffix,"},{"line_number":116,"context_line":"                           \u0027volume_id\u0027: volume_id})"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c904b117","line":115,"in_reply_to":"1a930d6b_9656db5a","updated":"2015-03-04 19:37:21.000000000","message":"Done","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"154203ce5ff1ba911bb6acc8295cc3b6ac47f06d","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"class AttachVolumeTask(flow_utils.CinderTask):"},{"line_number":156,"context_line":"    \"\"\"Verifies that required driver is initialized before going forward."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    Call attach volume only if driver is initialized."},{"line_number":159,"context_line":"    Reversion strategy: N/A."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_ec3a42cc","line":156,"updated":"2015-01-22 14:43:15.000000000","message":"This doesn\u0027t sum up what this task is doing. How about:\n\nVerifies that required driver is initialized and calls attach.","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":8992,"name":"Billy Olsen","email":"billy.olsen@canonical.com","username":"billy-olsen"},"change_message_id":"364145fee3721592d20ecafa6602fd7a784ee711","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"class AttachVolumeTask(flow_utils.CinderTask):"},{"line_number":156,"context_line":"    \"\"\"Verifies that required driver is initialized before going forward."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    Call attach volume only if driver is initialized."},{"line_number":159,"context_line":"    Reversion strategy: N/A."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_29138d5d","line":156,"in_reply_to":"1a930d6b_ec3a42cc","updated":"2015-03-04 19:37:21.000000000","message":"Done","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"154203ce5ff1ba911bb6acc8295cc3b6ac47f06d","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                host_name, mountpoint):"},{"line_number":172,"context_line":"        host_name_sanitized \u003d utils.sanitize_hostname("},{"line_number":173,"context_line":"            host_name) if host_name else None"},{"line_number":174,"context_line":"        utils.require_driver_initialized(self.driver)"},{"line_number":175,"context_line":"        self.driver.attach_volume(context,"},{"line_number":176,"context_line":"                                  volume_ref,"},{"line_number":177,"context_line":"                                  instance_uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_98d2d9d0","line":174,"updated":"2015-01-22 14:43:15.000000000","message":"Just to be sure I understand this correctly. Here an exception can be raised. In old code if that happened volume was set into error_attaching state. This task doesn\u0027t have a revert, because in case of an exception whole flow will be reverted and UpdateAttachInfoVolumeTask will set error_attaching. Is that true?","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"154203ce5ff1ba911bb6acc8295cc3b6ac47f06d","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        return host_name_sanitized"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"class UpdateVolumeTask(flow_utils.CinderTask):"},{"line_number":184,"context_line":"    \"\"\"Updates volume status to attached."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    Reversion strategy: N/A."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_8c2ffef5","line":183,"updated":"2015-01-22 14:43:15.000000000","message":"This name isn\u0027t clearly distinguishable from UpdateAttachInfoVolumeTask. How about UpdateVolumeAttaching and UpdateVolumeAttached? Or any other idea? Naming things is definitely hard. ;)","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":8992,"name":"Billy Olsen","email":"billy.olsen@canonical.com","username":"billy-olsen"},"change_message_id":"364145fee3721592d20ecafa6602fd7a784ee711","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        return host_name_sanitized"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"class UpdateVolumeTask(flow_utils.CinderTask):"},{"line_number":184,"context_line":"    \"\"\"Updates volume status to attached."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    Reversion strategy: N/A."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_891ab96c","line":183,"in_reply_to":"1a930d6b_8c2ffef5","updated":"2015-03-04 19:37:21.000000000","message":"Done","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"}],"cinder/volume/manager.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"6d309a4004e81487796aa041d2db2de41511849e","unresolved":false,"context_lines":[{"line_number":667,"context_line":"            flow_engine \u003d attach_volume.get_flow(self.db,"},{"line_number":668,"context_line":"                                                 self.driver,"},{"line_number":669,"context_line":"                                                 create_what)"},{"line_number":670,"context_line":"        except Exception:"},{"line_number":671,"context_line":"            msg \u003d _(\"Failed to create attach volume flow.\")"},{"line_number":672,"context_line":"            LOG.exception(msg)"},{"line_number":673,"context_line":"            raise exception.CinderException(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_16caeb1a","line":670,"updated":"2015-01-25 22:05:03.000000000","message":"Could we handle more general exceptions here?","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"},{"author":{"_account_id":8992,"name":"Billy Olsen","email":"billy.olsen@canonical.com","username":"billy-olsen"},"change_message_id":"364145fee3721592d20ecafa6602fd7a784ee711","unresolved":false,"context_lines":[{"line_number":667,"context_line":"            flow_engine \u003d attach_volume.get_flow(self.db,"},{"line_number":668,"context_line":"                                                 self.driver,"},{"line_number":669,"context_line":"                                                 create_what)"},{"line_number":670,"context_line":"        except Exception:"},{"line_number":671,"context_line":"            msg \u003d _(\"Failed to create attach volume flow.\")"},{"line_number":672,"context_line":"            LOG.exception(msg)"},{"line_number":673,"context_line":"            raise exception.CinderException(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_095de921","line":670,"in_reply_to":"1a930d6b_16caeb1a","updated":"2015-03-04 19:37:21.000000000","message":"I\u0027m assuming you mean more specific exceptions?","commit_id":"5288d728909dc23d00b8e0d8d02665ba92a3bed2"}]}
