)]}'
{"id":"openstack%2Fironic-python-agent~558533","triplet_id":"openstack%2Fironic-python-agent~master~I5d4e18e7d7209dda89181fbcc202b199f130af89","project":"openstack/ironic-python-agent","branch":"master","topic":"security-unlock","hashtags":[],"change_id":"I5d4e18e7d7209dda89181fbcc202b199f130af89","subject":"Do not abort ata secure erase if security is in enabled state","status":"ABANDONED","created":"2018-04-03 14:54:11.000000000","updated":"2018-05-15 13:42:40.000000000","total_comment_count":13,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"0731e4c4b9ab659998ffeda7311b7f2031282184","_number":558533,"virtual_id_number":558533,"owner":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"value":1,"date":"2018-04-26 12:58:19.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"recommended":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":1,"date":"2018-04-26 11:56:05.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2018-04-03 15:28:30.000000000","updated_by":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"reviewer":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"state":"REVIEWER"},{"updated":"2018-04-03 17:21:01.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"},{"updated":"2018-04-26 11:56:05.000000000","updated_by":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"reviewer":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"state":"REVIEWER"},{"updated":"2018-04-26 12:58:19.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"6442d5b0f1977a063caba67a26702321f7e18a41","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2018-04-03 14:54:11.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e4ddc5dfbb95008a44e7f29a34aced80e18601cc","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2018-04-03 15:13:58.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"6a79c9cbc243d3aea2532cd3bce3b075f916aafc","author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"date":"2018-04-03 15:32:00.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"6b03f3e31df60659da5d1810b70ebf783c2d22f6","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2018-04-03 15:39:49.000000000","message":"Patch Set 3: Published edit on patch set 2.","accounts_in_message":[],"_revision_number":3},{"id":"5e769a4a8bfb206a828b253d1040a661a8f95a2b","author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"date":"2018-04-03 15:51:49.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"933c1495cc52237811944d18750126e92f2803d4","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-04-03 17:07:33.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-pep8 http://logs.openstack.org/33/558533/3/check/openstack-tox-pep8/9560fcc/ : SUCCESS in 2m 54s\n- openstack-tox-py27 http://logs.openstack.org/33/558533/3/check/openstack-tox-py27/8dfe475/ : SUCCESS in 3m 14s\n- openstack-tox-py35 http://logs.openstack.org/33/558533/3/check/openstack-tox-py35/e52b2ac/ : SUCCESS in 3m 29s\n- build-openstack-sphinx-docs http://logs.openstack.org/33/558533/3/check/build-openstack-sphinx-docs/964d61c/html/ : SUCCESS in 3m 24s\n- ipa-tempest-dsvm-partition-bios-agent_ipmitool-coreos-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-partition-bios-agent_ipmitool-coreos-src/22af51e/ : SUCCESS in 59m 16s\n- ipa-tempest-dsvm-partition-bios-agent_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-partition-bios-agent_ipmitool-tinyipa-src/8c97989/ : SUCCESS in 55m 58s\n- ipa-tempest-dsvm-partition-bios-pxe_ipmitool-coreos-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-partition-bios-pxe_ipmitool-coreos-src/1e6a3bb/ : FAILURE in 1h 23m 18s\n- ipa-tempest-dsvm-partition-bios-pxe_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-partition-bios-pxe_ipmitool-tinyipa-src/af19c5a/ : SUCCESS in 48m 44s\n- ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-coreos-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-coreos-src/e545b70/ : FAILURE in 1h 21m 01s\n- ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-tinyipa-src/b190d7e/ : SUCCESS in 57m 10s\n- ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-coreos-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-coreos-src/d115e72/ : SUCCESS in 55m 51s\n- ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-tinyipa-src/ff2b469/ : FAILURE in 1h 22m 56s\n- ipa-tempest-dsvm-ironic-inspector-src http://logs.openstack.org/33/558533/3/check/ipa-tempest-dsvm-ironic-inspector-src/750a6bb/ : SUCCESS in 1h 03m 41s (non-voting)\n- openstack-tox-functional http://logs.openstack.org/33/558533/3/check/openstack-tox-functional/04c1b8a/ : SUCCESS in 4m 05s (non-voting)\n- openstack-tox-lower-constraints http://logs.openstack.org/33/558533/3/check/openstack-tox-lower-constraints/eaf2c17/ : SUCCESS in 2m 52s","accounts_in_message":[],"_revision_number":3},{"id":"2e7ee055d15d3657b0a59a779e9546bb773018db","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2018-04-03 17:20:25.000000000","message":"Patch Set 3:\n\n(1 comment)\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"d71efe4c4a7bf7d33e34283f367c9033471f9d1c","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2018-04-03 17:21:01.000000000","message":"Patch Set 3: Code-Review+2\n\nLooks good to me, but it has been a long time since I\u0027ve looked at this code, I\u0027d prefer several cores to take a look at this.","accounts_in_message":[],"_revision_number":3},{"id":"136c4c8590f1a6b41817ee02f8172ec9aeddefe5","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2018-04-24 14:24:53.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"9e2475ae95772c864ae726acf086c2ac0970e6e8","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-04-24 16:07:03.000000000","message":"Patch Set 4: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-pep8 http://logs.openstack.org/33/558533/4/check/openstack-tox-pep8/517d9d9/ : SUCCESS in 3m 05s\n- openstack-tox-py27 http://logs.openstack.org/33/558533/4/check/openstack-tox-py27/1577306/ : SUCCESS in 3m 53s\n- openstack-tox-py35 http://logs.openstack.org/33/558533/4/check/openstack-tox-py35/ca79b57/ : SUCCESS in 2m 58s\n- build-openstack-sphinx-docs http://logs.openstack.org/33/558533/4/check/build-openstack-sphinx-docs/d740b74/html/ : SUCCESS in 3m 32s\n- ipa-tempest-dsvm-partition-bios-agent_ipmitool-coreos-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-partition-bios-agent_ipmitool-coreos-src/bb231be/ : FAILURE in 1h 01m 27s\n- ipa-tempest-dsvm-partition-bios-agent_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-partition-bios-agent_ipmitool-tinyipa-src/883da0f/ : SUCCESS in 52m 20s\n- ipa-tempest-dsvm-partition-bios-pxe_ipmitool-coreos-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-partition-bios-pxe_ipmitool-coreos-src/adbfd16/ : SUCCESS in 55m 27s\n- ipa-tempest-dsvm-partition-bios-pxe_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-partition-bios-pxe_ipmitool-tinyipa-src/d40bab6/ : SUCCESS in 48m 39s\n- ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-coreos-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-coreos-src/9004759/ : SUCCESS in 56m 23s\n- ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-tinyipa-src/b69345c/ : SUCCESS in 50m 07s\n- ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-coreos-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-coreos-src/980f88e/ : SUCCESS in 52m 53s\n- ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-tinyipa-src/5edd1c0/ : SUCCESS in 54m 05s\n- ipa-tempest-dsvm-ironic-inspector-src http://logs.openstack.org/33/558533/4/check/ipa-tempest-dsvm-ironic-inspector-src/fa58b89/ : SUCCESS in 1h 18m 27s (non-voting)\n- openstack-tox-functional http://logs.openstack.org/33/558533/4/check/openstack-tox-functional/f55e37c/ : SUCCESS in 3m 57s (non-voting)\n- openstack-tox-lower-constraints http://logs.openstack.org/33/558533/4/check/openstack-tox-lower-constraints/1623f4a/ : SUCCESS in 3m 06s","accounts_in_message":[],"_revision_number":4},{"id":"be71327f38cdbc69c57d7dc5c51f48c561cab276","author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"date":"2018-04-25 08:47:01.000000000","message":"Patch Set 4: Code-Review+1\n\n(10 comments)\n\nThis seems to make sense to me.","accounts_in_message":[],"_revision_number":4},{"id":"73fea5569c721bd1114a2b0fc92f065f43e23472","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2018-04-26 11:49:36.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"c173941cae0bf72c844d0adc151463d48597e515","author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"date":"2018-04-26 11:56:05.000000000","message":"Patch Set 5: Code-Review+1\n\nThanks Will","accounts_in_message":[],"_revision_number":5},{"id":"d767be6e64392a95178cf6e11b5d72c597e27493","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-04-26 12:58:19.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/33/558533/5/check/openstack-tox-pep8/c15066c/ : SUCCESS in 2m 38s\n- openstack-tox-py27 http://logs.openstack.org/33/558533/5/check/openstack-tox-py27/db990b0/ : SUCCESS in 2m 25s\n- openstack-tox-py35 http://logs.openstack.org/33/558533/5/check/openstack-tox-py35/300b172/ : SUCCESS in 3m 09s\n- build-openstack-sphinx-docs http://logs.openstack.org/33/558533/5/check/build-openstack-sphinx-docs/b4f75f0/html/ : SUCCESS in 3m 46s\n- ipa-tempest-dsvm-partition-bios-agent_ipmitool-coreos-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-partition-bios-agent_ipmitool-coreos-src/0b2490c/ : SUCCESS in 47m 38s\n- ipa-tempest-dsvm-partition-bios-agent_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-partition-bios-agent_ipmitool-tinyipa-src/dae6e57/ : SUCCESS in 1h 01m 29s\n- ipa-tempest-dsvm-partition-bios-pxe_ipmitool-coreos-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-partition-bios-pxe_ipmitool-coreos-src/e92aeae/ : SUCCESS in 52m 11s\n- ipa-tempest-dsvm-partition-bios-pxe_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-partition-bios-pxe_ipmitool-tinyipa-src/5219ead/ : SUCCESS in 54m 08s\n- ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-coreos-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-coreos-src/fad8c74/ : SUCCESS in 55m 32s\n- ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-wholedisk-bios-agent_ipmitool-tinyipa-src/7174c7f/ : SUCCESS in 54m 34s\n- ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-coreos-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-coreos-src/2148ce1/ : SUCCESS in 48m 33s\n- ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-tinyipa-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-wholedisk-bios-pxe_ipmitool-tinyipa-src/7ff9e52/ : SUCCESS in 45m 26s\n- ipa-tempest-dsvm-ironic-inspector-src http://logs.openstack.org/33/558533/5/check/ipa-tempest-dsvm-ironic-inspector-src/819ac4c/ : SUCCESS in 1h 06m 50s (non-voting)\n- openstack-tox-functional http://logs.openstack.org/33/558533/5/check/openstack-tox-functional/e84425e/ : SUCCESS in 3m 33s (non-voting)\n- openstack-tox-lower-constraints http://logs.openstack.org/33/558533/5/check/openstack-tox-lower-constraints/1914968/ : SUCCESS in 2m 58s","accounts_in_message":[],"_revision_number":5},{"id":"273269ec0bc27b6c32d7b6b13e722354a77c761a","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2018-05-15 13:42:40.000000000","message":"Abandoned\n\nabandoned in favour of 557755","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"5e6286038ee65df56c361bc42c3267d7a9aab97c","revisions":{"731b2b1ebf33e55870488e55202d0d46846e0257":{"kind":"REWORK","_number":1,"created":"2018-04-03 14:54:11.000000000","uploader":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"ref":"refs/changes/33/558533/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/33/558533/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/1"}}},"commit":{"parents":[{"commit":"caa95e215352fed1396d08cf7d5d1135f51436f9","subject":"Pass empty string to hdparm --security-unlock in GenericHardwareManager","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/caa95e215352fed1396d08cf7d5d1135f51436f9"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-03 14:45:49.000000000","tz":60},"committer":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-03 14:45:49.000000000","tz":60},"subject":"Do not abort ata secure erase if drive security is in enabled state","message":"Do not abort ata secure erase if drive security is in enabled state\n\nAt least in the case of INTEL SSDSC2BX016T4R drives, a\n\u0027 hdparm --security-unlock\u0027 command does not remove the enabled line of the\nsecurity section of `hdparm -I`. As a consequence, the GenericHardwareManager\ndoes not perform an ata secure erase (it relies on this line to be set\nto `not enabled`).\n\nFor an INTEL SSDSC2BX016T4R, it has been manually verfied that the following\nsequence of steps perform a secure erase sucessfully:\n\n- hdparm --user-master u --security-unlock /dev/sda\n- hdparm --user-master u --security-set-pass NULL /dev/sda\n- hdparm --user-master u --security-erase-enhanced NULL /dev/sda\n\nthis is indicated by the \"not enabled\" line appearing in the output of\n`hdparm -I /dev/sda`. It is therefore proposed that we do not actually care\nif the `enabled` line appears in the output pre-erase. We should only verify\nthat is set to \"not enabled\" after an erase is attempted.\n\nWhen we do not check the enabled line, the test\ntest_erase_block_device_ata_security_enabled becomes redundant with\ntest_erase_block_device_ata_security_enabled_unlock_exception taking its place.\n\nAs the tests are very dependent on the order of calls to `utils.execute`, I\nadded some asserts to the failure cases to ensure that the correct call was\nfailing.\n\nChange-Id: I5d4e18e7d7209dda89181fbcc202b199f130af89\nStory: 2001763\nTask: 12162\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/731b2b1ebf33e55870488e55202d0d46846e0257"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/731b2b1ebf33e55870488e55202d0d46846e0257"}]},"branch":"refs/heads/master"},"01700fd75d592c7dddadf9452832827768ca7c23":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":2,"created":"2018-04-03 15:13:58.000000000","uploader":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"ref":"refs/changes/33/558533/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/33/558533/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/2"}}},"commit":{"parents":[{"commit":"b6273725f5bf153bfa29f3a6f1bb5524de42952a","subject":"Pass empty string to hdparm --security-unlock in GenericHardwareManager","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b6273725f5bf153bfa29f3a6f1bb5524de42952a"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-03 14:45:49.000000000","tz":60},"committer":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-03 15:07:33.000000000","tz":60},"subject":"Do not abort ata secure erase if security is in enabled state","message":"Do not abort ata secure erase if security is in enabled state\n\nAt least in the case of INTEL SSDSC2BX016T4R drives, a \u0027hdparm\n--security-unlock\u0027 command does not remove the enabled line of the\nsecurity section of `hdparm -I`. As a consequence, the\nGenericHardwareManager does not perform an ata secure erase (it relies\non this line to be set to `not enabled`).\n\nFor an INTEL SSDSC2BX016T4R, it has been manually verfied that the\nfollowing sequence of steps perform a secure erase sucessfully:\n\n- hdparm --user-master u --security-unlock /dev/sda\n- hdparm --user-master u --security-set-pass NULL /dev/sda\n- hdparm --user-master u --security-erase-enhanced NULL /dev/sda\n\nthis is indicated by the \"not enabled\" line appearing in the output of\n`hdparm -I /dev/sda`. It is therefore proposed that we do not actually\ncare if the `enabled` line appears in the output pre-erase. We should\nonly verify that is set to \"not enabled\" after an erase is attempted.\n\nWhen we do not check the enabled line, the test\ntest_erase_block_device_ata_security_enabled becomes redundant with\ntest_erase_block_device_ata_security_enabled_unlock_exception taking its\nplace.\n\nAs the tests are very dependent on the order of calls to `utils.execute`, I\nadded some asserts to the failure cases to ensure that the correct call was\nfailing.\n\nChange-Id: I5d4e18e7d7209dda89181fbcc202b199f130af89\nStory: 2001763\nTask: 12162\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/01700fd75d592c7dddadf9452832827768ca7c23"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/01700fd75d592c7dddadf9452832827768ca7c23"}]},"branch":"refs/heads/master"},"4f080c61a5b1df5255102f6b2366e9171e09955c":{"kind":"REWORK","_number":3,"created":"2018-04-03 15:39:49.000000000","uploader":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"ref":"refs/changes/33/558533/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/33/558533/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/3"}}},"commit":{"parents":[{"commit":"b6273725f5bf153bfa29f3a6f1bb5524de42952a","subject":"Pass empty string to hdparm --security-unlock in GenericHardwareManager","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b6273725f5bf153bfa29f3a6f1bb5524de42952a"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-03 14:45:49.000000000","tz":60},"committer":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-03 15:38:45.000000000","tz":0},"subject":"Do not abort ata secure erase if security is in enabled state","message":"Do not abort ata secure erase if security is in enabled state\n\nAt least in the case of INTEL SSDSC2BX016T4R drives, a \u0027hdparm\n--security-unlock\u0027 command does not remove the enabled line of the\nsecurity section of `hdparm -I`. As a consequence, the\nGenericHardwareManager does not perform an ata secure erase (it relies\non this line to be set to `not enabled`).\n\nFor an INTEL SSDSC2BX016T4R, it has been manually verfied that the\nfollowing sequence of steps perform a secure erase sucessfully:\n\n- hdparm --user-master u --security-unlock /dev/sda\n- hdparm --user-master u --security-set-pass NULL /dev/sda\n- hdparm --user-master u --security-erase-enhanced NULL /dev/sda\n\nthis is indicated by the \"not enabled\" line appearing in the output of\n`hdparm -I /dev/sda`. It is therefore proposed that we do not actually\ncare if the `enabled` line appears in the output pre-erase. We should\nonly verify that is set to \"not enabled\" after an erase is attempted.\n\nWhen we do not check the enabled line, the test\ntest_erase_block_device_ata_security_enabled becomes redundant with\ntest_erase_block_device_ata_security_enabled_unlock_exception taking its\nplace.\n\nAs the tests are very dependent on the order of calls to `utils.execute`, I\nadded some asserts to the failure cases to ensure that the correct call was\nfailing.\n\nChange-Id: I5d4e18e7d7209dda89181fbcc202b199f130af89\nStory: 2001763\nTask: 12162\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/4f080c61a5b1df5255102f6b2366e9171e09955c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/4f080c61a5b1df5255102f6b2366e9171e09955c"}]},"branch":"refs/heads/master"},"eac915973696c20c0907cbf1d4ba338b0f3632c8":{"kind":"REWORK","_number":4,"created":"2018-04-24 14:24:53.000000000","uploader":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"ref":"refs/changes/33/558533/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/33/558533/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/4"}}},"commit":{"parents":[{"commit":"b6273725f5bf153bfa29f3a6f1bb5524de42952a","subject":"Pass empty string to hdparm --security-unlock in GenericHardwareManager","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b6273725f5bf153bfa29f3a6f1bb5524de42952a"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-03 14:45:49.000000000","tz":60},"committer":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-24 13:50:40.000000000","tz":60},"subject":"Do not abort ata secure erase if security is in enabled state","message":"Do not abort ata secure erase if security is in enabled state\n\nAt least in the case of INTEL SSDSC2BX016T4R drives, a \u0027hdparm\n--security-unlock\u0027 command does not remove the enabled line of the\nsecurity section of `hdparm -I`.  This is in accordance with\nthe ATA security specification, where a security-unlock command\ncauses a state transition from SEC4 (security enabled, locked,\nnot frozen) to SEC5 (security enabled, unlocked, not frozen).\nAs a consequence, the GenericHardwareManager does not perform an\nATA secure erase (it relies on this line to be set to `not enabled`).\n\nFor an INTEL SSDSC2BX016T4R, it has been manually verfied that the\nfollowing sequence of steps perform a secure erase sucessfully:\n\n- hdparm --user-master u --security-unlock /dev/sda\n- hdparm --user-master u --security-set-pass NULL /dev/sda\n- hdparm --user-master u --security-erase-enhanced NULL /dev/sda\n\nthis is indicated by the \"not enabled\" line appearing in the output of\n`hdparm -I /dev/sda`. It is therefore proposed that we do not actually\ncare if the `enabled` line appears in the output pre-erase. We should\nonly verify that is set to \"not enabled\" after an erase is attempted.\n\nWe need to ensure the device is the correct security state (SEC5) for\nsecure erase to succeed. If the device has just been unlocked, it\nshould already be in the SEC5 state and we do not need to set a\npassword. I have added an addition if statement to assert that it\nis in the unlocked state after the unlock command. The frozen and\nenabled status are already checked by exisiting logic.\n\nWhen we do not check the enabled line, the test\ntest_erase_block_device_ata_security_enabled becomes redundant with\ntest_erase_block_device_ata_security_enabled_unlock_exception taking its\nplace.\n\nAs the tests are very dependent on the order of calls to `utils.execute`, I\nadded some asserts to the failure cases to ensure that the correct call was\nfailing.\n\nChange-Id: I5d4e18e7d7209dda89181fbcc202b199f130af89\nStory: 2001763\nTask: 12162\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/eac915973696c20c0907cbf1d4ba338b0f3632c8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/eac915973696c20c0907cbf1d4ba338b0f3632c8"}]},"branch":"refs/heads/master"},"5e6286038ee65df56c361bc42c3267d7a9aab97c":{"kind":"REWORK","_number":5,"created":"2018-04-26 11:49:36.000000000","uploader":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"ref":"refs/changes/33/558533/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/33/558533/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/33/558533/5"}}},"commit":{"parents":[{"commit":"b6273725f5bf153bfa29f3a6f1bb5524de42952a","subject":"Pass empty string to hdparm --security-unlock in GenericHardwareManager","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/b6273725f5bf153bfa29f3a6f1bb5524de42952a"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-03 14:45:49.000000000","tz":60},"committer":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2018-04-26 11:49:05.000000000","tz":60},"subject":"Do not abort ata secure erase if security is in enabled state","message":"Do not abort ata secure erase if security is in enabled state\n\nAt least in the case of INTEL SSDSC2BX016T4R drives, a \u0027hdparm\n--security-unlock\u0027 command does not remove the enabled line of the\nsecurity section of `hdparm -I`.  This is in accordance with\nthe ATA security specification, where a security-unlock command\ncauses a state transition from SEC4 (security enabled, locked,\nnot frozen) to SEC5 (security enabled, unlocked, not frozen).\nAs a consequence, the GenericHardwareManager does not perform an\nATA secure erase (it relies on this line to be set to `not enabled`).\n\nFor an INTEL SSDSC2BX016T4R, it has been manually verfied that the\nfollowing sequence of steps perform a secure erase sucessfully:\n\n- hdparm --user-master u --security-unlock /dev/sda\n- hdparm --user-master u --security-set-pass NULL /dev/sda\n- hdparm --user-master u --security-erase-enhanced NULL /dev/sda\n\nthis is indicated by the \"not enabled\" line appearing in the output of\n`hdparm -I /dev/sda`. It is therefore proposed that we do not actually\ncare if the `enabled` line appears in the output pre-erase. We should\nonly verify that is set to \"not enabled\" after an erase is attempted.\n\nWe need to ensure the device is the correct security state (SEC5) for\nsecure erase to succeed. If the device has just been unlocked, it\nshould already be in the SEC5 state and we do not need to set a\npassword. I have added an addition if statement to assert that it\nis in the unlocked state after the unlock command. The frozen and\nenabled status are already checked by exisiting logic.\n\nA good overview of the ATA security states can be found here:\n\n  http://www.admin-magazine.com/Archive/2014/19/Using-the-ATA-security-features-of-modern-hard-disks-and-SSDs\n\nWhen we do not check the enabled line, the test\ntest_erase_block_device_ata_security_enabled becomes redundant with\ntest_erase_block_device_ata_security_enabled_unlock_exception taking its\nplace.\n\nAs the tests are very dependent on the order of calls to `utils.execute`, I\nadded some asserts to the failure cases to ensure that the correct call was\nfailing.\n\nChange-Id: I5d4e18e7d7209dda89181fbcc202b199f130af89\nStory: 2001763\nTask: 12162\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/5e6286038ee65df56c361bc42c3267d7a9aab97c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/5e6286038ee65df56c361bc42c3267d7a9aab97c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
