)]}'
{"ironic_python_agent/hardware.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5f62e56f44547ca5efce96fb37b39e834ae6b7d7","unresolved":false,"context_lines":[{"line_number":890,"context_line":""},{"line_number":891,"context_line":"    def _ata_erase(self, block_device):"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"        def __attempt_unlock_drive(block_device, security_lines\u003dNone):"},{"line_number":894,"context_line":"            # Attempt to unlock the drive in the event it has already been"},{"line_number":895,"context_line":"            # locked by a previous failed attempt. We try the empty string as"},{"line_number":896,"context_line":"            # versions of hdparm \u003c 9.51, interpreted NULL as the literal"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_74cf18b3","line":893,"updated":"2018-06-19 09:20:45.000000000","message":"nit: it\u0027s quite confusing to have a local variable shadowing a higher level one","commit_id":"0f7b5a0896cf1b3080b7679278ff97a8dff0be80"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5f62e56f44547ca5efce96fb37b39e834ae6b7d7","unresolved":false,"context_lines":[{"line_number":897,"context_line":"            # string, \"NULL\", as opposed to the empty string."},{"line_number":898,"context_line":"            if not security_lines:"},{"line_number":899,"context_line":"                security_lines \u003d self._get_ata_security_lines(block_device)"},{"line_number":900,"context_line":"            unlock_passwords \u003d [\u0027NULL\u0027, \u0027\u0027]"},{"line_number":901,"context_line":"            for password in unlock_passwords:"},{"line_number":902,"context_line":"                if \u0027not locked\u0027 in security_lines:"},{"line_number":903,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_94d2f45a","line":900,"updated":"2018-06-19 09:20:45.000000000","message":"nit: can be a top-level constant","commit_id":"0f7b5a0896cf1b3080b7679278ff97a8dff0be80"}],"releasenotes/notes/attempts-ata-disk-unlock-897d76c494ec2976.yaml":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"87beb60ce5a812bf35ddc0e199a616f29aa3931b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes the ATA Secure Erase logic to attempt an immediate unlock in the"},{"line_number":5,"context_line":"    event of a failed attempt to Secure Erase. This is required to permit"},{"line_number":6,"context_line":"    fallback to use of the ``shred`` disk utility as the security mode for"},{"line_number":7,"context_line":"    Secure Erase blocks IO operations otherwise, and can only be exited via"},{"line_number":8,"context_line":"    a completed Secure Erase operation or an explicit attempt to unlock."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_a9d7aec0","line":6,"updated":"2018-06-18 14:35:36.000000000","message":"s/to use of/to make use of/ ?\n\nor\n\ns/to use of/to use/","commit_id":"87747d3d5955de871e264928328b9c5af17c9dc0"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"87beb60ce5a812bf35ddc0e199a616f29aa3931b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    event of a failed attempt to Secure Erase. This is required to permit"},{"line_number":6,"context_line":"    fallback to use of the ``shred`` disk utility as the security mode for"},{"line_number":7,"context_line":"    Secure Erase blocks IO operations otherwise, and can only be exited via"},{"line_number":8,"context_line":"    a completed Secure Erase operation or an explicit attempt to unlock."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    This should also prevent cases where an ATA Secure Erase operation fails"},{"line_number":11,"context_line":"    with a pass-through disk controller, which may prevent the disk from"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_4997faec","line":8,"updated":"2018-06-18 14:35:36.000000000","message":"The above sentence is really long, I\u0027m not totally sure what you mean. Is the shred disk utility the security mode for Secure Erase blocks IO operations? What can only be exited via ... ?","commit_id":"87747d3d5955de871e264928328b9c5af17c9dc0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6424abc507a6d7324b4f0db5dfe9c0db3b817c04","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    event of a failed attempt to Secure Erase. This is required to permit"},{"line_number":6,"context_line":"    fallback to use of the ``shred`` disk utility as the security mode for"},{"line_number":7,"context_line":"    Secure Erase blocks IO operations otherwise, and can only be exited via"},{"line_number":8,"context_line":"    a completed Secure Erase operation or an explicit attempt to unlock."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    This should also prevent cases where an ATA Secure Erase operation fails"},{"line_number":11,"context_line":"    with a pass-through disk controller, which may prevent the disk from"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_64ff7dab","line":8,"in_reply_to":"5f7c97a3_4997faec","updated":"2018-06-18 14:48:36.000000000","message":"Shred is the action command/tool that is used to wipe the disk. We could split it I guess.","commit_id":"87747d3d5955de871e264928328b9c5af17c9dc0"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"c91d24e73cb5d477d3468e7737d68ee30a654cf2","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    event of a failed attempt to Secure Erase. This is required to permit"},{"line_number":6,"context_line":"    fallback to use of the ``shred`` disk utility as the security mode for"},{"line_number":7,"context_line":"    Secure Erase blocks IO operations otherwise, and can only be exited via"},{"line_number":8,"context_line":"    a completed Secure Erase operation or an explicit attempt to unlock."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    This should also prevent cases where an ATA Secure Erase operation fails"},{"line_number":11,"context_line":"    with a pass-through disk controller, which may prevent the disk from"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_04d329d7","line":8,"in_reply_to":"5f7c97a3_64ff7dab","updated":"2018-06-18 14:59:39.000000000","message":"So something like...:\n\nIn the event of a failed attempt to ATA Secure Erase (when e.g. deleting an instance), the device might be locked. In this state, the security mode for Secure Erase blocks IO operations. The only way to get out of this security mode is to do a complete Secure Erase operation or explicitly attempt to unlock the device. In this locked state, the ``shred`` disk utility (the fallback) wasn\u0027t working.\n\nThis fixes the issue by explicitly attempting an immediate unlock in the event of a failed attempt to Secure Erase.\n\nThis should also prevent...\n\nFor more information, see...","commit_id":"87747d3d5955de871e264928328b9c5af17c9dc0"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"87beb60ce5a812bf35ddc0e199a616f29aa3931b","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    This should also prevent cases where an ATA Secure Erase operation fails"},{"line_number":11,"context_line":"    with a pass-through disk controller, which may prevent the disk from"},{"line_number":12,"context_line":"    being available after a reboot operation."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_e96926f8","line":12,"updated":"2018-06-18 14:35:36.000000000","message":"Would be good to add a link to the Story.","commit_id":"87747d3d5955de871e264928328b9c5af17c9dc0"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"145a20d2a9f73e6098353e4de2d622607ed010e3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Fixes the ATA Secure Erase logic to attempt an immediate unlock in the"},{"line_number":5,"context_line":"    event of a failed attempt to Secure Erase. This is required to permit"},{"line_number":6,"context_line":"    fallback to make use of the ``shred`` disk utility."},{"line_number":7,"context_line":"    "},{"line_number":8,"context_line":"    In the event that an ATA Secure Erase operation fails during cleaning,"},{"line_number":9,"context_line":"    the disk will be write locked. In this case, the disk must be explicitly"},{"line_number":10,"context_line":"    unlocked."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_60e444e1","line":7,"updated":"2018-06-18 18:34:12.000000000","message":"I can\u0027t remember if the guards will complain about a non-empty blank line.","commit_id":"68e86f2ff1dc90af98fa0b29e60dc63ee6f3df4c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5dc631223646aa9ff13127a70c6970143980551","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Fixes the ATA Secure Erase logic to attempt an immediate unlock in the"},{"line_number":5,"context_line":"    event of a failed attempt to Secure Erase. This is required to permit"},{"line_number":6,"context_line":"    fallback to make use of the ``shred`` disk utility."},{"line_number":7,"context_line":"    "},{"line_number":8,"context_line":"    In the event that an ATA Secure Erase operation fails during cleaning,"},{"line_number":9,"context_line":"    the disk will be write locked. In this case, the disk must be explicitly"},{"line_number":10,"context_line":"    unlocked."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_46d5a046","line":7,"in_reply_to":"5f7c97a3_60e444e1","updated":"2018-06-18 19:43:17.000000000","message":"LOL!","commit_id":"68e86f2ff1dc90af98fa0b29e60dc63ee6f3df4c"}]}
