)]}'
{"ironic/drivers/modules/redfish/bios.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b0570b444ddf08049c831781c0a7ae745c192c6a","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        system \u003d redfish_utils.get_system(task.node)"},{"line_number":101,"context_line":"        try:"},{"line_number":102,"context_line":"            bios \u003d system.bios"},{"line_number":103,"context_line":"        except sushy.exceptions.MissingAttributeError:"},{"line_number":104,"context_line":"            error_msg \u003d (_(\u0027Redfish BIOS factory reset failed for node \u0027"},{"line_number":105,"context_line":"                           \u0027%s, because BIOS settings are not supported.\u0027) %"},{"line_number":106,"context_line":"                         task.node.uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_4e231957","line":103,"updated":"2019-07-16 07:33:58.000000000","message":"FWIW it was already handled by catching SushyError","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d644f87bc034276d489992f5ee6ccef083b44b57","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        system \u003d redfish_utils.get_system(task.node)"},{"line_number":101,"context_line":"        try:"},{"line_number":102,"context_line":"            bios \u003d system.bios"},{"line_number":103,"context_line":"        except sushy.exceptions.MissingAttributeError:"},{"line_number":104,"context_line":"            error_msg \u003d (_(\u0027Redfish BIOS factory reset failed for node \u0027"},{"line_number":105,"context_line":"                           \u0027%s, because BIOS settings are not supported.\u0027) %"},{"line_number":106,"context_line":"                         task.node.uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_4957a1cb","line":103,"updated":"2019-07-15 14:12:35.000000000","message":"Good addition, no guarantee that bios is even a supported interface in some redfish \"supporting\" gear.","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"746678ffc268983d51719e321dc45b939732099e","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        system \u003d redfish_utils.get_system(task.node)"},{"line_number":101,"context_line":"        try:"},{"line_number":102,"context_line":"            bios \u003d system.bios"},{"line_number":103,"context_line":"        except sushy.exceptions.MissingAttributeError:"},{"line_number":104,"context_line":"            error_msg \u003d (_(\u0027Redfish BIOS factory reset failed for node \u0027"},{"line_number":105,"context_line":"                           \u0027%s, because BIOS settings are not supported.\u0027) %"},{"line_number":106,"context_line":"                         task.node.uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_1011c552","line":103,"in_reply_to":"7faddb67_4957a1cb","updated":"2019-07-15 21:03:23.000000000","message":"Agreed - good improvement.","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b0570b444ddf08049c831781c0a7ae745c192c6a","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        reboot_requested \u003d info.get(\u0027post_factory_reset_reboot_requested\u0027)"},{"line_number":116,"context_line":"        if not reboot_requested:"},{"line_number":117,"context_line":"            LOG.debug(\u0027Factory reset BIOS configuration for node %(node)s\u0027,"},{"line_number":118,"context_line":"                      {\u0027node\u0027: node.uuid})"},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                system.bios.reset_bios()"},{"line_number":121,"context_line":"            except sushy.exceptions.SushyError as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_6e205549","line":118,"updated":"2019-07-16 07:33:58.000000000","message":"duplicate with line 111","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"134ace45ea3e8d98f6043ee4ec488cb9ded50264","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        reboot_requested \u003d info.get(\u0027post_factory_reset_reboot_requested\u0027)"},{"line_number":116,"context_line":"        if not reboot_requested:"},{"line_number":117,"context_line":"            LOG.debug(\u0027Factory reset BIOS configuration for node %(node)s\u0027,"},{"line_number":118,"context_line":"                      {\u0027node\u0027: node.uuid})"},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                system.bios.reset_bios()"},{"line_number":121,"context_line":"            except sushy.exceptions.SushyError as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_4615f547","line":118,"in_reply_to":"7faddb67_6e205549","updated":"2019-07-20 13:24:19.000000000","message":"Done","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b0570b444ddf08049c831781c0a7ae745c192c6a","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            LOG.debug(\u0027Factory reset BIOS configuration for node %(node)s\u0027,"},{"line_number":118,"context_line":"                      {\u0027node\u0027: node.uuid})"},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                system.bios.reset_bios()"},{"line_number":121,"context_line":"            except sushy.exceptions.SushyError as e:"},{"line_number":122,"context_line":"                error_msg \u003d (_(\u0027Redfish BIOS factory reset failed for node \u0027"},{"line_number":123,"context_line":"                               \u0027%(node)s. Error: %(error)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_0e19a120","line":120,"updated":"2019-07-16 07:33:58.000000000","message":"nit: s/system.//","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"134ace45ea3e8d98f6043ee4ec488cb9ded50264","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            LOG.debug(\u0027Factory reset BIOS configuration for node %(node)s\u0027,"},{"line_number":118,"context_line":"                      {\u0027node\u0027: node.uuid})"},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                system.bios.reset_bios()"},{"line_number":121,"context_line":"            except sushy.exceptions.SushyError as e:"},{"line_number":122,"context_line":"                error_msg \u003d (_(\u0027Redfish BIOS factory reset failed for node \u0027"},{"line_number":123,"context_line":"                               \u0027%(node)s. Error: %(error)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_e60f4134","line":120,"in_reply_to":"7faddb67_0e19a120","updated":"2019-07-20 13:24:19.000000000","message":"Done","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d644f87bc034276d489992f5ee6ccef083b44b57","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            LOG.debug(\u0027Post factory reset, BIOS configuration for node \u0027"},{"line_number":134,"context_line":"                      \u0027%(node_uuid)s: %(attrs)r\u0027,"},{"line_number":135,"context_line":"                      {\u0027node_uuid\u0027: node.uuid, \u0027attrs\u0027: current_attrs})"},{"line_number":136,"context_line":"            self._clear_reboot_requested(task)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    @base.clean_step(priority\u003d0, argsinfo\u003d{"},{"line_number":139,"context_line":"        \u0027settings\u0027: {"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_094c4940","line":136,"updated":"2019-07-15 14:12:35.000000000","message":"So yeah, without the agent already happening to be running, this won\u0027t be triggered.","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"746678ffc268983d51719e321dc45b939732099e","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            LOG.debug(\u0027Post factory reset, BIOS configuration for node \u0027"},{"line_number":134,"context_line":"                      \u0027%(node_uuid)s: %(attrs)r\u0027,"},{"line_number":135,"context_line":"                      {\u0027node_uuid\u0027: node.uuid, \u0027attrs\u0027: current_attrs})"},{"line_number":136,"context_line":"            self._clear_reboot_requested(task)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    @base.clean_step(priority\u003d0, argsinfo\u003d{"},{"line_number":139,"context_line":"        \u0027settings\u0027: {"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_b060f1d0","line":136,"in_reply_to":"7faddb67_094c4940","updated":"2019-07-15 21:03:23.000000000","message":"So basically, the factory_reset() needs to follow the same \"2 phase\" pattern that apply_configuration() does. That makes sense and the changes here look good to me.","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"746678ffc268983d51719e321dc45b939732099e","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        :param task: a TaskManager instance containing the node to act on."},{"line_number":208,"context_line":"        \"\"\""},{"line_number":209,"context_line":"        deploy_opts \u003d deploy_utils.build_agent_options(task.node)"},{"line_number":210,"context_line":"        task.driver.boot.prepare_ramdisk(task, deploy_opts)"},{"line_number":211,"context_line":"        self._reboot(task)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def post_configuration(self, task, settings):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_3006411e","line":210,"updated":"2019-07-15 21:03:23.000000000","message":"When I worked on this originally, I did not catch that this prepare_ramdisk() was needed before issuing the reboot. But looking now I see that pattern used in other modules that do a reboot.","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"}],"releasenotes/notes/story-2006217-redfish-bios-cleaning-fails-fee32f04dd97cbd2.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b0570b444ddf08049c831781c0a7ae745c192c6a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes an issue where clean steps of ``redfish`` BIOS interface do not"},{"line_number":5,"context_line":"    boot up the IPA ramdisk after cleaning reboot. See `story 2006217"},{"line_number":6,"context_line":"    \u003chttps://storyboard.openstack.org/#!/story/2006217\u003e`__ for details."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_2e16ddf2","line":5,"updated":"2019-07-16 07:33:58.000000000","message":"I think we keep IPA booted with cleaning even when running OOB steps..","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d644f87bc034276d489992f5ee6ccef083b44b57","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes an issue where clean steps of ``redfish`` BIOS interface do not"},{"line_number":5,"context_line":"    boot up the IPA ramdisk after cleaning reboot. See `story 2006217"},{"line_number":6,"context_line":"    \u003chttps://storyboard.openstack.org/#!/story/2006217\u003e`__ for details."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_29c4a590","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":51},"updated":"2019-07-15 14:12:35.000000000","message":"I\u0027m missing why would it need to?","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"418521a3f078810b0342c55cadccea057d83a526","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes an issue where clean steps of ``redfish`` BIOS interface do not"},{"line_number":5,"context_line":"    boot up the IPA ramdisk after cleaning reboot. See `story 2006217"},{"line_number":6,"context_line":"    \u003chttps://storyboard.openstack.org/#!/story/2006217\u003e`__ for details."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_14d22001","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":51},"in_reply_to":"7faddb67_29c4a590","updated":"2019-07-15 15:05:50.000000000","message":"The BIOS setting changes gets applied only after the reboot. Hence we reboot after applying the settings and validate that they are applied correctly [1]. The IPA is required to mark the clean step is complete and move to execution of next clean step or mark cleaning as complete. Without IPA, it will  remain in CLEANWAIT.\n[1] https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/redfish/bios.py#L165-L173","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"134ace45ea3e8d98f6043ee4ec488cb9ded50264","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes an issue where clean steps of ``redfish`` BIOS interface do not"},{"line_number":5,"context_line":"    boot up the IPA ramdisk after cleaning reboot. See `story 2006217"},{"line_number":6,"context_line":"    \u003chttps://storyboard.openstack.org/#!/story/2006217\u003e`__ for details."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_060b7d29","line":5,"in_reply_to":"7faddb67_2e16ddf2","updated":"2019-07-20 13:24:19.000000000","message":"Yes, we do not differentiate.","commit_id":"33a94242cda4da99941138680169f6f4009dfb8d"}]}
