)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Aparna \u003caparnavtce@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-03-20 04:34:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support `update_firmware` to hpsum based firmware update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform hpsum based firmware"},{"line_number":10,"context_line":"update by levaraging the existing `update_firmware`"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1a1ced50_e3c0052d","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":56},"updated":"2017-03-20 05:21:05.000000000","message":"Commit message needs to indicate this is for iLO drivers only.","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Aparna \u003caparnavtce@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-03-20 04:34:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support `update_firmware` to hpsum based firmware update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform hpsum based firmware"},{"line_number":10,"context_line":"update by levaraging the existing `update_firmware`"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1a1ced50_979d5968","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":56},"in_reply_to":"1a1ced50_e3c0052d","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support `update_firmware` to hpsum based firmware update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform hpsum based firmware"},{"line_number":10,"context_line":"update by levaraging the existing `update_firmware`"},{"line_number":11,"context_line":"clean step."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"It adds a new fimware update mode \u0027hpsum\u0027 to add the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1a1ced50_c3dce914","line":10,"range":{"start_line":9,"start_character":28,"end_line":10,"end_character":6},"updated":"2017-03-20 05:21:05.000000000","message":"Better to to indicate its in-band","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support `update_firmware` to hpsum based firmware update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform hpsum based firmware"},{"line_number":10,"context_line":"update by levaraging the existing `update_firmware`"},{"line_number":11,"context_line":"clean step."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"It adds a new fimware update mode \u0027hpsum\u0027 to add the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1a1ced50_b7a89578","line":10,"range":{"start_line":9,"start_character":28,"end_line":10,"end_character":6},"in_reply_to":"1a1ced50_c3dce914","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":14,"context_line":"support"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1648448"},{"line_number":17,"context_line":"Change-Id: I581d5bc535420d4493394d16cf6cc2bb0ddeb8f7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1a1ced50_1e51f40e","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":52},"updated":"2017-03-20 05:21:05.000000000","message":"Add Depends-On header for proliantutils patch\nDepends-On: Ie9f165c75e6b47be29927864cbdf2d8b050ef887","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":14,"context_line":"support"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1648448"},{"line_number":17,"context_line":"Change-Id: I581d5bc535420d4493394d16cf6cc2bb0ddeb8f7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1a1ced50_37b3c5ea","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":52},"in_reply_to":"1a1ced50_1e51f40e","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"755ffe6b3afa49c9c06b6044134c114d6fd5bf28","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Support hpsum based `update_firmware` for iLO drivers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform hpsum based firmware"},{"line_number":10,"context_line":"update as a inband clean step by levaraging the existing"},{"line_number":11,"context_line":"`update_firmware` clean step."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"It adds a new fimware update mode \u0027hpsum\u0027 to add the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"ff0f0b1f_ff482c5c","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":11},"updated":"2017-05-25 04:05:18.000000000","message":"nit: s/ a / an /","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Aparna \u003caparnavtce@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-04 14:20:50 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support hpsum based firmware update as clean step for iLO drivers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform hpsum based firmware"},{"line_number":10,"context_line":"update as an inband manual clean step `update_firmware_hpsum`"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":27,"id":"bf3e73b7_5a404208","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":13},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \u0027hpsum\u0027 / \u0027HP SUM\u0027 /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Aparna \u003caparnavtce@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-04 14:20:50 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support hpsum based firmware update as clean step for iLO drivers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform hpsum based firmware"},{"line_number":10,"context_line":"update as an inband manual clean step `update_firmware_hpsum`"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":27,"id":"bf3e73b7_18dab016","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":13},"in_reply_to":"bf3e73b7_5a404208","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support SUM based firmware update as clean step for iLO drivers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform SUM based firmware"},{"line_number":10,"context_line":"update as an inband manual clean step `update_firmware_sum`"},{"line_number":11,"context_line":"for iLO drivers."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":30,"id":"9f436f4f_1667d127","line":9,"range":{"start_line":9,"start_character":36,"end_line":9,"end_character":39},"updated":"2017-08-11 08:50:06.000000000","message":"Better to add expanded form here \u0027Smart Update Manager (SUM)\u0027","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support SUM based firmware update as clean step for iLO drivers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds support to perform SUM based firmware"},{"line_number":10,"context_line":"update as an inband manual clean step `update_firmware_sum`"},{"line_number":11,"context_line":"for iLO drivers."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":30,"id":"9f436f4f_384bdfb0","line":9,"range":{"start_line":9,"start_character":36,"end_line":9,"end_character":39},"in_reply_to":"9f436f4f_1667d127","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"}],"doc/source/admin/drivers/ilo.rst":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"18cd60688710eeefc3f0755c0c3cb38666f381e8","unresolved":false,"context_lines":[{"line_number":1686,"context_line":".. _`Enabling HTTPS in Swift`: http://docs.openstack.org/project-install-guide/baremetal/draft/enabling-https.html#enabling-https-in-swift"},{"line_number":1687,"context_line":".. _`Enabling HTTPS in Image service`: http://docs.openstack.org/project-install-guide/baremetal/draft/enabling-https.html#enabling-https-in-image-service"},{"line_number":1688,"context_line":".. _`HPE iLO4 User Guide`: http://h20566.www2.hpe.com/hpsc/doc/public/display?docId\u003dc03334051"},{"line_number":1689,"context_line":".. _`Retrieving logs from the deploy ramdisk`: https://docs.openstack.org/developer/ironic/deploy/troubleshooting.html#retrieving-logs-from-the-deploy-ramdisk"},{"line_number":1690,"context_line":".. _`Guidelines for SPP ISO`: http://h17007.www1.hpe.com/us/en/enterprise/servers/products/service_pack/spp"},{"line_number":1691,"context_line":".. _`HPSUM documentation`: http://h20565.www2.hpe.com/hpsc/doc/public/display?docId\u003dc05210448"},{"line_number":1692,"context_line":".. _`proliant-tools`: http://docs.openstack.org/developer/diskimage-builder/elements/proliant-tools/README.html"}],"source_content_type":"text/x-rst","patch_set":25,"id":"df3967d1_d3ddda42","line":1689,"updated":"2017-08-02 10:09:21.000000000","message":"this link needs updating","commit_id":"b0e887997dbd2a6f7ac13f05104d7c04363ef6d2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"c0f2e5475e1416567346aa4c5c9294096903389b","unresolved":false,"context_lines":[{"line_number":1686,"context_line":".. _`Enabling HTTPS in Swift`: http://docs.openstack.org/project-install-guide/baremetal/draft/enabling-https.html#enabling-https-in-swift"},{"line_number":1687,"context_line":".. _`Enabling HTTPS in Image service`: http://docs.openstack.org/project-install-guide/baremetal/draft/enabling-https.html#enabling-https-in-image-service"},{"line_number":1688,"context_line":".. _`HPE iLO4 User Guide`: http://h20566.www2.hpe.com/hpsc/doc/public/display?docId\u003dc03334051"},{"line_number":1689,"context_line":".. _`Retrieving logs from the deploy ramdisk`: https://docs.openstack.org/developer/ironic/deploy/troubleshooting.html#retrieving-logs-from-the-deploy-ramdisk"},{"line_number":1690,"context_line":".. _`Guidelines for SPP ISO`: http://h17007.www1.hpe.com/us/en/enterprise/servers/products/service_pack/spp"},{"line_number":1691,"context_line":".. _`HPSUM documentation`: http://h20565.www2.hpe.com/hpsc/doc/public/display?docId\u003dc05210448"},{"line_number":1692,"context_line":".. _`proliant-tools`: http://docs.openstack.org/developer/diskimage-builder/elements/proliant-tools/README.html"}],"source_content_type":"text/x-rst","patch_set":25,"id":"df3967d1_33e0a696","line":1689,"in_reply_to":"df3967d1_d3ddda42","updated":"2017-08-02 11:06:29.000000000","message":"Done","commit_id":"b0e887997dbd2a6f7ac13f05104d7c04363ef6d2"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"18cd60688710eeefc3f0755c0c3cb38666f381e8","unresolved":false,"context_lines":[{"line_number":1689,"context_line":".. _`Retrieving logs from the deploy ramdisk`: https://docs.openstack.org/developer/ironic/deploy/troubleshooting.html#retrieving-logs-from-the-deploy-ramdisk"},{"line_number":1690,"context_line":".. _`Guidelines for SPP ISO`: http://h17007.www1.hpe.com/us/en/enterprise/servers/products/service_pack/spp"},{"line_number":1691,"context_line":".. _`HPSUM documentation`: http://h20565.www2.hpe.com/hpsc/doc/public/display?docId\u003dc05210448"},{"line_number":1692,"context_line":".. _`proliant-tools`: http://docs.openstack.org/developer/diskimage-builder/elements/proliant-tools/README.html"}],"source_content_type":"text/x-rst","patch_set":25,"id":"df3967d1_73e2ae03","line":1692,"updated":"2017-08-02 10:09:21.000000000","message":"this one still works but would be good to update as well","commit_id":"b0e887997dbd2a6f7ac13f05104d7c04363ef6d2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"c0f2e5475e1416567346aa4c5c9294096903389b","unresolved":false,"context_lines":[{"line_number":1689,"context_line":".. _`Retrieving logs from the deploy ramdisk`: https://docs.openstack.org/developer/ironic/deploy/troubleshooting.html#retrieving-logs-from-the-deploy-ramdisk"},{"line_number":1690,"context_line":".. _`Guidelines for SPP ISO`: http://h17007.www1.hpe.com/us/en/enterprise/servers/products/service_pack/spp"},{"line_number":1691,"context_line":".. _`HPSUM documentation`: http://h20565.www2.hpe.com/hpsc/doc/public/display?docId\u003dc05210448"},{"line_number":1692,"context_line":".. _`proliant-tools`: http://docs.openstack.org/developer/diskimage-builder/elements/proliant-tools/README.html"}],"source_content_type":"text/x-rst","patch_set":25,"id":"df3967d1_9304f24b","line":1692,"in_reply_to":"df3967d1_73e2ae03","updated":"2017-08-02 11:06:29.000000000","message":"Done","commit_id":"b0e887997dbd2a6f7ac13f05104d7c04363ef6d2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"32854042798273fe7d1b13e842c6316fc2654e9f","unresolved":false,"context_lines":[{"line_number":1576,"context_line":"   ``rpm2cpio`` and ``cpio`` are present on the conductor, as they are utilized"},{"line_number":1577,"context_line":"   to extract the firmware image from the package."},{"line_number":1578,"context_line":""},{"line_number":1579,"context_line":"* Configuring ``update_firmware`` clean step for ``hpsum`` mode:"},{"line_number":1580,"context_line":""},{"line_number":1581,"context_line":"  The firmware image block in ``hpsum`` mode is represented by a dictionary"},{"line_number":1582,"context_line":"  (JSON), in the form::"}],"source_content_type":"text/x-rst","patch_set":26,"id":"df3967d1_fcff86fe","line":1579,"updated":"2017-08-02 14:12:50.000000000","message":"why is this part of a list?","commit_id":"28b454ca18b068e967b19e762fdf9ddbcc780a71"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":885,"context_line":"    controllers, host bus adapters, disk drive firmware, network interfaces"},{"line_number":886,"context_line":"    and Onboard Administrator (OA)."},{"line_number":887,"context_line":"  ``update_firmware_hpsum``:"},{"line_number":888,"context_line":"    Updates all or list of user specified firmware componenets on the node."},{"line_number":889,"context_line":"    Also an inband step associated with the ``management`` interface. See"},{"line_number":890,"context_line":"    `Hpsum based firmware update as manual clean step`_ for more information"},{"line_number":891,"context_line":"    on usage."}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_9a36aab4","line":888,"range":{"start_line":888,"start_character":51,"end_line":888,"end_character":62},"updated":"2017-08-05 12:26:13.000000000","message":"s/ componenets / components /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":885,"context_line":"    controllers, host bus adapters, disk drive firmware, network interfaces"},{"line_number":886,"context_line":"    and Onboard Administrator (OA)."},{"line_number":887,"context_line":"  ``update_firmware_hpsum``:"},{"line_number":888,"context_line":"    Updates all or list of user specified firmware componenets on the node."},{"line_number":889,"context_line":"    Also an inband step associated with the ``management`` interface. See"},{"line_number":890,"context_line":"    `Hpsum based firmware update as manual clean step`_ for more information"},{"line_number":891,"context_line":"    on usage."}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_3740e835","line":888,"range":{"start_line":888,"start_character":51,"end_line":888,"end_character":62},"in_reply_to":"bf3e73b7_9a36aab4","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":886,"context_line":"    and Onboard Administrator (OA)."},{"line_number":887,"context_line":"  ``update_firmware_hpsum``:"},{"line_number":888,"context_line":"    Updates all or list of user specified firmware componenets on the node."},{"line_number":889,"context_line":"    Also an inband step associated with the ``management`` interface. See"},{"line_number":890,"context_line":"    `Hpsum based firmware update as manual clean step`_ for more information"},{"line_number":891,"context_line":"    on usage."},{"line_number":892,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_7a3b069c","line":889,"range":{"start_line":889,"start_character":4,"end_line":889,"end_character":23},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \u0027Also an inband step \u0027 / \u0027It is an inband step \u0027","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":886,"context_line":"    and Onboard Administrator (OA)."},{"line_number":887,"context_line":"  ``update_firmware_hpsum``:"},{"line_number":888,"context_line":"    Updates all or list of user specified firmware componenets on the node."},{"line_number":889,"context_line":"    Also an inband step associated with the ``management`` interface. See"},{"line_number":890,"context_line":"    `Hpsum based firmware update as manual clean step`_ for more information"},{"line_number":891,"context_line":"    on usage."},{"line_number":892,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_f7494060","line":889,"range":{"start_line":889,"start_character":4,"end_line":889,"end_character":23},"in_reply_to":"bf3e73b7_7a3b069c","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":887,"context_line":"  ``update_firmware_hpsum``:"},{"line_number":888,"context_line":"    Updates all or list of user specified firmware componenets on the node."},{"line_number":889,"context_line":"    Also an inband step associated with the ``management`` interface. See"},{"line_number":890,"context_line":"    `Hpsum based firmware update as manual clean step`_ for more information"},{"line_number":891,"context_line":"    on usage."},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"* iLO with firmware version 1.5 is minimally required to support all the"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_9a5fcae4","line":890,"range":{"start_line":890,"start_character":5,"end_line":890,"end_character":10},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \u0027Hpsum\u0027 / \u0027HP Smart Update Manager (HP SUM)\u0027","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":887,"context_line":"  ``update_firmware_hpsum``:"},{"line_number":888,"context_line":"    Updates all or list of user specified firmware componenets on the node."},{"line_number":889,"context_line":"    Also an inband step associated with the ``management`` interface. See"},{"line_number":890,"context_line":"    `Hpsum based firmware update as manual clean step`_ for more information"},{"line_number":891,"context_line":"    on usage."},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"* iLO with firmware version 1.5 is minimally required to support all the"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_f76260d8","line":890,"range":{"start_line":890,"start_character":5,"end_line":890,"end_character":10},"in_reply_to":"bf3e73b7_9a5fcae4","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":1565,"context_line":"    $ md5sum image.rpm"},{"line_number":1566,"context_line":"    66cdb090c80b71daa21a67f06ecd3f33  image.rpm"},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"Hpsum based firmware update as manual clean step"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on HPSUM is an inband clean step supported by iLO"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_3a457e18","line":1568,"range":{"start_line":1568,"start_character":0,"end_line":1568,"end_character":5},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \u0027Hpsum\u0027 / \u0027HP Smart Update Manager (HP SUM)\u0027","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":1565,"context_line":"    $ md5sum image.rpm"},{"line_number":1566,"context_line":"    66cdb090c80b71daa21a67f06ecd3f33  image.rpm"},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"Hpsum based firmware update as manual clean step"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on HPSUM is an inband clean step supported by iLO"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_e204ddc8","line":1568,"range":{"start_line":1568,"start_character":0,"end_line":1568,"end_character":5},"in_reply_to":"bf3e73b7_3a457e18","updated":"2017-08-07 11:23:12.000000000","message":"Changed to SUM (Smart Update Manager)","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":1568,"context_line":"Hpsum based firmware update as manual clean step"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on HPSUM is an inband clean step supported by iLO"},{"line_number":1572,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1573,"context_line":"firmware components on the node. Refer `HPSUM documentation`_ to get more"},{"line_number":1574,"context_line":"information on hpsum based firmware update."}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_7a6426ba","line":1571,"range":{"start_line":1571,"start_character":29,"end_line":1571,"end_character":34},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \u0027HPSUM\u0027 / \u0027HP SUM\u0027","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":1568,"context_line":"Hpsum based firmware update as manual clean step"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on HPSUM is an inband clean step supported by iLO"},{"line_number":1572,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1573,"context_line":"firmware components on the node. Refer `HPSUM documentation`_ to get more"},{"line_number":1574,"context_line":"information on hpsum based firmware update."}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_c209d9dd","line":1571,"range":{"start_line":1571,"start_character":29,"end_line":1571,"end_character":34},"in_reply_to":"bf3e73b7_7a6426ba","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on HPSUM is an inband clean step supported by iLO"},{"line_number":1572,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1573,"context_line":"firmware components on the node. Refer `HPSUM documentation`_ to get more"},{"line_number":1574,"context_line":"information on hpsum based firmware update."},{"line_number":1575,"context_line":""},{"line_number":1576,"context_line":"* ``update_firmware_hpsum`` clean step is supported when the agent ramdisk"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_5a5962fc","line":1573,"range":{"start_line":1573,"start_character":40,"end_line":1573,"end_character":45},"updated":"2017-08-05 12:26:13.000000000","message":"s/ HPSUM / HP SUM /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on HPSUM is an inband clean step supported by iLO"},{"line_number":1572,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1573,"context_line":"firmware components on the node. Refer `HPSUM documentation`_ to get more"},{"line_number":1574,"context_line":"information on hpsum based firmware update."},{"line_number":1575,"context_line":""},{"line_number":1576,"context_line":"* ``update_firmware_hpsum`` clean step is supported when the agent ramdisk"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_8213d10d","line":1573,"range":{"start_line":1573,"start_character":40,"end_line":1573,"end_character":45},"in_reply_to":"bf3e73b7_5a5962fc","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":1592,"context_line":""},{"line_number":1593,"context_line":"* The keyword arguments used for the clean step are as follows:"},{"line_number":1594,"context_line":""},{"line_number":1595,"context_line":"  * ``url``: Url of SPP(Service Pack for Proliant) ISO. It is mandatory."},{"line_number":1596,"context_line":"  * ``checksum``: MD5 checksum of SPP ISO to verify the image. It is mandatory"},{"line_number":1597,"context_line":"  * ``components``: List of filenames of the fimware components to be flashed."},{"line_number":1598,"context_line":"    It is optional. If not provided, the firmware update is performed on all"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_1a73da82","line":1595,"range":{"start_line":1595,"start_character":13,"end_line":1595,"end_character":16},"updated":"2017-08-05 12:26:13.000000000","message":"s/ Url / URL /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":1592,"context_line":""},{"line_number":1593,"context_line":"* The keyword arguments used for the clean step are as follows:"},{"line_number":1594,"context_line":""},{"line_number":1595,"context_line":"  * ``url``: Url of SPP(Service Pack for Proliant) ISO. It is mandatory."},{"line_number":1596,"context_line":"  * ``checksum``: MD5 checksum of SPP ISO to verify the image. It is mandatory"},{"line_number":1597,"context_line":"  * ``components``: List of filenames of the fimware components to be flashed."},{"line_number":1598,"context_line":"    It is optional. If not provided, the firmware update is performed on all"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_e22dfd46","line":1595,"range":{"start_line":1595,"start_character":13,"end_line":1595,"end_character":16},"in_reply_to":"bf3e73b7_1a73da82","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":1614,"context_line":""},{"line_number":1615,"context_line":"* An example of ``update_firmware_hpsum`` clean step::"},{"line_number":1616,"context_line":""},{"line_number":1617,"context_line":"    \"clean_steps\": [{"},{"line_number":1618,"context_line":"      \"interface\": \"management\","},{"line_number":1619,"context_line":"      \"step\": \"update_firmware_hpsum\","},{"line_number":1620,"context_line":"      \"args\": {"},{"line_number":1621,"context_line":"        \"url\": \"http://my_address:port/SPP.iso\","},{"line_number":1622,"context_line":"        \"checksum\": \"abcdefxyz\","},{"line_number":1623,"context_line":"        \"component\": [\u0027CP024356.scexe\u0027, \u0027CP008097.exe]"},{"line_number":1624,"context_line":"        }"},{"line_number":1625,"context_line":"      }]"},{"line_number":1626,"context_line":""},{"line_number":1627,"context_line":"* The processing error could happen during image download, image checksum"},{"line_number":1628,"context_line":"  verification or image extraction. Any of these errors could lead to clean"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_ba696e8c","line":1625,"range":{"start_line":1617,"start_character":1,"end_line":1625,"end_character":8},"updated":"2017-08-05 12:26:13.000000000","message":"Keep it under RST code-block.\n.. code-block:: ini","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":1614,"context_line":""},{"line_number":1615,"context_line":"* An example of ``update_firmware_hpsum`` clean step::"},{"line_number":1616,"context_line":""},{"line_number":1617,"context_line":"    \"clean_steps\": [{"},{"line_number":1618,"context_line":"      \"interface\": \"management\","},{"line_number":1619,"context_line":"      \"step\": \"update_firmware_hpsum\","},{"line_number":1620,"context_line":"      \"args\": {"},{"line_number":1621,"context_line":"        \"url\": \"http://my_address:port/SPP.iso\","},{"line_number":1622,"context_line":"        \"checksum\": \"abcdefxyz\","},{"line_number":1623,"context_line":"        \"component\": [\u0027CP024356.scexe\u0027, \u0027CP008097.exe]"},{"line_number":1624,"context_line":"        }"},{"line_number":1625,"context_line":"      }]"},{"line_number":1626,"context_line":""},{"line_number":1627,"context_line":"* The processing error could happen during image download, image checksum"},{"line_number":1628,"context_line":"  verification or image extraction. Any of these errors could lead to clean"}],"source_content_type":"text/x-rst","patch_set":27,"id":"bf3e73b7_e22a9de5","line":1625,"range":{"start_line":1617,"start_character":1,"end_line":1625,"end_character":8},"in_reply_to":"bf3e73b7_ba696e8c","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1565,"context_line":"    $ md5sum image.rpm"},{"line_number":1566,"context_line":"    66cdb090c80b71daa21a67f06ecd3f33  image.rpm"},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"Smart Update Manager (SUM) based firmware update as manual clean step"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on SUM is an inband clean step supported by iLO"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_c409b795","line":1568,"updated":"2017-08-10 08:22:09.000000000","message":"nit: I\u0027d remove \"as manual clean step\", seems too much a technical detail bit","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1565,"context_line":"    $ md5sum image.rpm"},{"line_number":1566,"context_line":"    66cdb090c80b71daa21a67f06ecd3f33  image.rpm"},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"Smart Update Manager (SUM) based firmware update as manual clean step"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on SUM is an inband clean step supported by iLO"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_f9245dc8","line":1568,"in_reply_to":"9f436f4f_c409b795","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1568,"context_line":"Smart Update Manager (SUM) based firmware update as manual clean step"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on SUM is an inband clean step supported by iLO"},{"line_number":1572,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1573,"context_line":"firmware components on the node. Refer `SUM documentation`_ to get more"},{"line_number":1574,"context_line":"information on SUM based firmware update."}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_a400f368","line":1571,"updated":"2017-08-10 08:22:09.000000000","message":"nit: I\u0027d make SUM a link to some spec, readme or description","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1568,"context_line":"Smart Update Manager (SUM) based firmware update as manual clean step"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on SUM is an inband clean step supported by iLO"},{"line_number":1572,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1573,"context_line":"firmware components on the node. Refer `SUM documentation`_ to get more"},{"line_number":1574,"context_line":"information on SUM based firmware update."}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_fcd0cbf9","line":1571,"in_reply_to":"9f436f4f_a400f368","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1573,"context_line":"firmware components on the node. Refer `SUM documentation`_ to get more"},{"line_number":1574,"context_line":"information on SUM based firmware update."},{"line_number":1575,"context_line":""},{"line_number":1576,"context_line":"* ``update_firmware_sum`` clean step is supported when the agent ramdisk"},{"line_number":1577,"context_line":"  contains the ``Proliant Hardware Manager`` from the proliantutils version"},{"line_number":1578,"context_line":"  2.3.2 or higher."},{"line_number":1579,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_8403af73","line":1576,"updated":"2017-08-10 08:22:09.000000000","message":"why do you have a list here? I suggest just making several paragraphs","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1573,"context_line":"firmware components on the node. Refer `SUM documentation`_ to get more"},{"line_number":1574,"context_line":"information on SUM based firmware update."},{"line_number":1575,"context_line":""},{"line_number":1576,"context_line":"* ``update_firmware_sum`` clean step is supported when the agent ramdisk"},{"line_number":1577,"context_line":"  contains the ``Proliant Hardware Manager`` from the proliantutils version"},{"line_number":1578,"context_line":"  2.3.2 or higher."},{"line_number":1579,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_5c2b5781","line":1576,"in_reply_to":"9f436f4f_8403af73","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1580,"context_line":"  See `DIB support for Proliant Hardware Manager`_ to create the agent ramdisk"},{"line_number":1581,"context_line":"  with ``Proliant Hardware Manager``."},{"line_number":1582,"context_line":""},{"line_number":1583,"context_line":"* The different attributes of ``update_firmware_sum`` clean step are as follows:"},{"line_number":1584,"context_line":""},{"line_number":1585,"context_line":".. csv-table::"},{"line_number":1586,"context_line":" :header: \"Attribute\", \"Description\""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_64fa0b76","line":1583,"updated":"2017-08-10 08:22:09.000000000","message":"nit: s/different//","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1580,"context_line":"  See `DIB support for Proliant Hardware Manager`_ to create the agent ramdisk"},{"line_number":1581,"context_line":"  with ``Proliant Hardware Manager``."},{"line_number":1582,"context_line":""},{"line_number":1583,"context_line":"* The different attributes of ``update_firmware_sum`` clean step are as follows:"},{"line_number":1584,"context_line":""},{"line_number":1585,"context_line":".. csv-table::"},{"line_number":1586,"context_line":" :header: \"Attribute\", \"Description\""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_d908792e","line":1583,"in_reply_to":"9f436f4f_64fa0b76","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1582,"context_line":""},{"line_number":1583,"context_line":"* The different attributes of ``update_firmware_sum`` clean step are as follows:"},{"line_number":1584,"context_line":""},{"line_number":1585,"context_line":".. csv-table::"},{"line_number":1586,"context_line":" :header: \"Attribute\", \"Description\""},{"line_number":1587,"context_line":" :widths: 30, 120"},{"line_number":1588,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_44f5c782","line":1585,"updated":"2017-08-10 08:22:09.000000000","message":"this is rendered outside of the list (which is fine, the list should be removed)\n\nalso I learned about csv-table today, thanks :)","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1582,"context_line":""},{"line_number":1583,"context_line":"* The different attributes of ``update_firmware_sum`` clean step are as follows:"},{"line_number":1584,"context_line":""},{"line_number":1585,"context_line":".. csv-table::"},{"line_number":1586,"context_line":" :header: \"Attribute\", \"Description\""},{"line_number":1587,"context_line":" :widths: 30, 120"},{"line_number":1588,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_b907f51c","line":1585,"in_reply_to":"9f436f4f_44f5c782","updated":"2017-08-11 04:00:34.000000000","message":":)","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"* The keyword arguments used for the clean step are as follows:"},{"line_number":1594,"context_line":""},{"line_number":1595,"context_line":"  * ``url``: URL of SPP(Service Pack for Proliant) ISO. It is mandatory."},{"line_number":1596,"context_line":"  * ``checksum``: MD5 checksum of SPP ISO to verify the image. It is mandatory"},{"line_number":1597,"context_line":"  * ``components``: List of filenames of the fimware components to be flashed."},{"line_number":1598,"context_line":"    It is optional. If not provided, the firmware update is performed on all"},{"line_number":1599,"context_line":"    the firmware components."}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_5f7c69ea","line":1596,"range":{"start_line":1596,"start_character":69,"end_line":1596,"end_character":78},"updated":"2017-08-10 13:28:22.000000000","message":"nit: Add period \u0027.\u0027","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"* The keyword arguments used for the clean step are as follows:"},{"line_number":1594,"context_line":""},{"line_number":1595,"context_line":"  * ``url``: URL of SPP(Service Pack for Proliant) ISO. It is mandatory."},{"line_number":1596,"context_line":"  * ``checksum``: MD5 checksum of SPP ISO to verify the image. It is mandatory"},{"line_number":1597,"context_line":"  * ``components``: List of filenames of the fimware components to be flashed."},{"line_number":1598,"context_line":"    It is optional. If not provided, the firmware update is performed on all"},{"line_number":1599,"context_line":"    the firmware components."}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_1841523a","line":1596,"range":{"start_line":1596,"start_character":69,"end_line":1596,"end_character":78},"in_reply_to":"9f436f4f_5f7c69ea","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"    It is optional. If not provided, the firmware update is performed on all"},{"line_number":1599,"context_line":"    the firmware components."},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"* The different url schemes supported are ``http``, ``https`` and ``swift``."},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"* The clean step performs an update on all or list of firmware components and"},{"line_number":1604,"context_line":"  returns the SUM log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_5ff34974","line":1601,"range":{"start_line":1601,"start_character":16,"end_line":1601,"end_character":19},"updated":"2017-08-10 13:28:22.000000000","message":"s/ url / URL /","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"    It is optional. If not provided, the firmware update is performed on all"},{"line_number":1599,"context_line":"    the firmware components."},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"* The different url schemes supported are ``http``, ``https`` and ``swift``."},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"* The clean step performs an update on all or list of firmware components and"},{"line_number":1604,"context_line":"  returns the SUM log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_24f40386","line":1601,"updated":"2017-08-10 08:22:09.000000000","message":"s/different//","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"    It is optional. If not provided, the firmware update is performed on all"},{"line_number":1599,"context_line":"    the firmware components."},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"* The different url schemes supported are ``http``, ``https`` and ``swift``."},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"* The clean step performs an update on all or list of firmware components and"},{"line_number":1604,"context_line":"  returns the SUM log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_dc3627e8","line":1601,"in_reply_to":"9f436f4f_24f40386","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"    It is optional. If not provided, the firmware update is performed on all"},{"line_number":1599,"context_line":"    the firmware components."},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"* The different url schemes supported are ``http``, ``https`` and ``swift``."},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"* The clean step performs an update on all or list of firmware components and"},{"line_number":1604,"context_line":"  returns the SUM log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_b845a645","line":1601,"range":{"start_line":1601,"start_character":16,"end_line":1601,"end_character":19},"in_reply_to":"9f436f4f_5ff34974","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1608,"context_line":""},{"line_number":1609,"context_line":"    \u003cnode-uuid\u003e[_\u003cinstance-uuid\u003e]_update_firmware_sum_\u003ctimestamp yyyy-mm-dd-hh-mm-ss\u003e.tar.gz"},{"line_number":1610,"context_line":""},{"line_number":1611,"context_line":"  Refer `Retrieving logs from the deploy ramdisk`_ for more"},{"line_number":1612,"context_line":"  information on enabling and viewing the logs returned from the ramdisk."},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"* An example of ``update_firmware_sum`` clean step:"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_04efbfb0","line":1611,"updated":"2017-08-10 08:22:09.000000000","message":"plesae use internal links (:ref:`..` or :doc:`..` for our documentation)","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1608,"context_line":""},{"line_number":1609,"context_line":"    \u003cnode-uuid\u003e[_\u003cinstance-uuid\u003e]_update_firmware_sum_\u003ctimestamp yyyy-mm-dd-hh-mm-ss\u003e.tar.gz"},{"line_number":1610,"context_line":""},{"line_number":1611,"context_line":"  Refer `Retrieving logs from the deploy ramdisk`_ for more"},{"line_number":1612,"context_line":"  information on enabling and viewing the logs returned from the ramdisk."},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"* An example of ``update_firmware_sum`` clean step:"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_dce187fe","line":1611,"in_reply_to":"9f436f4f_04efbfb0","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"* An example of ``update_firmware_sum`` clean step:"},{"line_number":1615,"context_line":""},{"line_number":1616,"context_line":"  .. code-block:: ini"},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"    \"clean_steps\": [{"},{"line_number":1619,"context_line":"        \"interface\": \"management\","}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_e42b9be8","line":1616,"updated":"2017-08-10 08:22:09.000000000","message":"s/ini/json/","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"* An example of ``update_firmware_sum`` clean step:"},{"line_number":1615,"context_line":""},{"line_number":1616,"context_line":"  .. code-block:: ini"},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"    \"clean_steps\": [{"},{"line_number":1619,"context_line":"        \"interface\": \"management\","}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_5c50f70a","line":1616,"in_reply_to":"9f436f4f_e42b9be8","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1621,"context_line":"        \"args\": {"},{"line_number":1622,"context_line":"            \"url\": \"http://my_address:port/SPP.iso\","},{"line_number":1623,"context_line":"            \"checksum\": \"abcdefxyz\","},{"line_number":1624,"context_line":"            \"component\": [\u0027CP024356.scexe\u0027, \u0027CP008097.exe]"},{"line_number":1625,"context_line":"            }"},{"line_number":1626,"context_line":"        }]"},{"line_number":1627,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_c42e57f9","line":1624,"updated":"2017-08-10 08:22:09.000000000","message":"IIRC only double quotes are allowed in JSON","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1621,"context_line":"        \"args\": {"},{"line_number":1622,"context_line":"            \"url\": \"http://my_address:port/SPP.iso\","},{"line_number":1623,"context_line":"            \"checksum\": \"abcdefxyz\","},{"line_number":1624,"context_line":"            \"component\": [\u0027CP024356.scexe\u0027, \u0027CP008097.exe]"},{"line_number":1625,"context_line":"            }"},{"line_number":1626,"context_line":"        }]"},{"line_number":1627,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_dc3bc7c5","line":1624,"in_reply_to":"9f436f4f_c42e57f9","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1631,"context_line":""},{"line_number":1632,"context_line":".. note::"},{"line_number":1633,"context_line":"   This feature assumes that the SPP ISO used to perform firmware update on the"},{"line_number":1634,"context_line":"   node is hosted on ``http`` or ``https`` webserver or on swift."},{"line_number":1635,"context_line":""},{"line_number":1636,"context_line":".. note::"},{"line_number":1637,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_a4359348","line":1634,"updated":"2017-08-10 08:22:09.000000000","message":"you already mentioned the protocols above, I suggest you leave only one place","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1631,"context_line":""},{"line_number":1632,"context_line":".. note::"},{"line_number":1633,"context_line":"   This feature assumes that the SPP ISO used to perform firmware update on the"},{"line_number":1634,"context_line":"   node is hosted on ``http`` or ``https`` webserver or on swift."},{"line_number":1635,"context_line":""},{"line_number":1636,"context_line":".. note::"},{"line_number":1637,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_bc4a4352","line":1634,"in_reply_to":"9f436f4f_a4359348","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1634,"context_line":"   node is hosted on ``http`` or ``https`` webserver or on swift."},{"line_number":1635,"context_line":""},{"line_number":1636,"context_line":".. note::"},{"line_number":1637,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"},{"line_number":1638,"context_line":"   ProLiant) ISO."},{"line_number":1639,"context_line":""},{"line_number":1640,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_84384f3d","line":1637,"updated":"2017-08-10 08:22:09.000000000","message":"nit: missing space before (","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1634,"context_line":"   node is hosted on ``http`` or ``https`` webserver or on swift."},{"line_number":1635,"context_line":""},{"line_number":1636,"context_line":".. note::"},{"line_number":1637,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"},{"line_number":1638,"context_line":"   ProLiant) ISO."},{"line_number":1639,"context_line":""},{"line_number":1640,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_7c761ba7","line":1637,"in_reply_to":"9f436f4f_84384f3d","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1637,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"},{"line_number":1638,"context_line":"   ProLiant) ISO."},{"line_number":1639,"context_line":""},{"line_number":1640,"context_line":".. note::"},{"line_number":1641,"context_line":"   This feature is officially supported only on RHEL and SUSE images."},{"line_number":1642,"context_line":""},{"line_number":1643,"context_line":"RAID Support"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_643fab25","line":1640,"updated":"2017-08-10 08:22:09.000000000","message":"s/note/warning/ maybe? and let\u0027s maybe move it to the beginning, right after the description.","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1637,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"},{"line_number":1638,"context_line":"   ProLiant) ISO."},{"line_number":1639,"context_line":""},{"line_number":1640,"context_line":".. note::"},{"line_number":1641,"context_line":"   This feature is officially supported only on RHEL and SUSE images."},{"line_number":1642,"context_line":""},{"line_number":1643,"context_line":"RAID Support"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_9c5e5f10","line":1640,"in_reply_to":"9f436f4f_643fab25","updated":"2017-08-11 04:00:34.000000000","message":"Moved to the beginning","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":1638,"context_line":"   ProLiant) ISO."},{"line_number":1639,"context_line":""},{"line_number":1640,"context_line":".. note::"},{"line_number":1641,"context_line":"   This feature is officially supported only on RHEL and SUSE images."},{"line_number":1642,"context_line":""},{"line_number":1643,"context_line":"RAID Support"},{"line_number":1644,"context_line":"^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_ff5f9d3e","line":1641,"range":{"start_line":1641,"start_character":45,"end_line":1641,"end_character":68},"updated":"2017-08-10 13:28:22.000000000","message":"s/ \u0027on RHEL and SUSE images.\u0027 / \u0027with RHEL and SUSE ramdisk.\u0027","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1638,"context_line":"   ProLiant) ISO."},{"line_number":1639,"context_line":""},{"line_number":1640,"context_line":".. note::"},{"line_number":1641,"context_line":"   This feature is officially supported only on RHEL and SUSE images."},{"line_number":1642,"context_line":""},{"line_number":1643,"context_line":"RAID Support"},{"line_number":1644,"context_line":"^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9f436f4f_989b02c8","line":1641,"range":{"start_line":1641,"start_character":45,"end_line":1641,"end_character":68},"in_reply_to":"9f436f4f_ff5f9d3e","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":1568,"context_line":"Smart Update Manager (SUM) based firmware update"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on `SUM`_ is an inband clean step supported by iLO"},{"line_number":1572,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1573,"context_line":"firmware components on the node. This feature is officially supported only"},{"line_number":1574,"context_line":"with RHEL and SUSE ramdisk. Refer `SUM User Guide`_ to get more information"}],"source_content_type":"text/x-rst","patch_set":30,"id":"9f436f4f_76817d8f","line":1571,"range":{"start_line":1571,"start_character":4,"end_line":1571,"end_character":12},"updated":"2017-08-11 08:50:06.000000000","message":"nit: s/ Firmware / firmware /","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":1568,"context_line":"Smart Update Manager (SUM) based firmware update"},{"line_number":1569,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"The Firmware update based on `SUM`_ is an inband clean step supported by iLO"},{"line_number":1572,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1573,"context_line":"firmware components on the node. This feature is officially supported only"},{"line_number":1574,"context_line":"with RHEL and SUSE ramdisk. Refer `SUM User Guide`_ to get more information"}],"source_content_type":"text/x-rst","patch_set":30,"id":"9f436f4f_75f4d2cf","line":1571,"range":{"start_line":1571,"start_character":4,"end_line":1571,"end_character":12},"in_reply_to":"9f436f4f_76817d8f","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":1574,"context_line":"with RHEL and SUSE ramdisk. Refer `SUM User Guide`_ to get more information"},{"line_number":1575,"context_line":"on SUM based firmware update."},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"``update_firmware_sum`` clean step is supported when the agent ramdisk"},{"line_number":1578,"context_line":"contains the ``Proliant Hardware Manager`` from the proliantutils version"},{"line_number":1579,"context_line":"2.4.0 or higher. See `DIB support for Proliant Hardware Manager`_ to create"},{"line_number":1580,"context_line":"the agent ramdisk with ``Proliant Hardware Manager``."}],"source_content_type":"text/x-rst","patch_set":30,"id":"9f436f4f_96098132","line":1577,"range":{"start_line":1577,"start_character":34,"end_line":1577,"end_character":56},"updated":"2017-08-11 08:50:06.000000000","message":"s/ \u0027clean step is supported when the agent ramdisk contains the ``Proliant Hardware Manager`` \u0027 / \u0027clean step requires the agent ramdisk with ``Proliant Hardware Manager`` \u0027 /","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":1574,"context_line":"with RHEL and SUSE ramdisk. Refer `SUM User Guide`_ to get more information"},{"line_number":1575,"context_line":"on SUM based firmware update."},{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"``update_firmware_sum`` clean step is supported when the agent ramdisk"},{"line_number":1578,"context_line":"contains the ``Proliant Hardware Manager`` from the proliantutils version"},{"line_number":1579,"context_line":"2.4.0 or higher. See `DIB support for Proliant Hardware Manager`_ to create"},{"line_number":1580,"context_line":"the agent ramdisk with ``Proliant Hardware Manager``."}],"source_content_type":"text/x-rst","patch_set":30,"id":"9f436f4f_75cbb271","line":1577,"range":{"start_line":1577,"start_character":34,"end_line":1577,"end_character":56},"in_reply_to":"9f436f4f_96098132","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":1627,"context_line":"verification or image extraction. Any of these errors could lead to clean"},{"line_number":1628,"context_line":"step failure."},{"line_number":1629,"context_line":""},{"line_number":1630,"context_line":"It has been tested with SUM version \u003c\u003d 7.6.0."},{"line_number":1631,"context_line":""},{"line_number":1632,"context_line":".. note::"},{"line_number":1633,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP (Service Pack for"}],"source_content_type":"text/x-rst","patch_set":30,"id":"9f436f4f_d125d3ac","line":1630,"range":{"start_line":1630,"start_character":0,"end_line":1630,"end_character":45},"updated":"2017-08-11 08:50:06.000000000","message":"Better to add this as an Note.\n.. note::\n    Clean step ``update_firmware_sum`` has been tested with SUM version \u003c\u003d 7.6.0.","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":1627,"context_line":"verification or image extraction. Any of these errors could lead to clean"},{"line_number":1628,"context_line":"step failure."},{"line_number":1629,"context_line":""},{"line_number":1630,"context_line":"It has been tested with SUM version \u003c\u003d 7.6.0."},{"line_number":1631,"context_line":""},{"line_number":1632,"context_line":".. note::"},{"line_number":1633,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP (Service Pack for"}],"source_content_type":"text/x-rst","patch_set":30,"id":"9f436f4f_359aca6d","line":1630,"range":{"start_line":1630,"start_character":0,"end_line":1630,"end_character":45},"in_reply_to":"9f436f4f_d125d3ac","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4924f829eeb0723b144fb441cb0b44e571b3bf68","unresolved":false,"context_lines":[{"line_number":896,"context_line":"    controllers, host bus adapters, disk drive firmware, network interfaces"},{"line_number":897,"context_line":"    and Onboard Administrator (OA)."},{"line_number":898,"context_line":"  ``update_firmware_sum``:"},{"line_number":899,"context_line":"    Updates all or list of user specified firmware components on the node."},{"line_number":900,"context_line":"    It is an inband step associated with the ``management`` interface. See"},{"line_number":901,"context_line":"    `Smart Update Manager (SUM) based firmware update`_ for more information"},{"line_number":902,"context_line":"    on usage."}],"source_content_type":"text/x-rst","patch_set":32,"id":"9f436f4f_32495cb6","line":899,"updated":"2017-08-15 23:51:00.000000000","message":"Nit: I feel like this is backwards. Looking at this, I\u0027m wondering what and how, but the first part of the sentence just tells me \"Updates all or list of user specified firmware\"","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9b7b9f675d79591b6874118187039cf39ee207fe","unresolved":false,"context_lines":[{"line_number":896,"context_line":"    controllers, host bus adapters, disk drive firmware, network interfaces"},{"line_number":897,"context_line":"    and Onboard Administrator (OA)."},{"line_number":898,"context_line":"  ``update_firmware_sum``:"},{"line_number":899,"context_line":"    Updates all or list of user specified firmware components on the node."},{"line_number":900,"context_line":"    It is an inband step associated with the ``management`` interface. See"},{"line_number":901,"context_line":"    `Smart Update Manager (SUM) based firmware update`_ for more information"},{"line_number":902,"context_line":"    on usage."}],"source_content_type":"text/x-rst","patch_set":32,"id":"9f436f4f_152e3d91","line":899,"in_reply_to":"9f436f4f_32495cb6","updated":"2017-08-16 05:26:42.000000000","message":"Done","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4924f829eeb0723b144fb441cb0b44e571b3bf68","unresolved":false,"context_lines":[{"line_number":1582,"context_line":"The firmware update based on `SUM`_ is an inband clean step supported by iLO"},{"line_number":1583,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1584,"context_line":"firmware components on the node. This feature is officially supported only"},{"line_number":1585,"context_line":"with RHEL and SUSE ramdisk. Refer `SUM User Guide`_ to get more information"},{"line_number":1586,"context_line":"on SUM based firmware update."},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":"``update_firmware_sum`` clean step requires the agent ramdisk with"}],"source_content_type":"text/x-rst","patch_set":32,"id":"9f436f4f_92dda8e1","line":1585,"updated":"2017-08-15 23:51:00.000000000","message":"S/ramdisk/based ramdisks/\n\nWhich SUSE? All SUSE?\n\nAdditionally, what RHEL versions?\n\nI take it that this is intended to also be IPA ramdisk?  If so, it should likely explicitly state that.\n\nAdditionally, many people equate a RHEL requirement to be okay if they use Centos. It should likely be stated if there are known incompatibilities or reasoning why so an operator can validate and/or understand the requirement independently.","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9b7b9f675d79591b6874118187039cf39ee207fe","unresolved":false,"context_lines":[{"line_number":1582,"context_line":"The firmware update based on `SUM`_ is an inband clean step supported by iLO"},{"line_number":1583,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1584,"context_line":"firmware components on the node. This feature is officially supported only"},{"line_number":1585,"context_line":"with RHEL and SUSE ramdisk. Refer `SUM User Guide`_ to get more information"},{"line_number":1586,"context_line":"on SUM based firmware update."},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":"``update_firmware_sum`` clean step requires the agent ramdisk with"}],"source_content_type":"text/x-rst","patch_set":32,"id":"9f436f4f_d2a0cb44","line":1585,"in_reply_to":"9f436f4f_92dda8e1","updated":"2017-08-16 05:26:42.000000000","message":"Added the reference link for the supported OS versions. \nAlso, SUM as a product claims to support only RHEL and SUSE officially and it is never tested with centOS.","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4924f829eeb0723b144fb441cb0b44e571b3bf68","unresolved":false,"context_lines":[{"line_number":1584,"context_line":"firmware components on the node. This feature is officially supported only"},{"line_number":1585,"context_line":"with RHEL and SUSE ramdisk. Refer `SUM User Guide`_ to get more information"},{"line_number":1586,"context_line":"on SUM based firmware update."},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":"``update_firmware_sum`` clean step requires the agent ramdisk with"},{"line_number":1589,"context_line":"``Proliant Hardware Manager`` from the proliantutils version 2.4.0 or higher."},{"line_number":1590,"context_line":"See `DIB support for Proliant Hardware Manager`_ to create the agent ramdisk"}],"source_content_type":"text/x-rst","patch_set":32,"id":"9f436f4f_328cbcd5","line":1587,"updated":"2017-08-15 23:51:00.000000000","message":"Additionally, possibly the ramdisk requirements should be a warning instead.","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9b7b9f675d79591b6874118187039cf39ee207fe","unresolved":false,"context_lines":[{"line_number":1584,"context_line":"firmware components on the node. This feature is officially supported only"},{"line_number":1585,"context_line":"with RHEL and SUSE ramdisk. Refer `SUM User Guide`_ to get more information"},{"line_number":1586,"context_line":"on SUM based firmware update."},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":"``update_firmware_sum`` clean step requires the agent ramdisk with"},{"line_number":1589,"context_line":"``Proliant Hardware Manager`` from the proliantutils version 2.4.0 or higher."},{"line_number":1590,"context_line":"See `DIB support for Proliant Hardware Manager`_ to create the agent ramdisk"}],"source_content_type":"text/x-rst","patch_set":32,"id":"9f436f4f_b28b07c1","line":1587,"in_reply_to":"9f436f4f_328cbcd5","updated":"2017-08-16 05:26:42.000000000","message":"Done","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4924f829eeb0723b144fb441cb0b44e571b3bf68","unresolved":false,"context_lines":[{"line_number":1634,"context_line":"            }"},{"line_number":1635,"context_line":"        }]"},{"line_number":1636,"context_line":""},{"line_number":1637,"context_line":"The processing error could happen during image download, image checksum"},{"line_number":1638,"context_line":"verification or image extraction. Any of these errors could lead to clean"},{"line_number":1639,"context_line":"step failure."},{"line_number":1640,"context_line":""}],"source_content_type":"text/x-rst","patch_set":32,"id":"9f436f4f_7286c4bb","line":1637,"updated":"2017-08-15 23:51:00.000000000","message":"What processing error? If there should be an expected error, perhaps an example of the error, or how to identify it?\n\nPerhaps rewriting the paragraph might make it more clear what is trying to be conveyed, as the code block above, is an example for the JSON to use. Jumping from the example clean step to this paragraph seems odd.","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9b7b9f675d79591b6874118187039cf39ee207fe","unresolved":false,"context_lines":[{"line_number":1634,"context_line":"            }"},{"line_number":1635,"context_line":"        }]"},{"line_number":1636,"context_line":""},{"line_number":1637,"context_line":"The processing error could happen during image download, image checksum"},{"line_number":1638,"context_line":"verification or image extraction. Any of these errors could lead to clean"},{"line_number":1639,"context_line":"step failure."},{"line_number":1640,"context_line":""}],"source_content_type":"text/x-rst","patch_set":32,"id":"9f436f4f_1e53ff3a","line":1637,"in_reply_to":"9f436f4f_7286c4bb","updated":"2017-08-16 05:26:42.000000000","message":"Done","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1724,"context_line":""},{"line_number":1725,"context_line":"The firmware update based on `SUM`_ is an inband clean step supported by iLO"},{"line_number":1726,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1727,"context_line":"firmware components on the node. Refer `SUM User Guide`_ to get more information"},{"line_number":1728,"context_line":"on SUM based firmware update."},{"line_number":1729,"context_line":""},{"line_number":1730,"context_line":"``update_firmware_sum`` clean step requires the agent ramdisk with"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_28f2fb9a","line":1727,"range":{"start_line":1727,"start_character":33,"end_line":1727,"end_character":38},"updated":"2017-08-16 16:50:19.000000000","message":"Refer to","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1724,"context_line":""},{"line_number":1725,"context_line":"The firmware update based on `SUM`_ is an inband clean step supported by iLO"},{"line_number":1726,"context_line":"drivers. The firmware update is performed on all or list of user specified"},{"line_number":1727,"context_line":"firmware components on the node. Refer `SUM User Guide`_ to get more information"},{"line_number":1728,"context_line":"on SUM based firmware update."},{"line_number":1729,"context_line":""},{"line_number":1730,"context_line":"``update_firmware_sum`` clean step requires the agent ramdisk with"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_12e4010c","line":1727,"range":{"start_line":1727,"start_character":33,"end_line":1727,"end_character":38},"in_reply_to":"9f436f4f_28f2fb9a","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1738,"context_line":" :header: \"Attribute\", \"Description\""},{"line_number":1739,"context_line":" :widths: 30, 120"},{"line_number":1740,"context_line":""},{"line_number":1741,"context_line":" \"``interface``\", \"Interface of clean step, here ``management``\""},{"line_number":1742,"context_line":" \"``step``\", \"Name of clean step, here ``update_firmware_sum``\""},{"line_number":1743,"context_line":" \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to clean step\""},{"line_number":1744,"context_line":""}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_a8e5cbdd","line":1741,"range":{"start_line":1741,"start_character":29,"end_line":1741,"end_character":31},"updated":"2017-08-16 16:50:19.000000000","message":"of the","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1738,"context_line":" :header: \"Attribute\", \"Description\""},{"line_number":1739,"context_line":" :widths: 30, 120"},{"line_number":1740,"context_line":""},{"line_number":1741,"context_line":" \"``interface``\", \"Interface of clean step, here ``management``\""},{"line_number":1742,"context_line":" \"``step``\", \"Name of clean step, here ``update_firmware_sum``\""},{"line_number":1743,"context_line":" \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to clean step\""},{"line_number":1744,"context_line":""}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_52acc99d","line":1741,"range":{"start_line":1741,"start_character":29,"end_line":1741,"end_character":31},"in_reply_to":"9f436f4f_a8e5cbdd","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1739,"context_line":" :widths: 30, 120"},{"line_number":1740,"context_line":""},{"line_number":1741,"context_line":" \"``interface``\", \"Interface of clean step, here ``management``\""},{"line_number":1742,"context_line":" \"``step``\", \"Name of clean step, here ``update_firmware_sum``\""},{"line_number":1743,"context_line":" \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to clean step\""},{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"The keyword arguments used for the clean step are as follows:"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_48ce5f5a","line":1742,"range":{"start_line":1742,"start_character":19,"end_line":1742,"end_character":21},"updated":"2017-08-16 16:50:19.000000000","message":"of the","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1739,"context_line":" :widths: 30, 120"},{"line_number":1740,"context_line":""},{"line_number":1741,"context_line":" \"``interface``\", \"Interface of clean step, here ``management``\""},{"line_number":1742,"context_line":" \"``step``\", \"Name of clean step, here ``update_firmware_sum``\""},{"line_number":1743,"context_line":" \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to clean step\""},{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"The keyword arguments used for the clean step are as follows:"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_3297054b","line":1742,"range":{"start_line":1742,"start_character":19,"end_line":1742,"end_character":21},"in_reply_to":"9f436f4f_48ce5f5a","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1740,"context_line":""},{"line_number":1741,"context_line":" \"``interface``\", \"Interface of clean step, here ``management``\""},{"line_number":1742,"context_line":" \"``step``\", \"Name of clean step, here ``update_firmware_sum``\""},{"line_number":1743,"context_line":" \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to clean step\""},{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"The keyword arguments used for the clean step are as follows:"},{"line_number":1746,"context_line":""}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_68a5a3a1","line":1743,"range":{"start_line":1743,"start_character":14,"end_line":1743,"end_character":36},"updated":"2017-08-16 16:50:19.000000000","message":"do you mean dictionary here?","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1740,"context_line":""},{"line_number":1741,"context_line":" \"``interface``\", \"Interface of clean step, here ``management``\""},{"line_number":1742,"context_line":" \"``step``\", \"Name of clean step, here ``update_firmware_sum``\""},{"line_number":1743,"context_line":" \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to clean step\""},{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"The keyword arguments used for the clean step are as follows:"},{"line_number":1746,"context_line":""}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_28d9db20","line":1743,"range":{"start_line":1743,"start_character":68,"end_line":1743,"end_character":70},"updated":"2017-08-16 16:50:19.000000000","message":"to the","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1740,"context_line":""},{"line_number":1741,"context_line":" \"``interface``\", \"Interface of clean step, here ``management``\""},{"line_number":1742,"context_line":" \"``step``\", \"Name of clean step, here ``update_firmware_sum``\""},{"line_number":1743,"context_line":" \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to clean step\""},{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"The keyword arguments used for the clean step are as follows:"},{"line_number":1746,"context_line":""}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_127be127","line":1743,"range":{"start_line":1743,"start_character":68,"end_line":1743,"end_character":70},"in_reply_to":"9f436f4f_28d9db20","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1740,"context_line":""},{"line_number":1741,"context_line":" \"``interface``\", \"Interface of clean step, here ``management``\""},{"line_number":1742,"context_line":" \"``step``\", \"Name of clean step, here ``update_firmware_sum``\""},{"line_number":1743,"context_line":" \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to clean step\""},{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"The keyword arguments used for the clean step are as follows:"},{"line_number":1746,"context_line":""}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_92947138","line":1743,"range":{"start_line":1743,"start_character":14,"end_line":1743,"end_character":36},"in_reply_to":"9f436f4f_68a5a3a1","updated":"2017-08-16 18:52:11.000000000","message":"Yes, I think it is better to use this instead of \u0027dictionary\u0027 since documentation is used by the end users. WDYT?","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"The keyword arguments used for the clean step are as follows:"},{"line_number":1746,"context_line":""},{"line_number":1747,"context_line":"  * ``url``: URL of SPP(Service Pack for Proliant) ISO. It is mandatory. The"},{"line_number":1748,"context_line":"    URL schemes supported are ``http``, ``https`` and ``swift``."},{"line_number":1749,"context_line":"  * ``checksum``: MD5 checksum of SPP ISO to verify the image. It is mandatory."},{"line_number":1750,"context_line":"  * ``components``: List of filenames of the fimware components to be flashed."}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_68cec363","line":1747,"range":{"start_line":1747,"start_character":23,"end_line":1747,"end_character":24},"updated":"2017-08-16 16:50:19.000000000","message":"nit - add space please","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"The keyword arguments used for the clean step are as follows:"},{"line_number":1746,"context_line":""},{"line_number":1747,"context_line":"  * ``url``: URL of SPP(Service Pack for Proliant) ISO. It is mandatory. The"},{"line_number":1748,"context_line":"    URL schemes supported are ``http``, ``https`` and ``swift``."},{"line_number":1749,"context_line":"  * ``checksum``: MD5 checksum of SPP ISO to verify the image. It is mandatory."},{"line_number":1750,"context_line":"  * ``components``: List of filenames of the fimware components to be flashed."}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_72e58ddb","line":1747,"range":{"start_line":1747,"start_character":23,"end_line":1747,"end_character":24},"in_reply_to":"9f436f4f_68cec363","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1751,"context_line":"    It is optional. If not provided, the firmware update is performed on all"},{"line_number":1752,"context_line":"    the firmware components."},{"line_number":1753,"context_line":""},{"line_number":1754,"context_line":"The clean step performs an update on all or list of firmware components and"},{"line_number":1755,"context_line":"returns the SUM log files. The log files include ``hpsum_log.txt`` and"},{"line_number":1756,"context_line":"``hpsum_detail_log.txt`` which holds the information about firmware components,"},{"line_number":1757,"context_line":"firmware version for each component and their update status. The log object"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_c8e24fd5","line":1754,"range":{"start_line":1754,"start_character":41,"end_line":1754,"end_character":43},"updated":"2017-08-16 16:50:19.000000000","message":"or a","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1751,"context_line":"    It is optional. If not provided, the firmware update is performed on all"},{"line_number":1752,"context_line":"    the firmware components."},{"line_number":1753,"context_line":""},{"line_number":1754,"context_line":"The clean step performs an update on all or list of firmware components and"},{"line_number":1755,"context_line":"returns the SUM log files. The log files include ``hpsum_log.txt`` and"},{"line_number":1756,"context_line":"``hpsum_detail_log.txt`` which holds the information about firmware components,"},{"line_number":1757,"context_line":"firmware version for each component and their update status. The log object"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_d2d31900","line":1754,"range":{"start_line":1754,"start_character":41,"end_line":1754,"end_character":43},"in_reply_to":"9f436f4f_c8e24fd5","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1759,"context_line":""},{"line_number":1760,"context_line":"    \u003cnode-uuid\u003e[_\u003cinstance-uuid\u003e]_update_firmware_sum_\u003ctimestamp yyyy-mm-dd-hh-mm-ss\u003e.tar.gz"},{"line_number":1761,"context_line":""},{"line_number":1762,"context_line":"Refer :ref:`retrieve_deploy_ramdisk_logs` for more information on enabling and"},{"line_number":1763,"context_line":"viewing the logs returned from the ramdisk."},{"line_number":1764,"context_line":""},{"line_number":1765,"context_line":"An example of ``update_firmware_sum`` clean step:"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_88368750","line":1762,"range":{"start_line":1762,"start_character":0,"end_line":1762,"end_character":5},"updated":"2017-08-16 16:50:19.000000000","message":"Refer to","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1759,"context_line":""},{"line_number":1760,"context_line":"    \u003cnode-uuid\u003e[_\u003cinstance-uuid\u003e]_update_firmware_sum_\u003ctimestamp yyyy-mm-dd-hh-mm-ss\u003e.tar.gz"},{"line_number":1761,"context_line":""},{"line_number":1762,"context_line":"Refer :ref:`retrieve_deploy_ramdisk_logs` for more information on enabling and"},{"line_number":1763,"context_line":"viewing the logs returned from the ramdisk."},{"line_number":1764,"context_line":""},{"line_number":1765,"context_line":"An example of ``update_firmware_sum`` clean step:"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_920b518c","line":1762,"range":{"start_line":1762,"start_character":0,"end_line":1762,"end_character":5},"in_reply_to":"9f436f4f_88368750","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1766,"context_line":""},{"line_number":1767,"context_line":".. code-block:: json"},{"line_number":1768,"context_line":""},{"line_number":1769,"context_line":"    [{"},{"line_number":1770,"context_line":"        \"interface\": \"management\","},{"line_number":1771,"context_line":"        \"step\": \"update_firmware_sum\","},{"line_number":1772,"context_line":"        \"args\": {"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_483c1f2e","line":1769,"range":{"start_line":1769,"start_character":4,"end_line":1769,"end_character":6},"updated":"2017-08-16 16:50:19.000000000","message":"nit - indentation","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1766,"context_line":""},{"line_number":1767,"context_line":".. code-block:: json"},{"line_number":1768,"context_line":""},{"line_number":1769,"context_line":"    [{"},{"line_number":1770,"context_line":"        \"interface\": \"management\","},{"line_number":1771,"context_line":"        \"step\": \"update_firmware_sum\","},{"line_number":1772,"context_line":"        \"args\": {"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_b00bed8b","line":1769,"range":{"start_line":1769,"start_character":4,"end_line":1769,"end_character":6},"in_reply_to":"9f436f4f_483c1f2e","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1781,"context_line":"file extension, image download, image checksum verification or image extraction."},{"line_number":1782,"context_line":"In case of a failure, check Ironic conductor logs carefully to see if there are"},{"line_number":1783,"context_line":"any validation or firmware processing related errors which may help in root"},{"line_number":1784,"context_line":"causing or gain an understanding of where things were left off or where things"},{"line_number":1785,"context_line":"failed. You can then fix or work around and then try again."},{"line_number":1786,"context_line":""},{"line_number":1787,"context_line":".. warning::"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_e87bd3f1","line":1784,"range":{"start_line":1784,"start_character":0,"end_line":1784,"end_character":7},"updated":"2017-08-16 16:50:19.000000000","message":"cause analysis?","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1781,"context_line":"file extension, image download, image checksum verification or image extraction."},{"line_number":1782,"context_line":"In case of a failure, check Ironic conductor logs carefully to see if there are"},{"line_number":1783,"context_line":"any validation or firmware processing related errors which may help in root"},{"line_number":1784,"context_line":"causing or gain an understanding of where things were left off or where things"},{"line_number":1785,"context_line":"failed. You can then fix or work around and then try again."},{"line_number":1786,"context_line":""},{"line_number":1787,"context_line":".. warning::"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_28755bfa","line":1784,"range":{"start_line":1784,"start_character":11,"end_line":1784,"end_character":15},"updated":"2017-08-16 16:50:19.000000000","message":"gaining?","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1781,"context_line":"file extension, image download, image checksum verification or image extraction."},{"line_number":1782,"context_line":"In case of a failure, check Ironic conductor logs carefully to see if there are"},{"line_number":1783,"context_line":"any validation or firmware processing related errors which may help in root"},{"line_number":1784,"context_line":"causing or gain an understanding of where things were left off or where things"},{"line_number":1785,"context_line":"failed. You can then fix or work around and then try again."},{"line_number":1786,"context_line":""},{"line_number":1787,"context_line":".. warning::"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_f274ddff","line":1784,"range":{"start_line":1784,"start_character":11,"end_line":1784,"end_character":15},"in_reply_to":"9f436f4f_28755bfa","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1781,"context_line":"file extension, image download, image checksum verification or image extraction."},{"line_number":1782,"context_line":"In case of a failure, check Ironic conductor logs carefully to see if there are"},{"line_number":1783,"context_line":"any validation or firmware processing related errors which may help in root"},{"line_number":1784,"context_line":"causing or gain an understanding of where things were left off or where things"},{"line_number":1785,"context_line":"failed. You can then fix or work around and then try again."},{"line_number":1786,"context_line":""},{"line_number":1787,"context_line":".. warning::"}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_b264154b","line":1784,"range":{"start_line":1784,"start_character":0,"end_line":1784,"end_character":7},"in_reply_to":"9f436f4f_e87bd3f1","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":1786,"context_line":""},{"line_number":1787,"context_line":".. warning::"},{"line_number":1788,"context_line":"   This feature is officially supported only with RHEL and SUSE based IPA ramdisk."},{"line_number":1789,"context_line":"   Refer `SUM`_ for supported OS versions for specific SUM version."},{"line_number":1790,"context_line":""},{"line_number":1791,"context_line":".. note::"},{"line_number":1792,"context_line":"   Clean step ``update_firmware_sum`` has been tested with SUM version \u003c\u003d 7.6.0."}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_c867ef4c","line":1789,"range":{"start_line":1789,"start_character":3,"end_line":1789,"end_character":8},"updated":"2017-08-16 16:50:19.000000000","message":"Refer to","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":1786,"context_line":""},{"line_number":1787,"context_line":".. warning::"},{"line_number":1788,"context_line":"   This feature is officially supported only with RHEL and SUSE based IPA ramdisk."},{"line_number":1789,"context_line":"   Refer `SUM`_ for supported OS versions for specific SUM version."},{"line_number":1790,"context_line":""},{"line_number":1791,"context_line":".. note::"},{"line_number":1792,"context_line":"   Clean step ``update_firmware_sum`` has been tested with SUM version \u003c\u003d 7.6.0."}],"source_content_type":"text/x-rst","patch_set":34,"id":"9f436f4f_720c6d93","line":1789,"range":{"start_line":1789,"start_character":3,"end_line":1789,"end_character":8},"in_reply_to":"9f436f4f_c867ef4c","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a72d7e2dd70c13f340a7e072ca8939fb942be9c","unresolved":false,"context_lines":[{"line_number":1828,"context_line":""},{"line_number":1829,"context_line":"The keyword arguments used for the clean step are as follows:"},{"line_number":1830,"context_line":""},{"line_number":1831,"context_line":"  * ``url``: URL of SPP (Service Pack for Proliant) ISO. It is mandatory. The"},{"line_number":1832,"context_line":"    URL schemes supported are ``http``, ``https`` and ``swift``."},{"line_number":1833,"context_line":"  * ``checksum``: MD5 checksum of SPP ISO to verify the image. It is mandatory."},{"line_number":1834,"context_line":"  * ``components``: List of filenames of the fimware components to be flashed."}],"source_content_type":"text/x-rst","patch_set":41,"id":"7f515b1d_69b27d08","line":1831,"range":{"start_line":1831,"start_character":0,"end_line":1831,"end_character":2},"updated":"2017-10-09 16:18:07.000000000","message":"please remove indentation before the list, otherwise it\u0027s rendered as a blockquote","commit_id":"877695cf59b2a6737b6d93cfbcae90f88257edc4"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9cfc30ae091b91f7192b5b76cb573c632ed40594","unresolved":false,"context_lines":[{"line_number":1828,"context_line":""},{"line_number":1829,"context_line":"The keyword arguments used for the clean step are as follows:"},{"line_number":1830,"context_line":""},{"line_number":1831,"context_line":"  * ``url``: URL of SPP (Service Pack for Proliant) ISO. It is mandatory. The"},{"line_number":1832,"context_line":"    URL schemes supported are ``http``, ``https`` and ``swift``."},{"line_number":1833,"context_line":"  * ``checksum``: MD5 checksum of SPP ISO to verify the image. It is mandatory."},{"line_number":1834,"context_line":"  * ``components``: List of filenames of the fimware components to be flashed."}],"source_content_type":"text/x-rst","patch_set":41,"id":"5f4e5783_7a62dd18","line":1831,"range":{"start_line":1831,"start_character":0,"end_line":1831,"end_character":2},"in_reply_to":"7f515b1d_69b27d08","updated":"2017-10-10 07:32:21.000000000","message":"Done","commit_id":"877695cf59b2a6737b6d93cfbcae90f88257edc4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"757bbfc833625a2cd72691a93bebddb398fcdf7f","unresolved":false,"context_lines":[{"line_number":1837,"context_line":""},{"line_number":1838,"context_line":"The clean step performs an update on all or a list of firmware components and"},{"line_number":1839,"context_line":"returns the SUM log files. The log files include ``hpsum_log.txt`` and"},{"line_number":1840,"context_line":"``hpsum_detail_log.txt`` which holds the information about firmware components,"},{"line_number":1841,"context_line":"firmware version for each component and their update status. The log object"},{"line_number":1842,"context_line":"will be named with the following pattern::"},{"line_number":1843,"context_line":""}],"source_content_type":"text/x-rst","patch_set":42,"id":"5f4e5783_1fa43607","line":1840,"updated":"2017-10-17 09:30:30.000000000","message":"nit: s/holds/hold/, I\u0027d also remove \"include\" and \"which\" from this sentence, leaving \"The log files ``..`` and ``..`` hold information....\"","commit_id":"c725f541de3a9df995a489fc802b6b1c941b6e01"}],"doc/source/drivers/ilo.rst":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"dc82b1b6b6d212b726b1b221861fe836004eab97","unresolved":false,"context_lines":[{"line_number":1517,"context_line":""},{"line_number":1518,"context_line":"    {"},{"line_number":1519,"context_line":"      \"url\": \"\u003curl of SPP ISO\u003e\","},{"line_number":1520,"context_line":"      \"checksum\": \"\u003cmd5 checksum of firmware image file to verify the image\u003e\","},{"line_number":1521,"context_line":"      \"component\": \"\u003cfilename of the fimware component to be flashed\u003e\""},{"line_number":1522,"context_line":"    }"},{"line_number":1523,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_9b3734fe","line":1520,"range":{"start_line":1520,"start_character":36,"end_line":1520,"end_character":50},"updated":"2017-10-17 03:12:16.000000000","message":"s/\u0027firmware image\u0027/ \u0027SPP iso\u0027/","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"3851f91d545ccea3d5e89a1be22889292afcd855","unresolved":false,"context_lines":[{"line_number":1517,"context_line":""},{"line_number":1518,"context_line":"    {"},{"line_number":1519,"context_line":"      \"url\": \"\u003curl of SPP ISO\u003e\","},{"line_number":1520,"context_line":"      \"checksum\": \"\u003cmd5 checksum of firmware image file to verify the image\u003e\","},{"line_number":1521,"context_line":"      \"component\": \"\u003cfilename of the fimware component to be flashed\u003e\""},{"line_number":1522,"context_line":"    }"},{"line_number":1523,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_777a38ba","line":1520,"range":{"start_line":1520,"start_character":36,"end_line":1520,"end_character":50},"in_reply_to":"3a461143_9b3734fe","updated":"2017-10-17 06:34:49.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"c9acbf943a5974f91a0411f1eb8984422dd6bf0a","unresolved":false,"context_lines":[{"line_number":1518,"context_line":"    {"},{"line_number":1519,"context_line":"      \"url\": \"\u003curl of SPP ISO\u003e\","},{"line_number":1520,"context_line":"      \"checksum\": \"\u003cmd5 checksum of firmware image file to verify the image\u003e\","},{"line_number":1521,"context_line":"      \"component\": \"\u003cfilename of the fimware component to be flashed\u003e\""},{"line_number":1522,"context_line":"    }"},{"line_number":1523,"context_line":""},{"line_number":1524,"context_line":"Only ``url`` and ``checksum`` are the mandatory fields. The ``url`` represents"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_203972d9","line":1521,"updated":"2017-02-01 14:40:32.000000000","message":"It\u0027s JSON string with comma-separated filenames.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ee2b06fecd7f479b9584e9adb88100c07ad5d9fa","unresolved":false,"context_lines":[{"line_number":1518,"context_line":"    {"},{"line_number":1519,"context_line":"      \"url\": \"\u003curl of SPP ISO\u003e\","},{"line_number":1520,"context_line":"      \"checksum\": \"\u003cmd5 checksum of firmware image file to verify the image\u003e\","},{"line_number":1521,"context_line":"      \"component\": \"\u003cfilename of the fimware component to be flashed\u003e\""},{"line_number":1522,"context_line":"    }"},{"line_number":1523,"context_line":""},{"line_number":1524,"context_line":"Only ``url`` and ``checksum`` are the mandatory fields. The ``url`` represents"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_8bb862e7","line":1521,"in_reply_to":"3a461143_203972d9","updated":"2017-02-02 12:51:56.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"dc82b1b6b6d212b726b1b221861fe836004eab97","unresolved":false,"context_lines":[{"line_number":1527,"context_line":"If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1528,"context_line":"the firmware components."},{"line_number":1529,"context_line":""},{"line_number":1530,"context_line":"* The different types of firmware url schemes supported for ``ilo`` mode are:"},{"line_number":1531,"context_line":"  ``file``, ``http``, ``https`` and ``swift``."},{"line_number":1532,"context_line":""},{"line_number":1533,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_9b1e546e","line":1530,"range":{"start_line":1530,"start_character":56,"end_line":1530,"end_character":72},"updated":"2017-10-17 03:12:16.000000000","message":"Need to mention supported url schemes for \u0027hpsum\u0027 mode.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"dc82b1b6b6d212b726b1b221861fe836004eab97","unresolved":false,"context_lines":[{"line_number":1527,"context_line":"If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1528,"context_line":"the firmware components."},{"line_number":1529,"context_line":""},{"line_number":1530,"context_line":"* The different types of firmware url schemes supported for ``ilo`` mode are:"},{"line_number":1531,"context_line":"  ``file``, ``http``, ``https`` and ``swift``."},{"line_number":1532,"context_line":""},{"line_number":1533,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_3e346edc","line":1530,"range":{"start_line":1530,"start_character":34,"end_line":1530,"end_character":37},"updated":"2017-10-17 03:12:16.000000000","message":"s/url/URL/","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"3851f91d545ccea3d5e89a1be22889292afcd855","unresolved":false,"context_lines":[{"line_number":1527,"context_line":"If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1528,"context_line":"the firmware components."},{"line_number":1529,"context_line":""},{"line_number":1530,"context_line":"* The different types of firmware url schemes supported for ``ilo`` mode are:"},{"line_number":1531,"context_line":"  ``file``, ``http``, ``https`` and ``swift``."},{"line_number":1532,"context_line":""},{"line_number":1533,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_574f3c92","line":1530,"range":{"start_line":1530,"start_character":56,"end_line":1530,"end_character":72},"in_reply_to":"3a461143_9b1e546e","updated":"2017-10-17 06:34:49.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"dc82b1b6b6d212b726b1b221861fe836004eab97","unresolved":false,"context_lines":[{"line_number":1547,"context_line":"   ``rpm2cpio`` and ``cpio`` are present on the conductor, as they are utilized"},{"line_number":1548,"context_line":"   to extract the firmware image from the package."},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":"The different url schemes supported for ``hpsum`` mode are: ``http`` and"},{"line_number":1551,"context_line":"``https``."},{"line_number":1552,"context_line":""},{"line_number":1553,"context_line":".. note::"},{"line_number":1554,"context_line":"   This feature assumes that the SPP ISO used to perfrom firmware update on the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_fe3d86c4","line":1551,"range":{"start_line":1550,"start_character":0,"end_line":1551,"end_character":10},"updated":"2017-10-17 03:12:16.000000000","message":"Can this sentence be moved aove where URL scheme support for \u0027ilo\u0027 mode is given.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"3851f91d545ccea3d5e89a1be22889292afcd855","unresolved":false,"context_lines":[{"line_number":1547,"context_line":"   ``rpm2cpio`` and ``cpio`` are present on the conductor, as they are utilized"},{"line_number":1548,"context_line":"   to extract the firmware image from the package."},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":"The different url schemes supported for ``hpsum`` mode are: ``http`` and"},{"line_number":1551,"context_line":"``https``."},{"line_number":1552,"context_line":""},{"line_number":1553,"context_line":".. note::"},{"line_number":1554,"context_line":"   This feature assumes that the SPP ISO used to perfrom firmware update on the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_3752803c","line":1551,"range":{"start_line":1550,"start_character":0,"end_line":1551,"end_character":10},"in_reply_to":"3a461143_fe3d86c4","updated":"2017-10-17 06:34:49.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":16635,"name":"deray","email":"debayan.ray@gmail.com","username":"deray"},"change_message_id":"3897d6c08da80e99753c8e982a53bca9e4aa2045","unresolved":false,"context_lines":[{"line_number":1551,"context_line":"``https``."},{"line_number":1552,"context_line":""},{"line_number":1553,"context_line":".. note::"},{"line_number":1554,"context_line":"   This feature assumes that the SPP ISO used to perfrom firmware update on the"},{"line_number":1555,"context_line":"   node is hosted on ``http`` or ``https`` webserver."},{"line_number":1556,"context_line":""},{"line_number":1557,"context_line":"* The firmware components that can be updated in ``ilo`` mode are:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_270d0138","line":1554,"range":{"start_line":1554,"start_character":49,"end_line":1554,"end_character":56},"updated":"2017-02-01 17:15:33.000000000","message":"s/perfrom/perform","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ee2b06fecd7f479b9584e9adb88100c07ad5d9fa","unresolved":false,"context_lines":[{"line_number":1551,"context_line":"``https``."},{"line_number":1552,"context_line":""},{"line_number":1553,"context_line":".. note::"},{"line_number":1554,"context_line":"   This feature assumes that the SPP ISO used to perfrom firmware update on the"},{"line_number":1555,"context_line":"   node is hosted on ``http`` or ``https`` webserver."},{"line_number":1556,"context_line":""},{"line_number":1557,"context_line":"* The firmware components that can be updated in ``ilo`` mode are:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_0bc5525a","line":1554,"range":{"start_line":1554,"start_character":49,"end_line":1554,"end_character":56},"in_reply_to":"3a461143_270d0138","updated":"2017-02-02 12:51:56.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"dc82b1b6b6d212b726b1b221861fe836004eab97","unresolved":false,"context_lines":[{"line_number":1568,"context_line":"  ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1569,"context_line":""},{"line_number":1570,"context_line":"  In the case of ``hpsum`` update mode, it performs update on all or list of"},{"line_number":1571,"context_line":"  firmware components and return the update status."},{"line_number":1572,"context_line":""},{"line_number":1573,"context_line":"  In both cases, the processing error could happen during image download,"},{"line_number":1574,"context_line":"  image checksum verification or image extraction."}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a461143_be6dbecd","line":1571,"range":{"start_line":1571,"start_character":26,"end_line":1571,"end_character":51},"updated":"2017-10-17 03:12:16.000000000","message":"Better to mention that firmware update will not stop in case of any failure. It would attempt all firmware update and provide the consolidated status of the firmware update being attempted.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"84de406ff7befac0c024f3ea09d5594ac0fac033","unresolved":false,"context_lines":[{"line_number":883,"context_line":"       \"``bios``\", \"HPE ProLiant System ROM\""},{"line_number":884,"context_line":"       \"``chassis``\", \"System chassis device\""},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"    Some devices firmware cannot be updated via this method, such as: storage"},{"line_number":887,"context_line":"    controllers, host bus adapters, disk drive firmware, network interfaces"},{"line_number":888,"context_line":"    and Onboard Administrator (OA)."},{"line_number":889,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_65dee56e","line":886,"range":{"start_line":886,"start_character":48,"end_line":886,"end_character":52},"updated":"2017-02-06 05:36:19.000000000","message":"Better to make it explicit that it refers to \u0027ilo\u0027 method.","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"84eb5f81a5c5a630f852815894171ab085dcd640","unresolved":false,"context_lines":[{"line_number":883,"context_line":"       \"``bios``\", \"HPE ProLiant System ROM\""},{"line_number":884,"context_line":"       \"``chassis``\", \"System chassis device\""},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"    Some devices firmware cannot be updated via this method, such as: storage"},{"line_number":887,"context_line":"    controllers, host bus adapters, disk drive firmware, network interfaces"},{"line_number":888,"context_line":"    and Onboard Administrator (OA)."},{"line_number":889,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_db8cd681","line":886,"range":{"start_line":886,"start_character":48,"end_line":886,"end_character":52},"in_reply_to":"1a430d35_65dee56e","updated":"2017-02-06 07:34:55.000000000","message":"Done","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"84de406ff7befac0c024f3ea09d5594ac0fac033","unresolved":false,"context_lines":[{"line_number":888,"context_line":"    and Onboard Administrator (OA)."},{"line_number":889,"context_line":""},{"line_number":890,"context_line":"    In ``hpsum`` mode, firmware update is performed on all or list of user"},{"line_number":891,"context_line":"    specified firmware components on the node."},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"* iLO with firmware version 1.5 is minimally required to support all the"},{"line_number":894,"context_line":"  operations."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_436da131","line":891,"range":{"start_line":891,"start_character":4,"end_line":891,"end_character":33},"updated":"2017-02-06 05:36:19.000000000","message":"Need to make it explicit that the component name is firmware filename found in the SPP iso and the name should match exactly as it is passed as the firmware filename to hpsum command.","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"84eb5f81a5c5a630f852815894171ab085dcd640","unresolved":false,"context_lines":[{"line_number":888,"context_line":"    and Onboard Administrator (OA)."},{"line_number":889,"context_line":""},{"line_number":890,"context_line":"    In ``hpsum`` mode, firmware update is performed on all or list of user"},{"line_number":891,"context_line":"    specified firmware components on the node."},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"* iLO with firmware version 1.5 is minimally required to support all the"},{"line_number":894,"context_line":"  operations."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_db45b6b3","line":891,"range":{"start_line":891,"start_character":4,"end_line":891,"end_character":33},"in_reply_to":"1a430d35_436da131","updated":"2017-02-06 07:34:55.000000000","message":"Done","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"84de406ff7befac0c024f3ea09d5594ac0fac033","unresolved":false,"context_lines":[{"line_number":1517,"context_line":""},{"line_number":1518,"context_line":"    {"},{"line_number":1519,"context_line":"      \"url\": \"\u003curl of SPP ISO\u003e\","},{"line_number":1520,"context_line":"      \"checksum\": \"\u003cmd5 checksum of firmware image file to verify the image\u003e\","},{"line_number":1521,"context_line":"      \"component\": \"\u003cJSON string with comma-separated filenames of the firmware components\u003e\""},{"line_number":1522,"context_line":"    }"},{"line_number":1523,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_4354c153","line":1520,"range":{"start_line":1520,"start_character":36,"end_line":1520,"end_character":55},"updated":"2017-02-06 05:36:19.000000000","message":"Isn\u0027t this is checksum of SPP iso?","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"84eb5f81a5c5a630f852815894171ab085dcd640","unresolved":false,"context_lines":[{"line_number":1517,"context_line":""},{"line_number":1518,"context_line":"    {"},{"line_number":1519,"context_line":"      \"url\": \"\u003curl of SPP ISO\u003e\","},{"line_number":1520,"context_line":"      \"checksum\": \"\u003cmd5 checksum of firmware image file to verify the image\u003e\","},{"line_number":1521,"context_line":"      \"component\": \"\u003cJSON string with comma-separated filenames of the firmware components\u003e\""},{"line_number":1522,"context_line":"    }"},{"line_number":1523,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_9b508e60","line":1520,"range":{"start_line":1520,"start_character":36,"end_line":1520,"end_character":55},"in_reply_to":"1a430d35_4354c153","updated":"2017-02-06 07:34:55.000000000","message":"Done","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":1507,"context_line":"            \"firmware_update_mode\": \"hpsum\","},{"line_number":1508,"context_line":"            \"firmware_images\":["},{"line_number":1509,"context_line":"                {"},{"line_number":1510,"context_line":"                    \"url\": \"http://my_address:port/SPP.iso\","},{"line_number":1511,"context_line":"                    \"checksum\": \"\u003cmd5-checksum-of-this-file\u003e\","},{"line_number":1512,"context_line":"                    \"component\": \"CP024356.scexe,CP008097.exe\""},{"line_number":1513,"context_line":"                }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a1ff146_8a4bcb86","line":1510,"range":{"start_line":1510,"start_character":28,"end_line":1510,"end_character":32},"updated":"2017-03-16 15:06:04.000000000","message":"Should this be https?","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":1507,"context_line":"            \"firmware_update_mode\": \"hpsum\","},{"line_number":1508,"context_line":"            \"firmware_images\":["},{"line_number":1509,"context_line":"                {"},{"line_number":1510,"context_line":"                    \"url\": \"http://my_address:port/SPP.iso\","},{"line_number":1511,"context_line":"                    \"checksum\": \"\u003cmd5-checksum-of-this-file\u003e\","},{"line_number":1512,"context_line":"                    \"component\": \"CP024356.scexe,CP008097.exe\""},{"line_number":1513,"context_line":"                }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_c3c9497a","line":1510,"range":{"start_line":1510,"start_character":28,"end_line":1510,"end_character":32},"in_reply_to":"3a1ff146_8a4bcb86","updated":"2017-03-20 04:39:53.000000000","message":"It can be \u0027http\u0027 or \u0027https\u0027 based on the user\u0027s repo where SPP.iso is hosted.","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":1577,"context_line":"``https``."},{"line_number":1578,"context_line":""},{"line_number":1579,"context_line":".. note::"},{"line_number":1580,"context_line":"   This feature assumes that the SPP ISO used to perfrom firmware update on the"},{"line_number":1581,"context_line":"   node is hosted on ``http`` or ``https`` webserver."},{"line_number":1582,"context_line":""},{"line_number":1583,"context_line":"* The firmware components that can be updated in ``ilo`` mode are:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a1ff146_ea3fdfd3","line":1580,"range":{"start_line":1580,"start_character":49,"end_line":1580,"end_character":56},"updated":"2017-03-16 15:06:04.000000000","message":"perform","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":1577,"context_line":"``https``."},{"line_number":1578,"context_line":""},{"line_number":1579,"context_line":".. note::"},{"line_number":1580,"context_line":"   This feature assumes that the SPP ISO used to perfrom firmware update on the"},{"line_number":1581,"context_line":"   node is hosted on ``http`` or ``https`` webserver."},{"line_number":1582,"context_line":""},{"line_number":1583,"context_line":"* The firmware components that can be updated in ``ilo`` mode are:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_43ac79a0","line":1580,"range":{"start_line":1580,"start_character":49,"end_line":1580,"end_character":56},"in_reply_to":"3a1ff146_ea3fdfd3","updated":"2017-03-20 04:39:53.000000000","message":"Done","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"  to triage and fix the failure and re-attempt the manual clean step"},{"line_number":1594,"context_line":"  ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  In the case of ``hpsum`` update mode, it performs update on all or list of"},{"line_number":1597,"context_line":"  firmware components and return the update status."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  In both cases, the processing error could happen during image download,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a1ff146_85273cb5","line":1596,"range":{"start_line":1596,"start_character":52,"end_line":1596,"end_character":58},"updated":"2017-03-16 15:06:04.000000000","message":"s/update/an update","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"  to triage and fix the failure and re-attempt the manual clean step"},{"line_number":1594,"context_line":"  ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  In the case of ``hpsum`` update mode, it performs update on all or list of"},{"line_number":1597,"context_line":"  firmware components and return the update status."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  In both cases, the processing error could happen during image download,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_a391ad54","line":1596,"range":{"start_line":1596,"start_character":52,"end_line":1596,"end_character":58},"in_reply_to":"3a1ff146_85273cb5","updated":"2017-03-20 04:39:53.000000000","message":"Done","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":1594,"context_line":"  ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  In the case of ``hpsum`` update mode, it performs update on all or list of"},{"line_number":1597,"context_line":"  firmware components and return the update status."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  In both cases, the processing error could happen during image download,"},{"line_number":1600,"context_line":"  image checksum verification or image extraction."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a1ff146_253768e4","line":1597,"range":{"start_line":1597,"start_character":26,"end_line":1597,"end_character":32},"updated":"2017-03-16 15:06:04.000000000","message":"s/return/returns","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":1594,"context_line":"  ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  In the case of ``hpsum`` update mode, it performs update on all or list of"},{"line_number":1597,"context_line":"  firmware components and return the update status."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  In both cases, the processing error could happen during image download,"},{"line_number":1600,"context_line":"  image checksum verification or image extraction."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_0389a126","line":1597,"range":{"start_line":1597,"start_character":26,"end_line":1597,"end_character":32},"in_reply_to":"3a1ff146_253768e4","updated":"2017-03-20 04:39:53.000000000","message":"Done","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":867,"context_line":"    Updates the firmware of the devices. Also an out-of-band step associated"},{"line_number":868,"context_line":"    with the ``management`` interface. See"},{"line_number":869,"context_line":"    `Initiating firmware update as manual clean step`_ for user guidance on"},{"line_number":870,"context_line":"    usage. The supported firmware update modes are ``ilo`` and ``hpsum``."},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"    The supported devices for firmware update in ``ilo`` mode are: ``ilo``,"},{"line_number":873,"context_line":"    ``cpld``, ``power_pic``, ``bios`` and ``chassis``. Refer to below table"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_63025571","line":870,"range":{"start_line":870,"start_character":52,"end_line":870,"end_character":73},"updated":"2017-03-20 05:21:05.000000000","message":"Add a sentence to indicate \u0027ilo\u0027 is out-of-band and \u0027hpsum\u0027 is inband.","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":867,"context_line":"    Updates the firmware of the devices. Also an out-of-band step associated"},{"line_number":868,"context_line":"    with the ``management`` interface. See"},{"line_number":869,"context_line":"    `Initiating firmware update as manual clean step`_ for user guidance on"},{"line_number":870,"context_line":"    usage. The supported firmware update modes are ``ilo`` and ``hpsum``."},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"    The supported devices for firmware update in ``ilo`` mode are: ``ilo``,"},{"line_number":873,"context_line":"    ``cpld``, ``power_pic``, ``bios`` and ``chassis``. Refer to below table"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_a67f8da9","line":870,"range":{"start_line":870,"start_character":52,"end_line":870,"end_character":73},"in_reply_to":"1a1ced50_63025571","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":1538,"context_line":""},{"line_number":1539,"context_line":"All the fields in the firmware image block are mandatory."},{"line_number":1540,"context_line":""},{"line_number":1541,"context_line":"Each firmware image block in ``hpsum`` mode is represented by a dictionary"},{"line_number":1542,"context_line":"(JSON), in the form::"},{"line_number":1543,"context_line":""},{"line_number":1544,"context_line":"    {"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_c32149fd","line":1541,"range":{"start_line":1541,"start_character":0,"end_line":1541,"end_character":26},"updated":"2017-03-20 05:21:05.000000000","message":"Can there be multiple firmware image blocks? \nI think its a single block and one can specify multiple components in same block.","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":1538,"context_line":""},{"line_number":1539,"context_line":"All the fields in the firmware image block are mandatory."},{"line_number":1540,"context_line":""},{"line_number":1541,"context_line":"Each firmware image block in ``hpsum`` mode is represented by a dictionary"},{"line_number":1542,"context_line":"(JSON), in the form::"},{"line_number":1543,"context_line":""},{"line_number":1544,"context_line":"    {"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_81127b55","line":1541,"range":{"start_line":1541,"start_character":0,"end_line":1541,"end_character":26},"in_reply_to":"1a1ced50_c32149fd","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":1596,"context_line":"  In the case of ``hpsum`` update mode, it performs an update on all or list of"},{"line_number":1597,"context_line":"  firmware components and returns the update status."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  In both cases, the processing error could happen during image download,"},{"line_number":1600,"context_line":"  image checksum verification or image extraction."},{"line_number":1601,"context_line":""},{"line_number":1602,"context_line":"  The devices for which the firmwares have been updated successfully would"},{"line_number":1603,"context_line":"  start functioning using their newly updated firmware."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_237dbde7","line":1600,"range":{"start_line":1599,"start_character":2,"end_line":1600,"end_character":50},"updated":"2017-03-20 05:21:05.000000000","message":"May be you can add that any of these errors could lead to clean-step failure.","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":1596,"context_line":"  In the case of ``hpsum`` update mode, it performs an update on all or list of"},{"line_number":1597,"context_line":"  firmware components and returns the update status."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  In both cases, the processing error could happen during image download,"},{"line_number":1600,"context_line":"  image checksum verification or image extraction."},{"line_number":1601,"context_line":""},{"line_number":1602,"context_line":"  The devices for which the firmwares have been updated successfully would"},{"line_number":1603,"context_line":"  start functioning using their newly updated firmware."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_3ca80adb","line":1600,"range":{"start_line":1599,"start_character":2,"end_line":1600,"end_character":50},"in_reply_to":"1a1ced50_237dbde7","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"069f389a52b99c0badd1d1bdb6a0be513bee9527","unresolved":false,"context_lines":[{"line_number":1595,"context_line":"  to triage and fix the failure and re-attempt the manual clean step"},{"line_number":1596,"context_line":"  ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1597,"context_line":""},{"line_number":1598,"context_line":"  In the case of ``hpsum`` update mode, it performs an update on all or list of"},{"line_number":1599,"context_line":"  firmware components and returns the update status."},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"  In both cases, the processing error could happen during image download,"},{"line_number":1602,"context_line":"  image checksum verification or image extraction. Any of these errors could"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_0a82ff4f","line":1599,"range":{"start_line":1598,"start_character":2,"end_line":1599,"end_character":52},"updated":"2017-03-27 11:04:44.000000000","message":"Also need to mention hpsum logs being transferred, and how to enable/view them.","commit_id":"0b76e0499c1ac976db2c014fd5ca98502b10c858"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0c680171c6e0028d1d223a11d39089335ba1b8be","unresolved":false,"context_lines":[{"line_number":1595,"context_line":"  to triage and fix the failure and re-attempt the manual clean step"},{"line_number":1596,"context_line":"  ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1597,"context_line":""},{"line_number":1598,"context_line":"  In the case of ``hpsum`` update mode, it performs an update on all or list of"},{"line_number":1599,"context_line":"  firmware components and returns the update status."},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"  In both cases, the processing error could happen during image download,"},{"line_number":1602,"context_line":"  image checksum verification or image extraction. Any of these errors could"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_c06ba11b","line":1599,"range":{"start_line":1598,"start_character":2,"end_line":1599,"end_character":52},"in_reply_to":"ffe62b97_0a82ff4f","updated":"2017-03-28 10:32:45.000000000","message":"Done","commit_id":"0b76e0499c1ac976db2c014fd5ca98502b10c858"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"b72cfa9742e303a1538114ede5cd0b1e0b98c5d4","unresolved":false,"context_lines":[{"line_number":1555,"context_line":"If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1556,"context_line":"the firmware components."},{"line_number":1557,"context_line":""},{"line_number":1558,"context_line":"* The different types of firmware url schemes supported for ``ilo`` mode are:"},{"line_number":1559,"context_line":"  ``file``, ``http``, ``https`` and ``swift``."},{"line_number":1560,"context_line":""},{"line_number":1561,"context_line":".. note::"},{"line_number":1562,"context_line":"   This feature assumes that while using ``file`` url scheme the file path is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"5ff73747_8a8b18be","line":1559,"range":{"start_line":1558,"start_character":0,"end_line":1559,"end_character":46},"updated":"2017-05-02 10:16:05.000000000","message":"This line is overformatted. Also better to move this line L1540 where \u0027ilo\u0027 mode is discussed.","commit_id":"fc5c7abe9024bc07ee8855c3ddf690d186d24e80"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"db5a2d35b4a8b179db181b8e9dda17cb2fccbf91","unresolved":false,"context_lines":[{"line_number":1555,"context_line":"If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1556,"context_line":"the firmware components."},{"line_number":1557,"context_line":""},{"line_number":1558,"context_line":"* The different types of firmware url schemes supported for ``ilo`` mode are:"},{"line_number":1559,"context_line":"  ``file``, ``http``, ``https`` and ``swift``."},{"line_number":1560,"context_line":""},{"line_number":1561,"context_line":".. note::"},{"line_number":1562,"context_line":"   This feature assumes that while using ``file`` url scheme the file path is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_c06dfecc","line":1559,"range":{"start_line":1558,"start_character":0,"end_line":1559,"end_character":46},"in_reply_to":"5ff73747_8a8b18be","updated":"2017-05-10 07:30:49.000000000","message":"Done","commit_id":"fc5c7abe9024bc07ee8855c3ddf690d186d24e80"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"b72cfa9742e303a1538114ede5cd0b1e0b98c5d4","unresolved":false,"context_lines":[{"line_number":1582,"context_line":"   This feature assumes that the SPP ISO used to perform firmware update on the"},{"line_number":1583,"context_line":"   node is hosted on ``http`` or ``https`` webserver."},{"line_number":1584,"context_line":""},{"line_number":1585,"context_line":"* The firmware components that can be updated in ``ilo`` mode are:"},{"line_number":1586,"context_line":"  ``ilo``, ``cpld``, ``power_pic``, ``bios`` and ``chassis``."},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":"* In the case of ``ilo`` mode, the firmware images will be updated in the order"},{"line_number":1589,"context_line":"  given by the operator. If there is any error during processing of any of the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"5ff73747_8a00b803","line":1586,"range":{"start_line":1585,"start_character":0,"end_line":1586,"end_character":61},"updated":"2017-05-02 10:16:05.000000000","message":"ditto. Collate all the information related to \u0027ilo\u0027 and \u0027hpsum\u0027 mode as separate blocks instead of explaining them in a mixed manner.","commit_id":"fc5c7abe9024bc07ee8855c3ddf690d186d24e80"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"db5a2d35b4a8b179db181b8e9dda17cb2fccbf91","unresolved":false,"context_lines":[{"line_number":1582,"context_line":"   This feature assumes that the SPP ISO used to perform firmware update on the"},{"line_number":1583,"context_line":"   node is hosted on ``http`` or ``https`` webserver."},{"line_number":1584,"context_line":""},{"line_number":1585,"context_line":"* The firmware components that can be updated in ``ilo`` mode are:"},{"line_number":1586,"context_line":"  ``ilo``, ``cpld``, ``power_pic``, ``bios`` and ``chassis``."},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":"* In the case of ``ilo`` mode, the firmware images will be updated in the order"},{"line_number":1589,"context_line":"  given by the operator. If there is any error during processing of any of the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_a072f2ab","line":1586,"range":{"start_line":1585,"start_character":0,"end_line":1586,"end_character":61},"in_reply_to":"5ff73747_8a00b803","updated":"2017-05-10 07:30:49.000000000","message":"Done","commit_id":"fc5c7abe9024bc07ee8855c3ddf690d186d24e80"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"b72cfa9742e303a1538114ede5cd0b1e0b98c5d4","unresolved":false,"context_lines":[{"line_number":1597,"context_line":""},{"line_number":1598,"context_line":"  In the case of ``hpsum`` update mode, it performs an update on all or list of"},{"line_number":1599,"context_line":"  firmware components and returns the hpsum log files. Refer"},{"line_number":1600,"context_line":"  `Retrieving logs from the deploy ramdisk`_ for more information on enabling"},{"line_number":1601,"context_line":"  and viewing the hpsum logs returned from the ramdisk."},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"  In both cases, the processing error could happen during image download,"}],"source_content_type":"text/x-rst","patch_set":15,"id":"5ff73747_e542cf3d","line":1600,"range":{"start_line":1600,"start_character":2,"end_line":1600,"end_character":44},"updated":"2017-05-02 10:16:05.000000000","message":"Need to explain about the naming of the log object and its content.","commit_id":"fc5c7abe9024bc07ee8855c3ddf690d186d24e80"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"db5a2d35b4a8b179db181b8e9dda17cb2fccbf91","unresolved":false,"context_lines":[{"line_number":1597,"context_line":""},{"line_number":1598,"context_line":"  In the case of ``hpsum`` update mode, it performs an update on all or list of"},{"line_number":1599,"context_line":"  firmware components and returns the hpsum log files. Refer"},{"line_number":1600,"context_line":"  `Retrieving logs from the deploy ramdisk`_ for more information on enabling"},{"line_number":1601,"context_line":"  and viewing the hpsum logs returned from the ramdisk."},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"  In both cases, the processing error could happen during image download,"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_60686ab8","line":1600,"range":{"start_line":1600,"start_character":2,"end_line":1600,"end_character":44},"in_reply_to":"5ff73747_e542cf3d","updated":"2017-05-10 07:30:49.000000000","message":"Done","commit_id":"fc5c7abe9024bc07ee8855c3ddf690d186d24e80"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"b72cfa9742e303a1538114ede5cd0b1e0b98c5d4","unresolved":false,"context_lines":[{"line_number":1651,"context_line":".. _`Enabling HTTPS in Swift`: http://docs.openstack.org/project-install-guide/baremetal/draft/enabling-https.html#enabling-https-in-swift"},{"line_number":1652,"context_line":".. _`Enabling HTTPS in Image service`: http://docs.openstack.org/project-install-guide/baremetal/draft/enabling-https.html#enabling-https-in-image-service"},{"line_number":1653,"context_line":".. _`HPE iLO4 User Guide`: http://h20566.www2.hpe.com/hpsc/doc/public/display?docId\u003dc03334051"},{"line_number":1654,"context_line":".. _`Retrieving logs from the deploy ramdisk`: https://docs.openstack.org/developer/ironic/deploy/troubleshooting.html#retrieving-logs-from-the-deploy-ramdisk"}],"source_content_type":"text/x-rst","patch_set":15,"id":"5ff73747_855c2b19","line":1654,"updated":"2017-05-02 10:16:05.000000000","message":"Can we add a link to hpsum documentation and probably a link to retrieve hpsum iso?","commit_id":"fc5c7abe9024bc07ee8855c3ddf690d186d24e80"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"db5a2d35b4a8b179db181b8e9dda17cb2fccbf91","unresolved":false,"context_lines":[{"line_number":1651,"context_line":".. _`Enabling HTTPS in Swift`: http://docs.openstack.org/project-install-guide/baremetal/draft/enabling-https.html#enabling-https-in-swift"},{"line_number":1652,"context_line":".. _`Enabling HTTPS in Image service`: http://docs.openstack.org/project-install-guide/baremetal/draft/enabling-https.html#enabling-https-in-image-service"},{"line_number":1653,"context_line":".. _`HPE iLO4 User Guide`: http://h20566.www2.hpe.com/hpsc/doc/public/display?docId\u003dc03334051"},{"line_number":1654,"context_line":".. _`Retrieving logs from the deploy ramdisk`: https://docs.openstack.org/developer/ironic/deploy/troubleshooting.html#retrieving-logs-from-the-deploy-ramdisk"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_4061eed2","line":1654,"in_reply_to":"5ff73747_855c2b19","updated":"2017-05-10 07:30:49.000000000","message":"Added the documentation about the SPP iso","commit_id":"fc5c7abe9024bc07ee8855c3ddf690d186d24e80"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"0d9a3e332695a6a94f1106e41c1ba82200b64237","unresolved":false,"context_lines":[{"line_number":1518,"context_line":""},{"line_number":1519,"context_line":".. note::"},{"line_number":1520,"context_line":"   This feature assumes that while using ``file`` url scheme the file path is"},{"line_number":1521,"context_line":"   on the conductor controlling the node."},{"line_number":1522,"context_line":""},{"line_number":1523,"context_line":".. note::"},{"line_number":1524,"context_line":"   The ``swift`` url scheme assumes the swift account of the ``service``"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_85058f13","side":"PARENT","line":1521,"updated":"2017-05-23 21:17:24.000000000","message":"The file path needs to be accessible to the ironic conductor node.   The Ironic conductor can run on bare metal, VM or container.  Therefore, the file path needs to be accessible to the conductor node.  Some operator may use NFS.","commit_id":"a68e30a4f3b8d171ddec4304f09f8c707350bb99"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"bc6f3fd9fbc7a900e7373d5751ad3319057b93a4","unresolved":false,"context_lines":[{"line_number":1518,"context_line":""},{"line_number":1519,"context_line":".. note::"},{"line_number":1520,"context_line":"   This feature assumes that while using ``file`` url scheme the file path is"},{"line_number":1521,"context_line":"   on the conductor controlling the node."},{"line_number":1522,"context_line":""},{"line_number":1523,"context_line":".. note::"},{"line_number":1524,"context_line":"   The ``swift`` url scheme assumes the swift account of the ``service``"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_da43363e","side":"PARENT","line":1521,"in_reply_to":"ff0f0b1f_85058f13","updated":"2017-05-25 05:21:57.000000000","message":"Done","commit_id":"a68e30a4f3b8d171ddec4304f09f8c707350bb99"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"0d9a3e332695a6a94f1106e41c1ba82200b64237","unresolved":false,"context_lines":[{"line_number":890,"context_line":"    and Onboard Administrator (OA)."},{"line_number":891,"context_line":""},{"line_number":892,"context_line":"    In ``hpsum`` mode, firmware update is performed on all or list of user"},{"line_number":893,"context_line":"    specified firmware components on the node."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"* iLO with firmware version 1.5 is minimally required to support all the"},{"line_number":896,"context_line":"  operations."}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_aa4d029b","line":893,"updated":"2017-05-23 21:17:24.000000000","message":"Please add the hpsum document link for users to get more info about hpsum firmware update.","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"bc6f3fd9fbc7a900e7373d5751ad3319057b93a4","unresolved":false,"context_lines":[{"line_number":890,"context_line":"    and Onboard Administrator (OA)."},{"line_number":891,"context_line":""},{"line_number":892,"context_line":"    In ``hpsum`` mode, firmware update is performed on all or list of user"},{"line_number":893,"context_line":"    specified firmware components on the node."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"* iLO with firmware version 1.5 is minimally required to support all the"},{"line_number":896,"context_line":"  operations."}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_1f22c0b9","line":893,"in_reply_to":"ff0f0b1f_aa4d029b","updated":"2017-05-25 05:21:57.000000000","message":"Added.","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"755ffe6b3afa49c9c06b6044134c114d6fd5bf28","unresolved":false,"context_lines":[{"line_number":1554,"context_line":"    is to process each of the firmware files and update them on the devices"},{"line_number":1555,"context_line":"    only if all the files are processed successfully. If, during the update"},{"line_number":1556,"context_line":"    (uploading and flashing) process, an update fails, then the remaining"},{"line_number":1557,"context_line":"    updates, if any, in the list will be aborted. But it is recommended to"},{"line_number":1558,"context_line":"    triage and fix the failure and re-attempt the manual clean step"},{"line_number":1559,"context_line":"    ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1560,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_7f7c1c71","line":1557,"range":{"start_line":1557,"start_character":50,"end_line":1557,"end_character":71},"updated":"2017-05-25 04:05:18.000000000","message":"nit: s/ \u0027But it is recommended\u0027 / \u0027It is recommended\u0027 /","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"bc6f3fd9fbc7a900e7373d5751ad3319057b93a4","unresolved":false,"context_lines":[{"line_number":1554,"context_line":"    is to process each of the firmware files and update them on the devices"},{"line_number":1555,"context_line":"    only if all the files are processed successfully. If, during the update"},{"line_number":1556,"context_line":"    (uploading and flashing) process, an update fails, then the remaining"},{"line_number":1557,"context_line":"    updates, if any, in the list will be aborted. But it is recommended to"},{"line_number":1558,"context_line":"    triage and fix the failure and re-attempt the manual clean step"},{"line_number":1559,"context_line":"    ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1560,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_df00c804","line":1557,"range":{"start_line":1557,"start_character":50,"end_line":1557,"end_character":71},"in_reply_to":"ff0f0b1f_7f7c1c71","updated":"2017-05-25 05:21:57.000000000","message":"Done","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"755ffe6b3afa49c9c06b6044134c114d6fd5bf28","unresolved":false,"context_lines":[{"line_number":1582,"context_line":""},{"line_number":1583,"context_line":"      {"},{"line_number":1584,"context_line":"        \"url\": \"\u003curl of SPP ISO\u003e\","},{"line_number":1585,"context_line":"        \"checksum\": \"\u003cmd5 checksum of firmware image file to verify the image\u003e\","},{"line_number":1586,"context_line":"        \"component\": \"\u003cfilename of the fimware component to be flashed\u003e\""},{"line_number":1587,"context_line":"      }"},{"line_number":1588,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_1f952087","line":1585,"range":{"start_line":1585,"start_character":38,"end_line":1585,"end_character":52},"updated":"2017-05-25 04:05:18.000000000","message":"nit: Would it be better to say \u0027md5 checksum of SPP iso\u0027?","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"bc6f3fd9fbc7a900e7373d5751ad3319057b93a4","unresolved":false,"context_lines":[{"line_number":1582,"context_line":""},{"line_number":1583,"context_line":"      {"},{"line_number":1584,"context_line":"        \"url\": \"\u003curl of SPP ISO\u003e\","},{"line_number":1585,"context_line":"        \"checksum\": \"\u003cmd5 checksum of firmware image file to verify the image\u003e\","},{"line_number":1586,"context_line":"        \"component\": \"\u003cfilename of the fimware component to be flashed\u003e\""},{"line_number":1587,"context_line":"      }"},{"line_number":1588,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_5a0a861f","line":1585,"range":{"start_line":1585,"start_character":38,"end_line":1585,"end_character":52},"in_reply_to":"ff0f0b1f_1f952087","updated":"2017-05-25 05:21:57.000000000","message":"Done","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"755ffe6b3afa49c9c06b6044134c114d6fd5bf28","unresolved":false,"context_lines":[{"line_number":1604,"context_line":"      \u003cnode-uuid\u003e[_\u003cinstance-uuid\u003e]_update_firmware_\u003ctimestamp yyyy-mm-dd-hh:mm:ss\u003e.tar.gz"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"    Refer `Retrieving logs from the deploy ramdisk`_ for more"},{"line_number":1607,"context_line":"    information on enabling and viewing the hpsum logs returned from the ramdisk."},{"line_number":1608,"context_line":""},{"line_number":1609,"context_line":".. note::"},{"line_number":1610,"context_line":"   This feature assumes that the SPP ISO used to perform firmware update on the"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_bfebd410","line":1607,"range":{"start_line":1607,"start_character":44,"end_line":1607,"end_character":49},"updated":"2017-05-25 04:05:18.000000000","message":"s/ \u0027hpsum\u0027 //","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"bc6f3fd9fbc7a900e7373d5751ad3319057b93a4","unresolved":false,"context_lines":[{"line_number":1604,"context_line":"      \u003cnode-uuid\u003e[_\u003cinstance-uuid\u003e]_update_firmware_\u003ctimestamp yyyy-mm-dd-hh:mm:ss\u003e.tar.gz"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"    Refer `Retrieving logs from the deploy ramdisk`_ for more"},{"line_number":1607,"context_line":"    information on enabling and viewing the hpsum logs returned from the ramdisk."},{"line_number":1608,"context_line":""},{"line_number":1609,"context_line":".. note::"},{"line_number":1610,"context_line":"   This feature assumes that the SPP ISO used to perform firmware update on the"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ff0f0b1f_ba2ac27b","line":1607,"range":{"start_line":1607,"start_character":44,"end_line":1607,"end_character":49},"in_reply_to":"ff0f0b1f_bfebd410","updated":"2017-05-25 05:21:57.000000000","message":"Done","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9faa5f4b54af8416f4c047aa7d08bcca8fc293ed","unresolved":false,"context_lines":[{"line_number":1555,"context_line":"    is to process each of the firmware files and update them on the devices"},{"line_number":1556,"context_line":"    only if all the files are processed successfully. If, during the update"},{"line_number":1557,"context_line":"    (uploading and flashing) process, an update fails, then the remaining"},{"line_number":1558,"context_line":"    updates, if any, in the list will be aborted. It is recommended to"},{"line_number":1559,"context_line":"    triage and fix the failure and re-attempt the manual clean step"},{"line_number":1560,"context_line":"    ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1561,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"df140735_babcd2bb","line":1558,"range":{"start_line":1558,"start_character":4,"end_line":1558,"end_character":49},"updated":"2017-05-29 17:58:59.000000000","message":"So the ones that were successful won\u0027t rollback? Then the previous sentences may be incorrect","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"19f9e4451ac00159031af821fb53b3cb20657aa5","unresolved":false,"context_lines":[{"line_number":1555,"context_line":"    is to process each of the firmware files and update them on the devices"},{"line_number":1556,"context_line":"    only if all the files are processed successfully. If, during the update"},{"line_number":1557,"context_line":"    (uploading and flashing) process, an update fails, then the remaining"},{"line_number":1558,"context_line":"    updates, if any, in the list will be aborted. It is recommended to"},{"line_number":1559,"context_line":"    triage and fix the failure and re-attempt the manual clean step"},{"line_number":1560,"context_line":"    ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1561,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"df140735_e4562807","line":1558,"range":{"start_line":1558,"start_character":4,"end_line":1558,"end_character":49},"in_reply_to":"df140735_babcd2bb","updated":"2017-05-30 05:51:53.000000000","message":"All the firmware files will be processed first and then each firmware will get updated. If there is a failure in processing any of the firmware images then none of the firmware files will be updated.(Previous sentence explains this)\n\nFailure during the update process of any of the firmware image will abort the clean step. There is no rollback once the firmware is updated to a particular version.","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a1b24ec6c4baf3712ceaa3faa4cce0ad1b831be0","unresolved":false,"context_lines":[{"line_number":1555,"context_line":"    is to process each of the firmware files and update them on the devices"},{"line_number":1556,"context_line":"    only if all the files are processed successfully. If, during the update"},{"line_number":1557,"context_line":"    (uploading and flashing) process, an update fails, then the remaining"},{"line_number":1558,"context_line":"    updates, if any, in the list will be aborted. It is recommended to"},{"line_number":1559,"context_line":"    triage and fix the failure and re-attempt the manual clean step"},{"line_number":1560,"context_line":"    ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1561,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"df140735_c108b129","line":1558,"range":{"start_line":1558,"start_character":4,"end_line":1558,"end_character":49},"in_reply_to":"df140735_e4562807","updated":"2017-05-30 09:17:16.000000000","message":"Ahh, right, it says processing. Thanks","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9faa5f4b54af8416f4c047aa7d08bcca8fc293ed","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"  If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1594,"context_line":"  the firmware components."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  - The different url schemes supported for ``hpsum`` mode are: ``http`` and"},{"line_number":1597,"context_line":"    ``https``."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  - It performs an update on all or list of firmware components and returns the"},{"line_number":1600,"context_line":"    hpsum log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":18,"id":"df140735_9a346e4c","line":1597,"range":{"start_line":1596,"start_character":4,"end_line":1597,"end_character":14},"updated":"2017-05-29 17:58:59.000000000","message":"this is not validated from what i see in code, swift and file can be passed as well.","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"281cafe8bcbea1e8a0659a70626fe86b4721a6f8","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"  If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1594,"context_line":"  the firmware components."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  - The different url schemes supported for ``hpsum`` mode are: ``http`` and"},{"line_number":1597,"context_line":"    ``https``."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  - It performs an update on all or list of firmware components and returns the"},{"line_number":1600,"context_line":"    hpsum log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":18,"id":"df140735_347ac4f0","line":1597,"range":{"start_line":1596,"start_character":4,"end_line":1597,"end_character":14},"in_reply_to":"df140735_014d8971","updated":"2017-06-01 11:47:49.000000000","message":"Missed the swift url substitution. Updated.","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a1b24ec6c4baf3712ceaa3faa4cce0ad1b831be0","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"  If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1594,"context_line":"  the firmware components."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  - The different url schemes supported for ``hpsum`` mode are: ``http`` and"},{"line_number":1597,"context_line":"    ``https``."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  - It performs an update on all or list of firmware components and returns the"},{"line_number":1600,"context_line":"    hpsum log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":18,"id":"df140735_014d8971","line":1597,"range":{"start_line":1596,"start_character":4,"end_line":1597,"end_character":14},"in_reply_to":"df140735_04eebc21","updated":"2017-05-30 09:17:16.000000000","message":"So if it is swift, how can the download happen? Do you pass the token to the IPA running on the node? Because in the clean step code I don\u0027t see where you substitute swift:// link by the temp url.\n\nIf it is validated on the agent side, maybe that\u0027s fine not to do this in ironic.","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"19f9e4451ac00159031af821fb53b3cb20657aa5","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"  If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1594,"context_line":"  the firmware components."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  - The different url schemes supported for ``hpsum`` mode are: ``http`` and"},{"line_number":1597,"context_line":"    ``https``."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  - It performs an update on all or list of firmware components and returns the"},{"line_number":1600,"context_line":"    hpsum log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":18,"id":"df140735_04eebc21","line":1597,"range":{"start_line":1596,"start_character":4,"end_line":1597,"end_character":14},"in_reply_to":"df140735_9a346e4c","updated":"2017-05-30 05:51:53.000000000","message":"The url is used by the HardwareManager to get the image. So the url cannot be a \u0027file\u0027.\n\nThe url validation is done in the HardwareManager\nhttps://github.com/openstack/proliantutils/blob/master/proliantutils/hpsum/hpsum_controller.py#L161.\n\nShould we validate it ironic as well?","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":1543,"context_line":""},{"line_number":1544,"context_line":"  All the fields in the firmware image block are mandatory."},{"line_number":1545,"context_line":""},{"line_number":1546,"context_line":"  - The different types of firmware url schemes supported for are:"},{"line_number":1547,"context_line":"    ``file``, ``http``, ``https`` and ``swift``."},{"line_number":1548,"context_line":""},{"line_number":1549,"context_line":"  - The firmware components that can be updated are:"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_57e19e29","line":1546,"range":{"start_line":1546,"start_character":58,"end_line":1546,"end_character":61},"updated":"2017-06-02 06:21:53.000000000","message":"not required","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":1543,"context_line":""},{"line_number":1544,"context_line":"  All the fields in the firmware image block are mandatory."},{"line_number":1545,"context_line":""},{"line_number":1546,"context_line":"  - The different types of firmware url schemes supported for are:"},{"line_number":1547,"context_line":"    ``file``, ``http``, ``https`` and ``swift``."},{"line_number":1548,"context_line":""},{"line_number":1549,"context_line":"  - The firmware components that can be updated are:"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_9bf2616f","line":1546,"range":{"start_line":1546,"start_character":58,"end_line":1546,"end_character":61},"in_reply_to":"df140735_57e19e29","updated":"2017-06-07 06:24:12.000000000","message":"Done","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":1554,"context_line":"    provided in the list, none of the firmware updates will occur. The logic"},{"line_number":1555,"context_line":"    is to process each of the firmware files and update them on the devices"},{"line_number":1556,"context_line":"    only if all the files are processed successfully. If, during the update"},{"line_number":1557,"context_line":"    (uploading and flashing) process, an update fails, then the remaining"},{"line_number":1558,"context_line":"    updates, if any, in the list will be aborted. It is recommended to"},{"line_number":1559,"context_line":"    triage and fix the failure and re-attempt the manual clean step"},{"line_number":1560,"context_line":"    ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1561,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_7a2c87ab","line":1558,"range":{"start_line":1557,"start_character":55,"end_line":1558,"end_character":48},"updated":"2017-06-02 06:21:53.000000000","message":"this line contradicts with line 1554. Here we say remaining are aborted which means the ones not failed are completed successfully. While above it says even if it fails in between no firmware update happens or rather the ones which were done successfully are also rolled back to original firmwares.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":1554,"context_line":"    provided in the list, none of the firmware updates will occur. The logic"},{"line_number":1555,"context_line":"    is to process each of the firmware files and update them on the devices"},{"line_number":1556,"context_line":"    only if all the files are processed successfully. If, during the update"},{"line_number":1557,"context_line":"    (uploading and flashing) process, an update fails, then the remaining"},{"line_number":1558,"context_line":"    updates, if any, in the list will be aborted. It is recommended to"},{"line_number":1559,"context_line":"    triage and fix the failure and re-attempt the manual clean step"},{"line_number":1560,"context_line":"    ``update_firmware`` for the aborted ``firmware_images``."},{"line_number":1561,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_fbaefd2b","line":1558,"range":{"start_line":1557,"start_character":55,"end_line":1558,"end_character":48},"in_reply_to":"df140735_7a2c87ab","updated":"2017-06-07 06:24:12.000000000","message":"Please see my comment here https://review.openstack.org/#/c/422572/18/doc/source/drivers/ilo.rst@1558","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"  If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1594,"context_line":"  the firmware components."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  - The different url schemes supported for ``hpsum`` mode are: ``http``,"},{"line_number":1597,"context_line":"    ``https`` and ``swift``."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  - It performs an update on all or list of firmware components and returns the"},{"line_number":1600,"context_line":"    hpsum log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_ba057f48","line":1597,"range":{"start_line":1596,"start_character":64,"end_line":1597,"end_character":28},"updated":"2017-06-02 06:21:53.000000000","message":"file mode doesnt work?","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"  If the ``component`` is not provided, the firmware update is performed on all"},{"line_number":1594,"context_line":"  the firmware components."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"  - The different url schemes supported for ``hpsum`` mode are: ``http``,"},{"line_number":1597,"context_line":"    ``https`` and ``swift``."},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"  - It performs an update on all or list of firmware components and returns the"},{"line_number":1600,"context_line":"    hpsum log files. The log files include ``hpsum_log.txt`` and"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_50ada4e8","line":1597,"range":{"start_line":1596,"start_character":64,"end_line":1597,"end_character":28},"in_reply_to":"df140735_ba057f48","updated":"2017-06-07 06:24:12.000000000","message":"no, we are not supporting file taking into account that download of SPP iso is done on the node and also considering the size of the SPP iso.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":1609,"context_line":""},{"line_number":1610,"context_line":".. note::"},{"line_number":1611,"context_line":"   This feature assumes that the SPP ISO used to perform firmware update on the"},{"line_number":1612,"context_line":"   node is hosted on ``http`` or ``https`` webserver or on swift."},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":".. note::"},{"line_number":1615,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_9a263b15","line":1612,"range":{"start_line":1612,"start_character":56,"end_line":1612,"end_character":64},"updated":"2017-06-02 06:21:53.000000000","message":"i assume this means hosting SPP image on glance as well will work with this feature.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":1609,"context_line":""},{"line_number":1610,"context_line":".. note::"},{"line_number":1611,"context_line":"   This feature assumes that the SPP ISO used to perform firmware update on the"},{"line_number":1612,"context_line":"   node is hosted on ``http`` or ``https`` webserver or on swift."},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":".. note::"},{"line_number":1615,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_7b366d05","line":1612,"range":{"start_line":1612,"start_character":56,"end_line":1612,"end_character":64},"in_reply_to":"df140735_9a263b15","updated":"2017-06-07 06:24:12.000000000","message":"It doesn\u0027t work from glance because we converting the swift url to temp url based on the url scheme.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":1615,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"},{"line_number":1616,"context_line":"   ProLiant) ISO."},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"* In both cases, the processing error could happen during image download,"},{"line_number":1619,"context_line":"  image checksum verification or image extraction. Any of these errors could"},{"line_number":1620,"context_line":"  lead to clean step failure."},{"line_number":1621,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_3af28f71","line":1618,"range":{"start_line":1618,"start_character":3,"end_line":1618,"end_character":15},"updated":"2017-06-02 06:21:53.000000000","message":"which both cases?","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":1615,"context_line":"   Refer `Guidelines for SPP ISO`_ for steps to get SPP(Service Pack for"},{"line_number":1616,"context_line":"   ProLiant) ISO."},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"* In both cases, the processing error could happen during image download,"},{"line_number":1619,"context_line":"  image checksum verification or image extraction. Any of these errors could"},{"line_number":1620,"context_line":"  lead to clean step failure."},{"line_number":1621,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"df140735_9b1ca178","line":1618,"range":{"start_line":1618,"start_character":3,"end_line":1618,"end_character":15},"in_reply_to":"df140735_3af28f71","updated":"2017-06-07 06:24:12.000000000","message":"updated to \u0027ilo\u0027 and \u0027hpsum\u0027","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"}],"ironic/drivers/modules/agent_base_vendor.py":[{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"489009f1a5143c766e1e2bc91b632b60dd852f16","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        :param task: a TaskManager instance"},{"line_number":253,"context_line":"        :raises: NodeCleaningFailure if the agent returns invalid results"},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        node \u003d task.node"},{"line_number":257,"context_line":"        previous_steps \u003d node.driver_internal_info.get("},{"line_number":258,"context_line":"            \u0027agent_cached_clean_steps\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_5449eb2f","line":255,"updated":"2017-02-01 09:27:19.000000000","message":"I will remove this line. Added by mistake.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"dc82b1b6b6d212b726b1b221861fe836004eab97","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        :param task: a TaskManager instance"},{"line_number":253,"context_line":"        :raises: NodeCleaningFailure if the agent returns invalid results"},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        node \u003d task.node"},{"line_number":257,"context_line":"        previous_steps \u003d node.driver_internal_info.get("},{"line_number":258,"context_line":"            \u0027agent_cached_clean_steps\u0027)"},{"line_number":259,"context_line":"        LOG.debug(\u0027Refreshing agent clean step cache for node %(node)s. \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_bea4de07","line":256,"range":{"start_line":255,"start_character":0,"end_line":256,"end_character":4},"updated":"2017-10-17 03:12:16.000000000","message":"What is changed in this file?","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"3851f91d545ccea3d5e89a1be22889292afcd855","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        :param task: a TaskManager instance"},{"line_number":253,"context_line":"        :raises: NodeCleaningFailure if the agent returns invalid results"},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        node \u003d task.node"},{"line_number":257,"context_line":"        previous_steps \u003d node.driver_internal_info.get("},{"line_number":258,"context_line":"            \u0027agent_cached_clean_steps\u0027)"},{"line_number":259,"context_line":"        LOG.debug(\u0027Refreshing agent clean step cache for node %(node)s. \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f4e5783_17454470","line":256,"range":{"start_line":255,"start_character":0,"end_line":256,"end_character":4},"in_reply_to":"3a461143_bea4de07","updated":"2017-10-17 06:34:49.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"442abb733d0792181333491e0e20f165bf9da3e2","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        :param task: a TaskManager instance"},{"line_number":253,"context_line":"        :raises: NodeCleaningFailure if the agent returns invalid results"},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        node \u003d task.node"},{"line_number":257,"context_line":"        previous_steps \u003d node.driver_internal_info.get("},{"line_number":258,"context_line":"            \u0027agent_cached_clean_steps\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_ae451a18","line":255,"updated":"2017-02-02 19:05:03.000000000","message":"unrelated","commit_id":"599599d9fa3a02ff6a8e35c25a35eed96d846116"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"166408c84e2e430fe4ab2deb080cea01fcf6bef4","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        :param task: a TaskManager instance"},{"line_number":253,"context_line":"        :raises: NodeCleaningFailure if the agent returns invalid results"},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        node \u003d task.node"},{"line_number":257,"context_line":"        previous_steps \u003d node.driver_internal_info.get("},{"line_number":258,"context_line":"            \u0027agent_cached_clean_steps\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_aacffab1","line":255,"in_reply_to":"3a461143_ae451a18","updated":"2017-02-03 06:44:46.000000000","message":"Done","commit_id":"599599d9fa3a02ff6a8e35c25a35eed96d846116"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        :param task: a TaskManager instance"},{"line_number":349,"context_line":"        :raises: NodeCleaningFailure if the agent returns invalid results"},{"line_number":350,"context_line":"        \"\"\""},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        node \u003d task.node"},{"line_number":353,"context_line":"        previous_steps \u003d node.driver_internal_info.get("},{"line_number":354,"context_line":"            \u0027agent_cached_clean_steps\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_836e712d","line":351,"updated":"2017-03-20 05:21:05.000000000","message":"What has changed here?","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        :param task: a TaskManager instance"},{"line_number":349,"context_line":"        :raises: NodeCleaningFailure if the agent returns invalid results"},{"line_number":350,"context_line":"        \"\"\""},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        node \u003d task.node"},{"line_number":353,"context_line":"        previous_steps \u003d node.driver_internal_info.get("},{"line_number":354,"context_line":"            \u0027agent_cached_clean_steps\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_5c4dc63c","line":351,"in_reply_to":"1a1ced50_836e712d","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"}],"ironic/drivers/modules/ilo/firmware_processor.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"08308c153f10459cd27e44f5ff3079142e17418c","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# Supported components for firmware update when invoked"},{"line_number":37,"context_line":"# through manual clean step, ``update_firmware``."},{"line_number":38,"context_line":"SUPPORTED_FIRMWARE_UPDATE_COMPONENTS \u003d [\u0027ilo\u0027, \u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027,"},{"line_number":39,"context_line":"                                        \u0027chassis\u0027, \u0027all\u0027]"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# Mandatory fields to be provided as part of firmware image update"},{"line_number":42,"context_line":"# with manual clean step"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_65a1f3f7","line":39,"range":{"start_line":38,"start_character":40,"end_line":39,"end_character":49},"updated":"2017-01-24 05:24:06.000000000","message":"Is this the complete list of components for hpsum based update?\nI think with hpsum it would update all the components by comparing current firmwares with one present in SPP.\nWe can \u0027drop \u0027all\u0027 from here as \u0027\u0027component\u0027 field is optional in case of \u0027hpsum\u0027 mode.","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# Supported components for firmware update when invoked"},{"line_number":37,"context_line":"# through manual clean step, ``update_firmware``."},{"line_number":38,"context_line":"SUPPORTED_FIRMWARE_UPDATE_COMPONENTS \u003d [\u0027ilo\u0027, \u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027,"},{"line_number":39,"context_line":"                                        \u0027chassis\u0027, \u0027all\u0027]"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# Mandatory fields to be provided as part of firmware image update"},{"line_number":42,"context_line":"# with manual clean step"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_71748335","line":39,"range":{"start_line":38,"start_character":40,"end_line":39,"end_character":49},"in_reply_to":"5a3905b3_65a1f3f7","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"08308c153f10459cd27e44f5ff3079142e17418c","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":69,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":70,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 is the only supported firmware \""},{"line_number":71,"context_line":"                     \"update mode.\")"},{"line_number":72,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":73,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_c28c5ddc","line":70,"range":{"start_line":70,"start_character":38,"end_line":70,"end_character":74},"updated":"2017-01-24 05:24:06.000000000","message":"\u0027ilo\u0027 and \u0027hpsum\u0027 are the supported firmware update modes.","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":69,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":70,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 is the only supported firmware \""},{"line_number":71,"context_line":"                     \"update mode.\")"},{"line_number":72,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":73,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_d1953733","line":70,"range":{"start_line":70,"start_character":38,"end_line":70,"end_character":74},"in_reply_to":"5a3905b3_c28c5ddc","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"9a12f6a1bb4cf24856cbbd5a6bf7eed96042ddba","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":69,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":70,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 is the only supported firmware \""},{"line_number":71,"context_line":"                     \"update mode.\")"},{"line_number":72,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":73,"context_line":"            LOG.error(msg)"},{"line_number":74,"context_line":"            raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_427cedeb","line":71,"range":{"start_line":70,"start_character":38,"end_line":71,"end_character":36},"updated":"2017-01-24 05:05:11.000000000","message":"Change this line to include \u0027hpsum\u0027 aswell","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":69,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":70,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 is the only supported firmware \""},{"line_number":71,"context_line":"                     \"update mode.\")"},{"line_number":72,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":73,"context_line":"            LOG.error(msg)"},{"line_number":74,"context_line":"            raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_d1e377d7","line":71,"range":{"start_line":70,"start_character":38,"end_line":71,"end_character":36},"in_reply_to":"5a3905b3_427cedeb","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"c9acbf943a5974f91a0411f1eb8984422dd6bf0a","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \"firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_406e7e97","line":71,"updated":"2017-02-01 14:40:32.000000000","message":"nit: missing space","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ee2b06fecd7f479b9584e9adb88100c07ad5d9fa","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \"firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_0b9c7268","line":71,"in_reply_to":"3a461143_406e7e97","updated":"2017-02-02 12:51:56.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"dc82b1b6b6d212b726b1b221861fe836004eab97","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \"firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"},{"line_number":75,"context_line":"            raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_1e95f285","line":72,"range":{"start_line":72,"start_character":38,"end_line":72,"end_character":42},"updated":"2017-10-17 03:12:16.000000000","message":"s/mode/modes/","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"3851f91d545ccea3d5e89a1be22889292afcd855","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \"firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"},{"line_number":75,"context_line":"            raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f4e5783_d7620c0a","line":72,"range":{"start_line":72,"start_character":38,"end_line":72,"end_character":42},"in_reply_to":"3a461143_1e95f285","updated":"2017-10-17 06:34:49.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"c9acbf943a5974f91a0411f1eb8984422dd6bf0a","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":134,"context_line":"        if component:"},{"line_number":135,"context_line":"            _validate_components(component)"},{"line_number":136,"context_line":"        return"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    component \u003d component.lower()"},{"line_number":139,"context_line":"    if component not in SUPPORTED_FIRMWARE_UPDATE_COMPONENTS:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_40211eb4","line":136,"updated":"2017-02-01 14:40:32.000000000","message":"Docstring l111 informs that function returns tuple, not None.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ee2b06fecd7f479b9584e9adb88100c07ad5d9fa","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":134,"context_line":"        if component:"},{"line_number":135,"context_line":"            _validate_components(component)"},{"line_number":136,"context_line":"        return"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    component \u003d component.lower()"},{"line_number":139,"context_line":"    if component not in SUPPORTED_FIRMWARE_UPDATE_COMPONENTS:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_6bfdf66d","line":136,"in_reply_to":"3a461143_40211eb4","updated":"2017-02-02 12:51:56.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"442abb733d0792181333491e0e20f165bf9da3e2","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \" firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_1393b5fb","line":71,"range":{"start_line":71,"start_character":38,"end_line":71,"end_character":55},"updated":"2017-02-02 19:05:03.000000000","message":"I wonder if it makes sense to construct it from FIRMWARE_UPDATE_MODES values on the fly, if more methods can be added.","commit_id":"599599d9fa3a02ff6a8e35c25a35eed96d846116"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"166408c84e2e430fe4ab2deb080cea01fcf6bef4","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \" firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_eac902ae","line":71,"range":{"start_line":71,"start_character":38,"end_line":71,"end_character":55},"in_reply_to":"3a461143_1393b5fb","updated":"2017-02-03 06:44:46.000000000","message":"Done","commit_id":"599599d9fa3a02ff6a8e35c25a35eed96d846116"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"442abb733d0792181333491e0e20f165bf9da3e2","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \" firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"},{"line_number":75,"context_line":"            raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_d3012d3b","line":72,"range":{"start_line":72,"start_character":39,"end_line":72,"end_character":43},"updated":"2017-02-02 19:05:03.000000000","message":"modes","commit_id":"599599d9fa3a02ff6a8e35c25a35eed96d846116"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"166408c84e2e430fe4ab2deb080cea01fcf6bef4","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \" firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"},{"line_number":75,"context_line":"            raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_0acf2eb1","line":72,"range":{"start_line":72,"start_character":39,"end_line":72,"end_character":43},"in_reply_to":"3a461143_d3012d3b","updated":"2017-02-03 06:44:46.000000000","message":"Done","commit_id":"599599d9fa3a02ff6a8e35c25a35eed96d846116"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"442abb733d0792181333491e0e20f165bf9da3e2","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    \"\"\""},{"line_number":93,"context_line":"    components \u003d components.split(\u0027,\u0027)"},{"line_number":94,"context_line":"    for component in components:"},{"line_number":95,"context_line":"        if not re.search(\u0027\\.(scexe|exe|rpm)([^\\.]|$)\u0027, component):"},{"line_number":96,"context_line":"            msg \u003d (_(\"The component file \u0027%s\u0027 provided is not supported. The \""},{"line_number":97,"context_line":"                     \"valid file extensions are \u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":98,"context_line":"                   component)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_9343256c","line":95,"range":{"start_line":95,"start_character":44,"end_line":95,"end_character":49},"updated":"2017-02-02 19:05:03.000000000","message":"Hm, so .rpmabc is valid? Then the following message is incorrect.","commit_id":"599599d9fa3a02ff6a8e35c25a35eed96d846116"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"166408c84e2e430fe4ab2deb080cea01fcf6bef4","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    \"\"\""},{"line_number":93,"context_line":"    components \u003d components.split(\u0027,\u0027)"},{"line_number":94,"context_line":"    for component in components:"},{"line_number":95,"context_line":"        if not re.search(\u0027\\.(scexe|exe|rpm)([^\\.]|$)\u0027, component):"},{"line_number":96,"context_line":"            msg \u003d (_(\"The component file \u0027%s\u0027 provided is not supported. The \""},{"line_number":97,"context_line":"                     \"valid file extensions are \u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":98,"context_line":"                   component)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a430d35_0daae8d4","line":95,"range":{"start_line":95,"start_character":44,"end_line":95,"end_character":49},"in_reply_to":"3a461143_9343256c","updated":"2017-02-03 06:44:46.000000000","message":"Done","commit_id":"599599d9fa3a02ff6a8e35c25a35eed96d846116"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \"firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a1ff146_25f688d7","line":71,"range":{"start_line":71,"start_character":69,"end_line":71,"end_character":78},"updated":"2017-03-16 15:06:04.000000000","message":"Missing whitespace. \"s/supported/supported \"","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \"firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a1ced50_6386d514","line":71,"range":{"start_line":71,"start_character":69,"end_line":71,"end_character":78},"in_reply_to":"3a1ff146_25f688d7","updated":"2017-03-20 04:39:53.000000000","message":"Done","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \" firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"},{"line_number":75,"context_line":"            raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_e373a513","line":72,"range":{"start_line":72,"start_character":39,"end_line":72,"end_character":44},"updated":"2017-03-20 05:21:05.000000000","message":"s/ mode./ modes./","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if firmware_update_mode not in FIRMWARE_UPDATE_MODES:"},{"line_number":70,"context_line":"            msg \u003d (_(\"Invalid firmware update mode \u0027%(mode)s\u0027 provided for \""},{"line_number":71,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 and \u0027hpsum\u0027 are the only supported\""},{"line_number":72,"context_line":"                     \" firmware update mode.\")"},{"line_number":73,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":74,"context_line":"            LOG.error(msg)"},{"line_number":75,"context_line":"            raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_1cf18e01","line":72,"range":{"start_line":72,"start_character":39,"end_line":72,"end_character":44},"in_reply_to":"1a1ced50_e373a513","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                     \"valid file extensions are \u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":98,"context_line":"                   component)"},{"line_number":99,"context_line":"            LOG.error(msg)"},{"line_number":100,"context_line":"            raise exception.InvalidParameterValue(msg)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"def get_and_validate_firmware_image_info(firmware_image_info,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_e34ac5ab","line":100,"range":{"start_line":100,"start_character":12,"end_line":100,"end_character":54},"updated":"2017-03-20 05:21:05.000000000","message":"This will raise exception upon encountering first non-compliant file. Better to loop through all components and then log a single error and an exception.","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                     \"valid file extensions are \u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":98,"context_line":"                   component)"},{"line_number":99,"context_line":"            LOG.error(msg)"},{"line_number":100,"context_line":"            raise exception.InvalidParameterValue(msg)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"def get_and_validate_firmware_image_info(firmware_image_info,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_1b90b394","line":100,"range":{"start_line":100,"start_character":12,"end_line":100,"end_character":54},"in_reply_to":"1a1ced50_e34ac5ab","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dc755cd0a9ed16e1e22da654684a58c5890412cc","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from ironic.drivers.modules.ilo import common as ilo_common"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Supported components for firmware update when invoked"},{"line_number":38,"context_line":"# through manual clean step, ``update_firmware``."},{"line_number":39,"context_line":"SUPPORTED_FIRMWARE_UPDATE_COMPONENTS \u003d [\u0027ilo\u0027, \u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027,"},{"line_number":40,"context_line":"                                        \u0027chassis\u0027]"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9ff52f3f_5dcdbc5b","line":38,"updated":"2017-04-13 15:08:28.000000000","message":"need to clarify that it is only for case of ilo","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"6796ded8132900a3938b3da51d7e81e1f9e0cf01","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from ironic.drivers.modules.ilo import common as ilo_common"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Supported components for firmware update when invoked"},{"line_number":38,"context_line":"# through manual clean step, ``update_firmware``."},{"line_number":39,"context_line":"SUPPORTED_FIRMWARE_UPDATE_COMPONENTS \u003d [\u0027ilo\u0027, \u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027,"},{"line_number":40,"context_line":"                                        \u0027chassis\u0027]"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_ce5b4485","line":38,"in_reply_to":"9ff52f3f_5dcdbc5b","updated":"2017-04-17 10:42:50.000000000","message":"Done","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dc755cd0a9ed16e1e22da654684a58c5890412cc","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    components \u003d components.split(\u0027,\u0027)"},{"line_number":94,"context_line":"    not_supported \u003d []"},{"line_number":95,"context_line":"    for component in components:"},{"line_number":96,"context_line":"        if not re.search(\u0027\\.(scexe|exe|rpm)([^\\.]|$)\u0027, component):"},{"line_number":97,"context_line":"            not_supported.append(component)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    if not_supported:"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ff52f3f_1da9747a","line":96,"range":{"start_line":96,"start_character":43,"end_line":96,"end_character":50},"updated":"2017-04-13 15:08:28.000000000","message":"this bit makes possible to have things like \"abc.scexeiorei]]]\u003d\u003d\u003d\", what\u0027s the reason for that?","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"6796ded8132900a3938b3da51d7e81e1f9e0cf01","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    components \u003d components.split(\u0027,\u0027)"},{"line_number":94,"context_line":"    not_supported \u003d []"},{"line_number":95,"context_line":"    for component in components:"},{"line_number":96,"context_line":"        if not re.search(\u0027\\.(scexe|exe|rpm)([^\\.]|$)\u0027, component):"},{"line_number":97,"context_line":"            not_supported.append(component)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    if not_supported:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_70ff6e01","line":96,"range":{"start_line":96,"start_character":43,"end_line":96,"end_character":50},"in_reply_to":"9ff52f3f_1da9747a","updated":"2017-04-17 10:42:50.000000000","message":"Removed.","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Supported components for firmware update, in case of mode ``ilo``, when"},{"line_number":38,"context_line":"# invoked through manual clean step, ``update_firmware``."},{"line_number":39,"context_line":"SUPPORTED_FIRMWARE_UPDATE_COMPONENTS \u003d [\u0027ilo\u0027, \u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027,"},{"line_number":40,"context_line":"                                        \u0027chassis\u0027]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Mandatory fields to be provided as part of firmware image update"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_1ac58bf1","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":36},"updated":"2017-06-02 06:21:53.000000000","message":"better to rename it to SUPPORTED_ILO_FIRMWARE_UPDATE_COMPONENTS as doesnt apply to hpsum.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Supported components for firmware update, in case of mode ``ilo``, when"},{"line_number":38,"context_line":"# invoked through manual clean step, ``update_firmware``."},{"line_number":39,"context_line":"SUPPORTED_FIRMWARE_UPDATE_COMPONENTS \u003d [\u0027ilo\u0027, \u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027,"},{"line_number":40,"context_line":"                                        \u0027chassis\u0027]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Mandatory fields to be provided as part of firmware image update"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_fb0a7d23","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":36},"in_reply_to":"df140735_1ac58bf1","updated":"2017-06-07 06:24:12.000000000","message":"Done","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    return wrapper"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"def _validate_components(components):"},{"line_number":88,"context_line":"    \"\"\"Validates components\u0027 file extension with supported values."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    :param components: A list of components to be updated."}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_1d5465fe","line":87,"range":{"start_line":87,"start_character":4,"end_line":87,"end_character":23},"updated":"2017-06-02 06:21:53.000000000","message":"rename it to _validate_components_for_hpsum()","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    return wrapper"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"def _validate_components(components):"},{"line_number":88,"context_line":"    \"\"\"Validates components\u0027 file extension with supported values."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    :param components: A list of components to be updated."}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_1e151f40","line":87,"range":{"start_line":87,"start_character":4,"end_line":87,"end_character":23},"in_reply_to":"df140735_1d5465fe","updated":"2017-06-07 06:24:12.000000000","message":"Done","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        return"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    component \u003d component.lower()"},{"line_number":143,"context_line":"    if component not in SUPPORTED_FIRMWARE_UPDATE_COMPONENTS:"},{"line_number":144,"context_line":"        msg \u003d (_(\"Component for firmware update is not supported. Provided \""},{"line_number":145,"context_line":"                 \"value: %(component)s. Supported values are: \""},{"line_number":146,"context_line":"                 \"%(supported_components)s\") %"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_1d06a51e","line":143,"range":{"start_line":143,"start_character":4,"end_line":143,"end_character":61},"updated":"2017-06-02 06:21:53.000000000","message":"this is specific to ilo firmware update so the check should be under \u0027ilo\u0027 firmware update.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":113,"context_line":"             image info."},{"line_number":114,"context_line":"    :raises: InvalidParameterValue, for unsupported firmware component"},{"line_number":115,"context_line":"    :returns: tuple of firmware url, checksum, component"},{"line_number":116,"context_line":"    \"\"\""},{"line_number":117,"context_line":"    image_info \u003d firmware_image_info or {}"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    LOG.debug(\"Validating firmware image info: %s ... in progress\", image_info)"},{"line_number":120,"context_line":"    missing_fields \u003d []"},{"line_number":121,"context_line":"    for field in FIRMWARE_IMAGE_INFO_FIELDS:"},{"line_number":122,"context_line":"        if not image_info.get(field):"},{"line_number":123,"context_line":"            missing_fields.append(field)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    if firmware_update_mode \u003d\u003d \u0027ilo\u0027 and not image_info.get(\u0027component\u0027):"},{"line_number":126,"context_line":"        missing_fields.append(\u0027component\u0027)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    if missing_fields:"},{"line_number":129,"context_line":"        msg \u003d (_(\"Firmware image info: %(image_info)s is missing the \""},{"line_number":130,"context_line":"                 \"required %(missing)s field/s.\") %"},{"line_number":131,"context_line":"               {\u0027image_info\u0027: image_info,"},{"line_number":132,"context_line":"                \u0027missing\u0027: \", \".join(missing_fields)})"},{"line_number":133,"context_line":"        LOG.error(msg)"},{"line_number":134,"context_line":"        raise exception.MissingParameterValue(msg)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    component \u003d image_info.get(\u0027component\u0027, None)"},{"line_number":137,"context_line":"    if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":138,"context_line":"        if component:"},{"line_number":139,"context_line":"            _validate_components(component)"},{"line_number":140,"context_line":"        return"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    component \u003d component.lower()"},{"line_number":143,"context_line":"    if component not in SUPPORTED_FIRMWARE_UPDATE_COMPONENTS:"},{"line_number":144,"context_line":"        msg \u003d (_(\"Component for firmware update is not supported. Provided \""},{"line_number":145,"context_line":"                 \"value: %(component)s. Supported values are: \""},{"line_number":146,"context_line":"                 \"%(supported_components)s\") %"},{"line_number":147,"context_line":"               {\u0027component\u0027: component, \u0027supported_components\u0027: ("},{"line_number":148,"context_line":"                \", \".join(SUPPORTED_FIRMWARE_UPDATE_COMPONENTS))})"},{"line_number":149,"context_line":"        LOG.error(msg)"},{"line_number":150,"context_line":"        raise exception.InvalidParameterValue(msg)"},{"line_number":151,"context_line":"    LOG.debug(\"Validating firmware image info: %s ... done\", image_info)"},{"line_number":152,"context_line":"    return image_info[\u0027url\u0027], image_info[\u0027checksum\u0027], component"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"class FirmwareProcessor(object):"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_1d2fc58e","line":152,"range":{"start_line":116,"start_character":0,"end_line":152,"end_character":63},"updated":"2017-06-02 06:21:53.000000000","message":"better to split in two functions: one for ilo firmware update and another for hpsum firmware update.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":113,"context_line":"             image info."},{"line_number":114,"context_line":"    :raises: InvalidParameterValue, for unsupported firmware component"},{"line_number":115,"context_line":"    :returns: tuple of firmware url, checksum, component"},{"line_number":116,"context_line":"    \"\"\""},{"line_number":117,"context_line":"    image_info \u003d firmware_image_info or {}"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    LOG.debug(\"Validating firmware image info: %s ... in progress\", image_info)"},{"line_number":120,"context_line":"    missing_fields \u003d []"},{"line_number":121,"context_line":"    for field in FIRMWARE_IMAGE_INFO_FIELDS:"},{"line_number":122,"context_line":"        if not image_info.get(field):"},{"line_number":123,"context_line":"            missing_fields.append(field)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    if firmware_update_mode \u003d\u003d \u0027ilo\u0027 and not image_info.get(\u0027component\u0027):"},{"line_number":126,"context_line":"        missing_fields.append(\u0027component\u0027)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    if missing_fields:"},{"line_number":129,"context_line":"        msg \u003d (_(\"Firmware image info: %(image_info)s is missing the \""},{"line_number":130,"context_line":"                 \"required %(missing)s field/s.\") %"},{"line_number":131,"context_line":"               {\u0027image_info\u0027: image_info,"},{"line_number":132,"context_line":"                \u0027missing\u0027: \", \".join(missing_fields)})"},{"line_number":133,"context_line":"        LOG.error(msg)"},{"line_number":134,"context_line":"        raise exception.MissingParameterValue(msg)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    component \u003d image_info.get(\u0027component\u0027, None)"},{"line_number":137,"context_line":"    if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":138,"context_line":"        if component:"},{"line_number":139,"context_line":"            _validate_components(component)"},{"line_number":140,"context_line":"        return"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    component \u003d component.lower()"},{"line_number":143,"context_line":"    if component not in SUPPORTED_FIRMWARE_UPDATE_COMPONENTS:"},{"line_number":144,"context_line":"        msg \u003d (_(\"Component for firmware update is not supported. Provided \""},{"line_number":145,"context_line":"                 \"value: %(component)s. Supported values are: \""},{"line_number":146,"context_line":"                 \"%(supported_components)s\") %"},{"line_number":147,"context_line":"               {\u0027component\u0027: component, \u0027supported_components\u0027: ("},{"line_number":148,"context_line":"                \", \".join(SUPPORTED_FIRMWARE_UPDATE_COMPONENTS))})"},{"line_number":149,"context_line":"        LOG.error(msg)"},{"line_number":150,"context_line":"        raise exception.InvalidParameterValue(msg)"},{"line_number":151,"context_line":"    LOG.debug(\"Validating firmware image info: %s ... done\", image_info)"},{"line_number":152,"context_line":"    return image_info[\u0027url\u0027], image_info[\u0027checksum\u0027], component"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"class FirmwareProcessor(object):"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_1e063f53","line":152,"range":{"start_line":116,"start_character":0,"end_line":152,"end_character":63},"in_reply_to":"df140735_1d2fc58e","updated":"2017-06-07 06:24:12.000000000","message":"the component validation separated into two functions.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 is the only supported firmware \""},{"line_number":70,"context_line":"                     \"update mode.\")"},{"line_number":71,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"            LOG.error(msg)"},{"line_number":74,"context_line":"            raise exception.InvalidParameterValue(msg)"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_7a09c6db","line":72,"updated":"2017-08-05 12:26:13.000000000","message":"nit: Unnecessary blank line added.","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                     \"node: %(node)s. \u0027ilo\u0027 is the only supported firmware \""},{"line_number":70,"context_line":"                     \"update mode.\")"},{"line_number":71,"context_line":"                   % {\u0027mode\u0027: firmware_update_mode, \u0027node\u0027: task.node.uuid})"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"            LOG.error(msg)"},{"line_number":74,"context_line":"            raise exception.InvalidParameterValue(msg)"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_f7902098","line":72,"in_reply_to":"bf3e73b7_7a09c6db","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    :raises: InvalidParameterValue, for unsupported firmware component"},{"line_number":91,"context_line":"    \"\"\""},{"line_number":92,"context_line":"    if component not in SUPPORTED_ILO_FIRMWARE_UPDATE_COMPONENTS:"},{"line_number":93,"context_line":"        msg \u003d (_(\"Component for firmware update is not supported. Provided \""},{"line_number":94,"context_line":"                 \"value: %(component)s. Supported values are: \""},{"line_number":95,"context_line":"                 \"%(supported_components)s\") %"},{"line_number":96,"context_line":"               {\u0027component\u0027: component, \u0027supported_components\u0027: ("},{"line_number":97,"context_line":"                \", \".join(SUPPORTED_ILO_FIRMWARE_UPDATE_COMPONENTS))})"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_3a133e10","line":94,"range":{"start_line":93,"start_character":17,"end_line":94,"end_character":39},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \"Component for firmware update is not supported. Provided value: %(component)s.\" / \"Component `%(component)s` for firmware update is not supported in `ilo` based firmware update.\" /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    :raises: InvalidParameterValue, for unsupported firmware component"},{"line_number":91,"context_line":"    \"\"\""},{"line_number":92,"context_line":"    if component not in SUPPORTED_ILO_FIRMWARE_UPDATE_COMPONENTS:"},{"line_number":93,"context_line":"        msg \u003d (_(\"Component for firmware update is not supported. Provided \""},{"line_number":94,"context_line":"                 \"value: %(component)s. Supported values are: \""},{"line_number":95,"context_line":"                 \"%(supported_components)s\") %"},{"line_number":96,"context_line":"               {\u0027component\u0027: component, \u0027supported_components\u0027: ("},{"line_number":97,"context_line":"                \", \".join(SUPPORTED_ILO_FIRMWARE_UPDATE_COMPONENTS))})"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_c2f4395e","line":94,"range":{"start_line":93,"start_character":17,"end_line":94,"end_character":39},"in_reply_to":"bf3e73b7_3a133e10","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            not_supported.append(component)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    if not_supported:"},{"line_number":114,"context_line":"        msg \u003d (_(\"The component files \u0027%s\u0027 provided is not supported. The \""},{"line_number":115,"context_line":"                 \"valid file extensions are \u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":116,"context_line":"               \u0027,\u0027.join(x for x in not_supported))"},{"line_number":117,"context_line":"        LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_bafe0eac","line":114,"range":{"start_line":114,"start_character":52,"end_line":114,"end_character":68},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \u0027is not supported\u0027 / \u0027is not supported in `HP SUM` based firmware update.\u0027 /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            not_supported.append(component)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    if not_supported:"},{"line_number":114,"context_line":"        msg \u003d (_(\"The component files \u0027%s\u0027 provided is not supported. The \""},{"line_number":115,"context_line":"                 \"valid file extensions are \u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":116,"context_line":"               \u0027,\u0027.join(x for x in not_supported))"},{"line_number":117,"context_line":"        LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_a2e93581","line":114,"range":{"start_line":114,"start_character":52,"end_line":114,"end_character":68},"in_reply_to":"bf3e73b7_bafe0eac","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            not_supported.append(component)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    if not_supported:"},{"line_number":113,"context_line":"        msg \u003d (_(\"The component files \u0027%s\u0027 provided is not supported in \u0027SUM\u0027 \""},{"line_number":114,"context_line":"                 \"based firmware update. The valid file extensions are \""},{"line_number":115,"context_line":"                 \"\u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":116,"context_line":"               \u0027,\u0027.join(x for x in not_supported))"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_64d1ebfb","line":113,"updated":"2017-08-10 08:22:09.000000000","message":"s/is/are/","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            not_supported.append(component)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    if not_supported:"},{"line_number":113,"context_line":"        msg \u003d (_(\"The component files \u0027%s\u0027 provided is not supported in \u0027SUM\u0027 \""},{"line_number":114,"context_line":"                 \"based firmware update. The valid file extensions are \""},{"line_number":115,"context_line":"                 \"\u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":116,"context_line":"               \u0027,\u0027.join(x for x in not_supported))"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_bcda4314","line":113,"in_reply_to":"9f436f4f_64d1ebfb","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        msg \u003d (_(\"The component files \u0027%s\u0027 provided is not supported in \u0027SUM\u0027 \""},{"line_number":114,"context_line":"                 \"based firmware update. The valid file extensions are \""},{"line_number":115,"context_line":"                 \"\u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":116,"context_line":"               \u0027,\u0027.join(x for x in not_supported))"},{"line_number":117,"context_line":"        LOG.error(msg)"},{"line_number":118,"context_line":"        raise exception.InvalidParameterValue(msg)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_44cca760","line":116,"updated":"2017-08-10 08:22:09.000000000","message":"nit: space after ,","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        msg \u003d (_(\"The component files \u0027%s\u0027 provided is not supported in \u0027SUM\u0027 \""},{"line_number":114,"context_line":"                 \"based firmware update. The valid file extensions are \""},{"line_number":115,"context_line":"                 \"\u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":116,"context_line":"               \u0027,\u0027.join(x for x in not_supported))"},{"line_number":117,"context_line":"        LOG.error(msg)"},{"line_number":118,"context_line":"        raise exception.InvalidParameterValue(msg)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_1c038f75","line":116,"in_reply_to":"9f436f4f_44cca760","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        raise exception.MissingParameterValue(msg)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    if firmware_update_mode \u003d\u003d \u0027sum\u0027:"},{"line_number":152,"context_line":"        component \u003d image_info.get(\u0027components\u0027, None)"},{"line_number":153,"context_line":"        if component:"},{"line_number":154,"context_line":"            _validate_sum_components(component)"},{"line_number":155,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_24dbe31b","line":152,"updated":"2017-08-10 08:22:09.000000000","message":"nit: None is redundant (it\u0027s the default)","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        raise exception.MissingParameterValue(msg)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    if firmware_update_mode \u003d\u003d \u0027sum\u0027:"},{"line_number":152,"context_line":"        component \u003d image_info.get(\u0027components\u0027, None)"},{"line_number":153,"context_line":"        if component:"},{"line_number":154,"context_line":"            _validate_sum_components(component)"},{"line_number":155,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_bcf3639e","line":152,"in_reply_to":"9f436f4f_24dbe31b","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        if component:"},{"line_number":154,"context_line":"            _validate_sum_components(component)"},{"line_number":155,"context_line":"    else:"},{"line_number":156,"context_line":"        component \u003d image_info.get(\u0027component\u0027, None).lower()"},{"line_number":157,"context_line":"        _validate_ilo_components(component)"},{"line_number":158,"context_line":"        LOG.debug(\"Validating firmware image info: %s ... done\", image_info)"},{"line_number":159,"context_line":"        return image_info[\u0027url\u0027], image_info[\u0027checksum\u0027], component"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_04d69ff2","line":156,"updated":"2017-08-10 08:22:09.000000000","message":"you don\u0027t have to use get here, as you\u0027ve already checked that component is present (and you cannot anyway call lower() on None). just convert to image_info[\u0027component\u0027]","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        if component:"},{"line_number":154,"context_line":"            _validate_sum_components(component)"},{"line_number":155,"context_line":"    else:"},{"line_number":156,"context_line":"        component \u003d image_info.get(\u0027component\u0027, None).lower()"},{"line_number":157,"context_line":"        _validate_ilo_components(component)"},{"line_number":158,"context_line":"        LOG.debug(\"Validating firmware image info: %s ... done\", image_info)"},{"line_number":159,"context_line":"        return image_info[\u0027url\u0027], image_info[\u0027checksum\u0027], component"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_fc3e8b27","line":156,"in_reply_to":"9f436f4f_04d69ff2","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    else:"},{"line_number":156,"context_line":"        component \u003d image_info.get(\u0027component\u0027, None).lower()"},{"line_number":157,"context_line":"        _validate_ilo_components(component)"},{"line_number":158,"context_line":"        LOG.debug(\"Validating firmware image info: %s ... done\", image_info)"},{"line_number":159,"context_line":"        return image_info[\u0027url\u0027], image_info[\u0027checksum\u0027], component"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_e406fb86","line":158,"updated":"2017-08-10 08:22:09.000000000","message":"nit: I don\u0027t find this logging line particularly useful, but dunno","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    else:"},{"line_number":156,"context_line":"        component \u003d image_info.get(\u0027component\u0027, None).lower()"},{"line_number":157,"context_line":"        _validate_ilo_components(component)"},{"line_number":158,"context_line":"        LOG.debug(\"Validating firmware image info: %s ... done\", image_info)"},{"line_number":159,"context_line":"        return image_info[\u0027url\u0027], image_info[\u0027checksum\u0027], component"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_dc674751","line":158,"in_reply_to":"9f436f4f_e406fb86","updated":"2017-08-11 04:00:34.000000000","message":"It will be useful to see which firmware_image is getting validated in the case of iLO based firmware update(as it can update a list of firmware_images).","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            not_supported.append(component)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    if not_supported:"},{"line_number":113,"context_line":"        msg \u003d (_(\"The component files \u0027%s\u0027 provided are not supported in \u0027SUM\u0027\""},{"line_number":114,"context_line":"                 \" based firmware update. The valid file extensions are \""},{"line_number":115,"context_line":"                 \"\u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":116,"context_line":"               \u0027, \u0027.join(x for x in not_supported))"}],"source_content_type":"text/x-python","patch_set":30,"id":"9f436f4f_31eadf0e","line":113,"range":{"start_line":113,"start_character":73,"end_line":113,"end_character":79},"updated":"2017-08-11 08:50:06.000000000","message":"Add space here instead of at the beginning of next line.","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            not_supported.append(component)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    if not_supported:"},{"line_number":113,"context_line":"        msg \u003d (_(\"The component files \u0027%s\u0027 provided are not supported in \u0027SUM\u0027\""},{"line_number":114,"context_line":"                 \" based firmware update. The valid file extensions are \""},{"line_number":115,"context_line":"                 \"\u0027scexe\u0027, \u0027exe\u0027, \u0027rpm\u0027\") %"},{"line_number":116,"context_line":"               \u0027, \u0027.join(x for x in not_supported))"}],"source_content_type":"text/x-python","patch_set":30,"id":"9f436f4f_35ef6ab1","line":113,"range":{"start_line":113,"start_character":73,"end_line":113,"end_character":79},"in_reply_to":"9f436f4f_31eadf0e","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            _validate_sum_components(component)"},{"line_number":155,"context_line":"    else:"},{"line_number":156,"context_line":"        component \u003d image_info[\u0027component\u0027].lower()"},{"line_number":157,"context_line":"        _validate_ilo_components(component)"},{"line_number":158,"context_line":"        LOG.debug(\"Validating firmware image info: %s ... done\", image_info)"},{"line_number":159,"context_line":"        return image_info[\u0027url\u0027], image_info[\u0027checksum\u0027], component"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"9f436f4f_c81fef69","line":157,"range":{"start_line":157,"start_character":8,"end_line":157,"end_character":32},"updated":"2017-08-16 16:50:19.000000000","message":"here you pass only one component, why is it called _validate_ilo_components?","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            _validate_sum_components(component)"},{"line_number":155,"context_line":"    else:"},{"line_number":156,"context_line":"        component \u003d image_info[\u0027component\u0027].lower()"},{"line_number":157,"context_line":"        _validate_ilo_components(component)"},{"line_number":158,"context_line":"        LOG.debug(\"Validating firmware image info: %s ... done\", image_info)"},{"line_number":159,"context_line":"        return image_info[\u0027url\u0027], image_info[\u0027checksum\u0027], component"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"9f436f4f_52104900","line":157,"range":{"start_line":157,"start_character":8,"end_line":157,"end_character":32},"in_reply_to":"9f436f4f_c81fef69","updated":"2017-08-16 18:52:11.000000000","message":"Done","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a72d7e2dd70c13f340a7e072ca8939fb942be9c","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    \"\"\"Gets swift temp url."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    It generates a temp url for the swift based firmware url to the target"},{"line_number":294,"context_line":"    file. Expecting url as swift://containername/objectname."},{"line_number":295,"context_line":"    :param parsed_url: Parsed url object."},{"line_number":296,"context_line":"    :raises: SwiftOperationError, on failure to get url from swift."},{"line_number":297,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":41,"id":"7f515b1d_6995dd31","line":294,"updated":"2017-10-09 16:18:07.000000000","message":"IIRC :param: block has to be separated from the description by an empty line","commit_id":"877695cf59b2a6737b6d93cfbcae90f88257edc4"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9cfc30ae091b91f7192b5b76cb573c632ed40594","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    \"\"\"Gets swift temp url."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    It generates a temp url for the swift based firmware url to the target"},{"line_number":294,"context_line":"    file. Expecting url as swift://containername/objectname."},{"line_number":295,"context_line":"    :param parsed_url: Parsed url object."},{"line_number":296,"context_line":"    :raises: SwiftOperationError, on failure to get url from swift."},{"line_number":297,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":41,"id":"5f4e5783_ba7f35aa","line":294,"in_reply_to":"7f515b1d_6995dd31","updated":"2017-10-10 07:32:21.000000000","message":"Done","commit_id":"877695cf59b2a6737b6d93cfbcae90f88257edc4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"757bbfc833625a2cd72691a93bebddb398fcdf7f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        msg \u003d (_(\"Component \u0027%(component)s\u0027 for firmware update is not \""},{"line_number":93,"context_line":"                 \"supported in \u0027ilo\u0027 based firmware update. Supported \""},{"line_number":94,"context_line":"                 \"values are: %(supported_components)s\") %"},{"line_number":95,"context_line":"               {\u0027component\u0027: component, \u0027supported_components\u0027: ("},{"line_number":96,"context_line":"                \", \".join(SUPPORTED_ILO_FIRMWARE_UPDATE_COMPONENTS))})"},{"line_number":97,"context_line":"        LOG.error(msg)"},{"line_number":98,"context_line":"        raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":42,"id":"5f4e5783_3fa132f9","line":95,"updated":"2017-10-17 09:30:30.000000000","message":"nit: redundant brackets around \", \".join","commit_id":"c725f541de3a9df995a489fc802b6b1c941b6e01"}],"ironic/drivers/modules/ilo/management.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"08308c153f10459cd27e44f5ff3079142e17418c","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        },"},{"line_number":335,"context_line":"        \u0027firmware_images\u0027: {"},{"line_number":336,"context_line":"            \u0027description\u0027: ("},{"line_number":337,"context_line":"                \"When the update mode is ilo, this argument represents the \""},{"line_number":338,"context_line":"                \"ordered list of JSON dictionaries of firmware images. Each \""},{"line_number":339,"context_line":"                \"firmware image dictionary consists of three mandatory fields,\""},{"line_number":340,"context_line":"                \" namely \u0027url\u0027, \u0027checksum\u0027 and \u0027component\u0027. These fields \""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_4266ad2a","line":337,"range":{"start_line":337,"start_character":41,"end_line":337,"end_character":44},"updated":"2017-01-24 05:24:06.000000000","message":"s/ ilo / \u0027ilo\u0027 /","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        },"},{"line_number":335,"context_line":"        \u0027firmware_images\u0027: {"},{"line_number":336,"context_line":"            \u0027description\u0027: ("},{"line_number":337,"context_line":"                \"When the update mode is ilo, this argument represents the \""},{"line_number":338,"context_line":"                \"ordered list of JSON dictionaries of firmware images. Each \""},{"line_number":339,"context_line":"                \"firmware image dictionary consists of three mandatory fields,\""},{"line_number":340,"context_line":"                \" namely \u0027url\u0027, \u0027checksum\u0027 and \u0027component\u0027. These fields \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_f16a33ec","line":337,"range":{"start_line":337,"start_character":41,"end_line":337,"end_character":44},"in_reply_to":"5a3905b3_4266ad2a","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"08308c153f10459cd27e44f5ff3079142e17418c","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                \"\u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027 and \u0027chassis\u0027. The firmware \""},{"line_number":346,"context_line":"                \"images will be applied (in the order given) one by one on \""},{"line_number":347,"context_line":"                \"the baremetal server. When the update mode is hpsum, this \""},{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_621e4971","line":348,"range":{"start_line":348,"start_character":17,"end_line":348,"end_character":36},"updated":"2017-01-24 05:24:06.000000000","message":"It should be JSON dictionary with a single item mentioning SPP URL, checksum and components(optional)","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"08308c153f10459cd27e44f5ff3079142e17418c","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                \"\u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027 and \u0027chassis\u0027. The firmware \""},{"line_number":346,"context_line":"                \"images will be applied (in the order given) one by one on \""},{"line_number":347,"context_line":"                \"the baremetal server. When the update mode is hpsum, this \""},{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_823a55e5","line":348,"range":{"start_line":348,"start_character":41,"end_line":348,"end_character":45},"updated":"2017-01-24 05:24:06.000000000","message":"nit: JSON","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                \"\u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027 and \u0027chassis\u0027. The firmware \""},{"line_number":346,"context_line":"                \"images will be applied (in the order given) one by one on \""},{"line_number":347,"context_line":"                \"the baremetal server. When the update mode is hpsum, this \""},{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_51da27e9","line":348,"range":{"start_line":348,"start_character":17,"end_line":348,"end_character":36},"in_reply_to":"5a3905b3_621e4971","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                \"\u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027 and \u0027chassis\u0027. The firmware \""},{"line_number":346,"context_line":"                \"images will be applied (in the order given) one by one on \""},{"line_number":347,"context_line":"                \"the baremetal server. When the update mode is hpsum, this \""},{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_71e3a3a4","line":348,"range":{"start_line":348,"start_character":41,"end_line":348,"end_character":45},"in_reply_to":"5a3905b3_823a55e5","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"08308c153f10459cd27e44f5ff3079142e17418c","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                \"\u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027 and \u0027chassis\u0027. The firmware \""},{"line_number":346,"context_line":"                \"images will be applied (in the order given) one by one on \""},{"line_number":347,"context_line":"                \"the baremetal server. When the update mode is hpsum, this \""},{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""},{"line_number":352,"context_line":"                \"information, see \""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_2253613a","line":349,"range":{"start_line":348,"start_character":60,"end_line":349,"end_character":21},"updated":"2017-01-24 05:24:06.000000000","message":"You mean SPP (Service Pack for Proliant) here. Need to mention it explicitly.","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                \"\u0027cpld\u0027, \u0027power_pic\u0027, \u0027bios\u0027 and \u0027chassis\u0027. The firmware \""},{"line_number":346,"context_line":"                \"images will be applied (in the order given) one by one on \""},{"line_number":347,"context_line":"                \"the baremetal server. When the update mode is hpsum, this \""},{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""},{"line_number":352,"context_line":"                \"information, see \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_3104bb48","line":349,"range":{"start_line":348,"start_character":60,"end_line":349,"end_character":21},"in_reply_to":"5a3905b3_2253613a","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"9a12f6a1bb4cf24856cbbd5a6bf7eed96042ddba","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                \"the baremetal server. When the update mode is hpsum, this \""},{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""},{"line_number":352,"context_line":"                \"information, see \""},{"line_number":353,"context_line":"                \"http://docs.openstack.org/developer/ironic/drivers/ilo.html#initiating-firmware-update-as-manual-clean-step\"  # noqa"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_22e0c195","line":350,"range":{"start_line":350,"start_character":53,"end_line":350,"end_character":58},"updated":"2017-01-24 05:05:11.000000000","message":"\"field\"","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                \"the baremetal server. When the update mode is hpsum, this \""},{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""},{"line_number":352,"context_line":"                \"information, see \""},{"line_number":353,"context_line":"                \"http://docs.openstack.org/developer/ironic/drivers/ilo.html#initiating-firmware-update-as-manual-clean-step\"  # noqa"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_71fac344","line":350,"range":{"start_line":350,"start_character":53,"end_line":350,"end_character":58},"in_reply_to":"5a3905b3_22e0c195","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"9a12f6a1bb4cf24856cbbd5a6bf7eed96042ddba","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""},{"line_number":352,"context_line":"                \"information, see \""},{"line_number":353,"context_line":"                \"http://docs.openstack.org/developer/ironic/drivers/ilo.html#initiating-firmware-update-as-manual-clean-step\"  # noqa"},{"line_number":354,"context_line":"            ),"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_82e7b5aa","line":351,"range":{"start_line":351,"start_character":17,"end_line":351,"end_character":26},"updated":"2017-01-24 05:05:11.000000000","message":"\"represents\"","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                \"argument represents the JOSN dictionary of firmware update \""},{"line_number":349,"context_line":"                \"ISO with the two mandatory fields \u0027url\u0027 and \u0027checksum\u0027, and \""},{"line_number":350,"context_line":"                \"one optional field \u0027component\u0027. The fiels \u0027component\u0027 \""},{"line_number":351,"context_line":"                \"represent the firmware component file name. For more \""},{"line_number":352,"context_line":"                \"information, see \""},{"line_number":353,"context_line":"                \"http://docs.openstack.org/developer/ironic/drivers/ilo.html#initiating-firmware-update-as-manual-clean-step\"  # noqa"},{"line_number":354,"context_line":"            ),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_b196ebed","line":351,"range":{"start_line":351,"start_character":17,"end_line":351,"end_character":26},"in_reply_to":"5a3905b3_82e7b5aa","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"08308c153f10459cd27e44f5ff3079142e17418c","unresolved":false,"context_lines":[{"line_number":369,"context_line":"        firmware_images \u003d kwargs[\u0027firmware_images\u0027]"},{"line_number":370,"context_line":"        firmware_update_mode \u003d kwargs[\u0027firmware_update_mode\u0027]"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"        # Perfrom hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":373,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":374,"context_line":"        # HardwareManager to perfrom firmware update clean step."},{"line_number":375,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_c20ffd34","line":372,"range":{"start_line":372,"start_character":10,"end_line":372,"end_character":17},"updated":"2017-01-24 05:24:06.000000000","message":"nit: Perform","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":369,"context_line":"        firmware_images \u003d kwargs[\u0027firmware_images\u0027]"},{"line_number":370,"context_line":"        firmware_update_mode \u003d kwargs[\u0027firmware_update_mode\u0027]"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"        # Perfrom hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":373,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":374,"context_line":"        # HardwareManager to perfrom firmware update clean step."},{"line_number":375,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_318bdbc4","line":372,"range":{"start_line":372,"start_character":10,"end_line":372,"end_character":17},"in_reply_to":"5a3905b3_c20ffd34","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"08308c153f10459cd27e44f5ff3079142e17418c","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        # HardwareManager to perfrom firmware update clean step."},{"line_number":375,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":376,"context_line":"            if \u0027component\u0027 not in firmware_images[0].keys():"},{"line_number":377,"context_line":"                firmware_images[0][\u0027component\u0027] \u003d \"all\""},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"            url, checksum, component \u003d ("},{"line_number":380,"context_line":"                firmware_processor.get_and_validate_firmware_image_info("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_8556df03","line":377,"range":{"start_line":377,"start_character":16,"end_line":377,"end_character":34},"updated":"2017-01-24 05:24:06.000000000","message":"Need to validate that there is only one item in the firmware_images dictionary list.","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        # HardwareManager to perfrom firmware update clean step."},{"line_number":375,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":376,"context_line":"            if \u0027component\u0027 not in firmware_images[0].keys():"},{"line_number":377,"context_line":"                firmware_images[0][\u0027component\u0027] \u003d \"all\""},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"            url, checksum, component \u003d ("},{"line_number":380,"context_line":"                firmware_processor.get_and_validate_firmware_image_info("}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_7191e3f0","line":377,"range":{"start_line":377,"start_character":16,"end_line":377,"end_character":34},"in_reply_to":"5a3905b3_8556df03","updated":"2017-01-30 17:28:03.000000000","message":"Done","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"9a12f6a1bb4cf24856cbbd5a6bf7eed96042ddba","unresolved":false,"context_lines":[{"line_number":380,"context_line":"                firmware_processor.get_and_validate_firmware_image_info("},{"line_number":381,"context_line":"                    firmware_images[0]))"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"            step \u003d node.clean_step"},{"line_number":384,"context_line":"            return deploy_utils.agent_execute_clean_step(task, step)"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        # Note(deray): Processing of firmware images happens here. As part"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_e53883d5","line":383,"range":{"start_line":383,"start_character":19,"end_line":383,"end_character":34},"updated":"2017-01-24 05:05:11.000000000","message":"Is the name of the clean_step \"update_firmware\" or \"hpsum_firmware_update\"? Should not this be documented some where in the docstring ?\nOn the other dependednt patch i see it as \"hpsum_firmware_update\". Is my understanding correct?","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"193e8eafc174f7303a26cb18d190cedd93fdc0f7","unresolved":false,"context_lines":[{"line_number":380,"context_line":"                firmware_processor.get_and_validate_firmware_image_info("},{"line_number":381,"context_line":"                    firmware_images[0]))"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"            step \u003d node.clean_step"},{"line_number":384,"context_line":"            return deploy_utils.agent_execute_clean_step(task, step)"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        # Note(deray): Processing of firmware images happens here. As part"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_71a80321","line":383,"range":{"start_line":383,"start_character":19,"end_line":383,"end_character":34},"in_reply_to":"5a3905b3_e53883d5","updated":"2017-01-30 17:28:03.000000000","message":"The name of clean step \"update_firmware\" and the dependent patch has also been updated respectively.","commit_id":"0381ea76d2e4df5b73943879142508979e725f49"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"c9acbf943a5974f91a0411f1eb8984422dd6bf0a","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":375,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":376,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":377,"context_line":"                         \"firmware update encounters more than one url\""},{"line_number":378,"context_line":"                         \"on node: %s\") % node)"},{"line_number":379,"context_line":"                LOG.error(msg)"},{"line_number":380,"context_line":"                raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_1b406735","line":377,"updated":"2017-02-01 14:40:32.000000000","message":"Missing space.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ee2b06fecd7f479b9584e9adb88100c07ad5d9fa","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":375,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":376,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":377,"context_line":"                         \"firmware update encounters more than one url\""},{"line_number":378,"context_line":"                         \"on node: %s\") % node)"},{"line_number":379,"context_line":"                LOG.error(msg)"},{"line_number":380,"context_line":"                raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_0b4b92b1","line":377,"in_reply_to":"3a461143_1b406735","updated":"2017-02-02 12:51:56.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"c9acbf943a5974f91a0411f1eb8984422dd6bf0a","unresolved":false,"context_lines":[{"line_number":375,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":376,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":377,"context_line":"                         \"firmware update encounters more than one url\""},{"line_number":378,"context_line":"                         \"on node: %s\") % node)"},{"line_number":379,"context_line":"                LOG.error(msg)"},{"line_number":380,"context_line":"                raise exception.InvalidParameterValue(msg)"},{"line_number":381,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_9b99b7d3","line":378,"range":{"start_line":378,"start_character":42,"end_line":378,"end_character":47},"updated":"2017-02-01 14:40:32.000000000","message":"task.node is a node instance, you should use node.uuid here.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ee2b06fecd7f479b9584e9adb88100c07ad5d9fa","unresolved":false,"context_lines":[{"line_number":375,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":376,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":377,"context_line":"                         \"firmware update encounters more than one url\""},{"line_number":378,"context_line":"                         \"on node: %s\") % node)"},{"line_number":379,"context_line":"                LOG.error(msg)"},{"line_number":380,"context_line":"                raise exception.InvalidParameterValue(msg)"},{"line_number":381,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_2bc68e16","line":378,"range":{"start_line":378,"start_character":42,"end_line":378,"end_character":47},"in_reply_to":"3a461143_9b99b7d3","updated":"2017-02-02 12:51:56.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"84de406ff7befac0c024f3ea09d5594ac0fac033","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":375,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":376,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":377,"context_line":"                         \"firmware update encounters more than one url \""},{"line_number":378,"context_line":"                         \"on node: %s\") % node.uuid)"},{"line_number":379,"context_line":"                LOG.error(msg)"},{"line_number":380,"context_line":"                raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_a5044dc0","line":377,"range":{"start_line":377,"start_character":67,"end_line":377,"end_character":70},"updated":"2017-02-06 05:36:19.000000000","message":"Its \u0027firmware_images\u0027 blocks and not \u0027urls\u0027 as such. Isn\u0027t it?","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"84de406ff7befac0c024f3ea09d5594ac0fac033","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":375,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":376,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":377,"context_line":"                         \"firmware update encounters more than one url \""},{"line_number":378,"context_line":"                         \"on node: %s\") % node.uuid)"},{"line_number":379,"context_line":"                LOG.error(msg)"},{"line_number":380,"context_line":"                raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_c568798a","line":377,"range":{"start_line":377,"start_character":42,"end_line":377,"end_character":52},"updated":"2017-02-06 05:36:19.000000000","message":"s/ encounters /encountered /","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"84eb5f81a5c5a630f852815894171ab085dcd640","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":375,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":376,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":377,"context_line":"                         \"firmware update encounters more than one url \""},{"line_number":378,"context_line":"                         \"on node: %s\") % node.uuid)"},{"line_number":379,"context_line":"                LOG.error(msg)"},{"line_number":380,"context_line":"                raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_3be95a81","line":377,"range":{"start_line":377,"start_character":67,"end_line":377,"end_character":70},"in_reply_to":"1a430d35_a5044dc0","updated":"2017-02-06 07:34:55.000000000","message":"Done","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"84eb5f81a5c5a630f852815894171ab085dcd640","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":375,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":376,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":377,"context_line":"                         \"firmware update encounters more than one url \""},{"line_number":378,"context_line":"                         \"on node: %s\") % node.uuid)"},{"line_number":379,"context_line":"                LOG.error(msg)"},{"line_number":380,"context_line":"                raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_5bec668f","line":377,"range":{"start_line":377,"start_character":42,"end_line":377,"end_character":52},"in_reply_to":"1a430d35_c568798a","updated":"2017-02-06 07:34:55.000000000","message":"Done","commit_id":"5eb8387d70a5b0173a01637a5157c4c657b08e7e"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":374,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":375,"context_line":"        # HardwareManager to perfrom firmware update clean step."},{"line_number":376,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":377,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":378,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""}],"source_content_type":"text/x-python","patch_set":10,"id":"3a1ff146_05e98ce6","line":375,"range":{"start_line":375,"start_character":29,"end_line":375,"end_character":36},"updated":"2017-03-16 15:06:04.000000000","message":"perform","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":374,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":375,"context_line":"        # HardwareManager to perfrom firmware update clean step."},{"line_number":376,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":377,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":378,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a1ced50_a378cd2c","line":375,"range":{"start_line":375,"start_character":29,"end_line":375,"end_character":36},"in_reply_to":"3a1ff146_05e98ce6","updated":"2017-03-20 04:39:53.000000000","message":"Done","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":376,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":377,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":378,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":379,"context_line":"                         \"firmware update encounters more than one url\""},{"line_number":380,"context_line":"                         \"on node: %s\") % node)"},{"line_number":381,"context_line":"                LOG.error(msg)"},{"line_number":382,"context_line":"                raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a1ff146_45caa46e","line":379,"range":{"start_line":379,"start_character":67,"end_line":379,"end_character":70},"updated":"2017-03-16 15:06:04.000000000","message":"Missing whitespace. \"s/url/url \"","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":376,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":377,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":378,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":379,"context_line":"                         \"firmware update encounters more than one url\""},{"line_number":380,"context_line":"                         \"on node: %s\") % node)"},{"line_number":381,"context_line":"                LOG.error(msg)"},{"line_number":382,"context_line":"                raise exception.InvalidParameterValue(msg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a1ced50_c3778938","line":379,"range":{"start_line":379,"start_character":67,"end_line":379,"end_character":70},"in_reply_to":"3a1ff146_45caa46e","updated":"2017-03-20 04:39:53.000000000","message":"Done","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                \"the baremetal server. When the update mode is \u0027hpsum\u0027, it \""},{"line_number":350,"context_line":"                \"represents a JSON dictionary with a single item mentioning \""},{"line_number":351,"context_line":"                \"SPP(Service Pack for Proliant) URL, checksum and \""},{"line_number":352,"context_line":"                \"components(optional). The field \u0027component\u0027 represents the \""},{"line_number":353,"context_line":"                \"firmware component file name. For more information, see \""},{"line_number":354,"context_line":"                \"http://docs.openstack.org/developer/ironic/drivers/ilo.html#initiating-firmware-update-as-manual-clean-step\"  # noqa"},{"line_number":355,"context_line":"            ),"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_4345596e","line":352,"range":{"start_line":352,"start_character":17,"end_line":352,"end_character":38},"updated":"2017-03-20 05:21:05.000000000","message":"Add a sentence here indicating that \u0027checksum\u0027 value is of the HPSUM SPP file.","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                \"the baremetal server. When the update mode is \u0027hpsum\u0027, it \""},{"line_number":350,"context_line":"                \"represents a JSON dictionary with a single item mentioning \""},{"line_number":351,"context_line":"                \"SPP(Service Pack for Proliant) URL, checksum and \""},{"line_number":352,"context_line":"                \"components(optional). The field \u0027component\u0027 represents the \""},{"line_number":353,"context_line":"                \"firmware component file name. For more information, see \""},{"line_number":354,"context_line":"                \"http://docs.openstack.org/developer/ironic/drivers/ilo.html#initiating-firmware-update-as-manual-clean-step\"  # noqa"},{"line_number":355,"context_line":"            ),"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_5c222653","line":352,"range":{"start_line":352,"start_character":17,"end_line":352,"end_character":38},"in_reply_to":"1a1ced50_4345596e","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":374,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":375,"context_line":"        # HardwareManager to perform firmware update clean step."},{"line_number":376,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":377,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":378,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_2335bdf6","line":375,"range":{"start_line":375,"start_character":10,"end_line":375,"end_character":25},"updated":"2017-03-20 05:21:05.000000000","message":"s/ HardwareManager/ ProliantHardwareManager/","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":374,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":375,"context_line":"        # HardwareManager to perform firmware update clean step."},{"line_number":376,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":377,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":378,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_bc15dae5","line":375,"range":{"start_line":375,"start_character":10,"end_line":375,"end_character":25},"in_reply_to":"1a1ced50_2335bdf6","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":377,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":378,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":379,"context_line":"                         \"firmware update encounters more than one url \""},{"line_number":380,"context_line":"                         \"on node: %s\") % node)"},{"line_number":381,"context_line":"                LOG.error(msg)"},{"line_number":382,"context_line":"                raise exception.InvalidParameterValue(msg)"},{"line_number":383,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_e302c50a","line":380,"range":{"start_line":380,"start_character":26,"end_line":380,"end_character":37},"updated":"2017-03-20 05:21:05.000000000","message":"Need to mention that \u0027hpsum\u0027 based update acccepts only one dictionary for \u0027firmware_images\u0027","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":377,"context_line":"            if len(firmware_images) \u003e 1:"},{"line_number":378,"context_line":"                msg \u003d (_(\"Processing of firmware image info: Hpsum based \""},{"line_number":379,"context_line":"                         \"firmware update encounters more than one url \""},{"line_number":380,"context_line":"                         \"on node: %s\") % node)"},{"line_number":381,"context_line":"                LOG.error(msg)"},{"line_number":382,"context_line":"                raise exception.InvalidParameterValue(msg)"},{"line_number":383,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_bcbf9aa8","line":380,"range":{"start_line":380,"start_character":26,"end_line":380,"end_character":37},"in_reply_to":"1a1ced50_e302c50a","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"514b031c9dbd972742c5050d9a743cdec5e82ea3","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        if ((command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]"},{"line_number":457,"context_line":"             [\u0027firmware_update_mode\u0027]) \u003d\u003d \u0027hpsum\u0027):"},{"line_number":458,"context_line":"            try:"},{"line_number":459,"context_line":"                driver_utils.store_ramdisk_logs("},{"line_number":460,"context_line":"                    node,"},{"line_number":461,"context_line":"                    command[\u0027command_result\u0027][\u0027clean_result\u0027][\u0027Log Data\u0027],"},{"line_number":462,"context_line":"                    label\u003d\u0027update_firmware\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_5e244cae","line":459,"range":{"start_line":459,"start_character":16,"end_line":459,"end_character":48},"updated":"2017-03-20 05:21:05.000000000","message":"This should not be done un-conditionally but should check if collection of ramdisk logs is enabled.\nhttps://github.com/openstack/ironic/blob/187866c12313beedc34edef9166479854e809bd6/ironic/drivers/modules/deploy_utils.py#L522-L523","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"fd8417f49212b04b7eeced79c3a3fc7d8fdf2e01","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        if ((command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]"},{"line_number":457,"context_line":"             [\u0027firmware_update_mode\u0027]) \u003d\u003d \u0027hpsum\u0027):"},{"line_number":458,"context_line":"            try:"},{"line_number":459,"context_line":"                driver_utils.store_ramdisk_logs("},{"line_number":460,"context_line":"                    node,"},{"line_number":461,"context_line":"                    command[\u0027command_result\u0027][\u0027clean_result\u0027][\u0027Log Data\u0027],"},{"line_number":462,"context_line":"                    label\u003d\u0027update_firmware\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_bc44fab6","line":459,"range":{"start_line":459,"start_character":16,"end_line":459,"end_character":48},"in_reply_to":"1a1ced50_5e244cae","updated":"2017-03-22 11:57:13.000000000","message":"Done","commit_id":"9f27020be001db42e84b195fd5ef43011e0fb1a1"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dc755cd0a9ed16e1e22da654684a58c5890412cc","unresolved":false,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    @staticmethod"},{"line_number":454,"context_line":"    @agent_base_vendor.post_clean_step_hook("},{"line_number":455,"context_line":"        interface\u003d\u0027management\u0027, step\u003d\u0027update_firmware\u0027)"},{"line_number":456,"context_line":"    def _update_firmware_final(task, command):"},{"line_number":457,"context_line":"        node \u003d task.node"},{"line_number":458,"context_line":"        if ((command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ff52f3f_707667db","line":455,"range":{"start_line":455,"start_character":38,"end_line":455,"end_character":53},"updated":"2017-04-13 15:08:28.000000000","message":"Hrm, this made me to go into code, and it seems like whenever some other management interface will introduce the update_firmware step, this will get executed too. I don\u0027t think we have some policy regarding the naming, but might be worth naming a bit more ilo specific, like update_ilo_firmware?","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"6796ded8132900a3938b3da51d7e81e1f9e0cf01","unresolved":false,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    @staticmethod"},{"line_number":454,"context_line":"    @agent_base_vendor.post_clean_step_hook("},{"line_number":455,"context_line":"        interface\u003d\u0027management\u0027, step\u003d\u0027update_firmware\u0027)"},{"line_number":456,"context_line":"    def _update_firmware_final(task, command):"},{"line_number":457,"context_line":"        node \u003d task.node"},{"line_number":458,"context_line":"        if ((command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_701ace7d","line":455,"range":{"start_line":455,"start_character":38,"end_line":455,"end_character":53},"in_reply_to":"9ff52f3f_707667db","updated":"2017-04-17 10:42:50.000000000","message":"\u0027update_firmware\u0027 is a already existing manual clean step\n(https://docs.openstack.org/developer/ironic/drivers/ilo.html#initiating-firmware-update-as-manual-clean-step). I think, renaming it to \u0027update_ilo_firmware\u0027 can cause some compatibility issues.\nDo you have any suggestions on how to handle this case?","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dc755cd0a9ed16e1e22da654684a58c5890412cc","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    def _update_firmware_final(task, command):"},{"line_number":457,"context_line":"        node \u003d task.node"},{"line_number":458,"context_line":"        if ((command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]"},{"line_number":459,"context_line":"             [\u0027firmware_update_mode\u0027]) \u003d\u003d \u0027hpsum\u0027 and"},{"line_number":460,"context_line":"            CONF.agent.deploy_logs_collect in (\u0027on_failure\u0027, \u0027always\u0027)):"},{"line_number":461,"context_line":"            try:"},{"line_number":462,"context_line":"                driver_utils.store_ramdisk_logs("}],"source_content_type":"text/x-python","patch_set":13,"id":"9ff52f3f_705f8741","line":459,"range":{"start_line":459,"start_character":13,"end_line":459,"end_character":37},"updated":"2017-04-13 15:08:28.000000000","message":"alternatively, you can check here that this argument is present in args, and then consider it an ilo step.","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"6796ded8132900a3938b3da51d7e81e1f9e0cf01","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    def _update_firmware_final(task, command):"},{"line_number":457,"context_line":"        node \u003d task.node"},{"line_number":458,"context_line":"        if ((command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]"},{"line_number":459,"context_line":"             [\u0027firmware_update_mode\u0027]) \u003d\u003d \u0027hpsum\u0027 and"},{"line_number":460,"context_line":"            CONF.agent.deploy_logs_collect in (\u0027on_failure\u0027, \u0027always\u0027)):"},{"line_number":461,"context_line":"            try:"},{"line_number":462,"context_line":"                driver_utils.store_ramdisk_logs("}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_d094028e","line":459,"range":{"start_line":459,"start_character":13,"end_line":459,"end_character":37},"in_reply_to":"9ff52f3f_705f8741","updated":"2017-04-17 10:42:50.000000000","message":"Done","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dc755cd0a9ed16e1e22da654684a58c5890412cc","unresolved":false,"context_lines":[{"line_number":468,"context_line":"                              \u0027 deployment in Swift. Error: %(error)s\u0027),"},{"line_number":469,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":470,"context_line":"            except EnvironmentError as e:"},{"line_number":471,"context_line":"                LOG.exception(_LE(\u0027Failed to store the logs from the node \u0027"},{"line_number":472,"context_line":"                                  \u0027%(node)s deployment due a file-system \u0027"},{"line_number":473,"context_line":"                                  \u0027related error. Error: %(error)s\u0027),"},{"line_number":474,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ff52f3f_b013cf66","line":471,"range":{"start_line":471,"start_character":30,"end_line":471,"end_character":33},"updated":"2017-04-13 15:08:28.000000000","message":"translation markers for logging should be removed now everywhere, at least don\u0027t add new ones please :)","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"6796ded8132900a3938b3da51d7e81e1f9e0cf01","unresolved":false,"context_lines":[{"line_number":468,"context_line":"                              \u0027 deployment in Swift. Error: %(error)s\u0027),"},{"line_number":469,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":470,"context_line":"            except EnvironmentError as e:"},{"line_number":471,"context_line":"                LOG.exception(_LE(\u0027Failed to store the logs from the node \u0027"},{"line_number":472,"context_line":"                                  \u0027%(node)s deployment due a file-system \u0027"},{"line_number":473,"context_line":"                                  \u0027related error. Error: %(error)s\u0027),"},{"line_number":474,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_130ef433","line":471,"range":{"start_line":471,"start_character":30,"end_line":471,"end_character":33},"in_reply_to":"9ff52f3f_b013cf66","updated":"2017-04-17 10:42:50.000000000","message":"Done","commit_id":"b38966170445f0a1c855e2c9002a73909c5a0b71"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"755ffe6b3afa49c9c06b6044134c114d6fd5bf28","unresolved":false,"context_lines":[{"line_number":467,"context_line":"                           \u0027 deployment in Swift. Error: %(error)s\u0027),"},{"line_number":468,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":469,"context_line":"            except EnvironmentError as e:"},{"line_number":470,"context_line":"                LOG.exception(_(\u0027Failed to store the logs from the node \u0027"},{"line_number":471,"context_line":"                                \u0027%(node)s deployment due a file-system \u0027"},{"line_number":472,"context_line":"                                \u0027related error. Error: %(error)s\u0027),"},{"line_number":473,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":16,"id":"ff0f0b1f_1fc3e08a","line":470,"range":{"start_line":470,"start_character":29,"end_line":470,"end_character":32},"updated":"2017-05-25 04:05:18.000000000","message":"Remove log translation","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"bc6f3fd9fbc7a900e7373d5751ad3319057b93a4","unresolved":false,"context_lines":[{"line_number":467,"context_line":"                           \u0027 deployment in Swift. Error: %(error)s\u0027),"},{"line_number":468,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":469,"context_line":"            except EnvironmentError as e:"},{"line_number":470,"context_line":"                LOG.exception(_(\u0027Failed to store the logs from the node \u0027"},{"line_number":471,"context_line":"                                \u0027%(node)s deployment due a file-system \u0027"},{"line_number":472,"context_line":"                                \u0027related error. Error: %(error)s\u0027),"},{"line_number":473,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":16,"id":"ff0f0b1f_7a554af9","line":470,"range":{"start_line":470,"start_character":29,"end_line":470,"end_character":32},"in_reply_to":"ff0f0b1f_1fc3e08a","updated":"2017-05-25 05:21:57.000000000","message":"Done","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"755ffe6b3afa49c9c06b6044134c114d6fd5bf28","unresolved":false,"context_lines":[{"line_number":472,"context_line":"                                \u0027related error. Error: %(error)s\u0027),"},{"line_number":473,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":474,"context_line":"            except Exception as e:"},{"line_number":475,"context_line":"                LOG.exception(_(\u0027Unknown error when storing logs from the \u0027"},{"line_number":476,"context_line":"                                \u0027node %(node)s deployment. Error: %(error)s\u0027),"},{"line_number":477,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":16,"id":"ff0f0b1f_bf3994a4","line":475,"range":{"start_line":475,"start_character":29,"end_line":475,"end_character":32},"updated":"2017-05-25 04:05:18.000000000","message":"Remove log translation","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"bc6f3fd9fbc7a900e7373d5751ad3319057b93a4","unresolved":false,"context_lines":[{"line_number":472,"context_line":"                                \u0027related error. Error: %(error)s\u0027),"},{"line_number":473,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":474,"context_line":"            except Exception as e:"},{"line_number":475,"context_line":"                LOG.exception(_(\u0027Unknown error when storing logs from the \u0027"},{"line_number":476,"context_line":"                                \u0027node %(node)s deployment. Error: %(error)s\u0027),"},{"line_number":477,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":16,"id":"ff0f0b1f_5a58462f","line":475,"range":{"start_line":475,"start_character":29,"end_line":475,"end_character":32},"in_reply_to":"ff0f0b1f_bf3994a4","updated":"2017-05-25 05:21:57.000000000","message":"Done","commit_id":"c52c3b613d941c0b3d54697dcd463e522658f453"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9faa5f4b54af8416f4c047aa7d08bcca8fc293ed","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        node \u003d task.node"},{"line_number":457,"context_line":"        if ((\u0027firmware_update_mode\u0027 in"},{"line_number":458,"context_line":"             command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]) and"},{"line_number":459,"context_line":"            CONF.agent.deploy_logs_collect in (\u0027on_failure\u0027, \u0027always\u0027)):"},{"line_number":460,"context_line":"            try:"},{"line_number":461,"context_line":"                driver_utils.store_ramdisk_logs("},{"line_number":462,"context_line":"                    node,"}],"source_content_type":"text/x-python","patch_set":18,"id":"df140735_9a822ec8","line":459,"range":{"start_line":459,"start_character":47,"end_line":459,"end_character":59},"updated":"2017-05-29 17:58:59.000000000","message":"on_failure means that they should only be collected when the step fails I suppose? Apart from that, update of the firmware does not seem to be a part of deployment.","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"281cafe8bcbea1e8a0659a70626fe86b4721a6f8","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        node \u003d task.node"},{"line_number":457,"context_line":"        if ((\u0027firmware_update_mode\u0027 in"},{"line_number":458,"context_line":"             command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]) and"},{"line_number":459,"context_line":"            CONF.agent.deploy_logs_collect in (\u0027on_failure\u0027, \u0027always\u0027)):"},{"line_number":460,"context_line":"            try:"},{"line_number":461,"context_line":"                driver_utils.store_ramdisk_logs("},{"line_number":462,"context_line":"                    node,"}],"source_content_type":"text/x-python","patch_set":18,"id":"df140735_94687021","line":459,"range":{"start_line":459,"start_character":47,"end_line":459,"end_character":59},"in_reply_to":"df140735_81ae39e5","updated":"2017-06-01 11:47:49.000000000","message":"Done.","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a1b24ec6c4baf3712ceaa3faa4cce0ad1b831be0","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        node \u003d task.node"},{"line_number":457,"context_line":"        if ((\u0027firmware_update_mode\u0027 in"},{"line_number":458,"context_line":"             command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]) and"},{"line_number":459,"context_line":"            CONF.agent.deploy_logs_collect in (\u0027on_failure\u0027, \u0027always\u0027)):"},{"line_number":460,"context_line":"            try:"},{"line_number":461,"context_line":"                driver_utils.store_ramdisk_logs("},{"line_number":462,"context_line":"                    node,"}],"source_content_type":"text/x-python","patch_set":18,"id":"df140735_81ae39e5","line":459,"range":{"start_line":459,"start_character":47,"end_line":459,"end_character":59},"in_reply_to":"df140735_84c2cc84","updated":"2017-05-30 09:17:16.000000000","message":"Yes, I get that on_failure means that it should be collected only on failure, but here if the conf option value is on failure you\u0027ll be storing logs even in case of success. Separate option would be nice too.","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"19f9e4451ac00159031af821fb53b3cb20657aa5","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        node \u003d task.node"},{"line_number":457,"context_line":"        if ((\u0027firmware_update_mode\u0027 in"},{"line_number":458,"context_line":"             command[\u0027command_params\u0027][\u0027node\u0027][\u0027clean_step\u0027][\u0027args\u0027]) and"},{"line_number":459,"context_line":"            CONF.agent.deploy_logs_collect in (\u0027on_failure\u0027, \u0027always\u0027)):"},{"line_number":460,"context_line":"            try:"},{"line_number":461,"context_line":"                driver_utils.store_ramdisk_logs("},{"line_number":462,"context_line":"                    node,"}],"source_content_type":"text/x-python","patch_set":18,"id":"df140735_84c2cc84","line":459,"range":{"start_line":459,"start_character":47,"end_line":459,"end_character":59},"in_reply_to":"df140735_9a822ec8","updated":"2017-05-30 05:51:53.000000000","message":"Yes, it is to collect the logs when the step fails.\n\n\u0027CONF.agent.deploy_logs_collect\u0027 seems a bit misleading here. Do you suggest to collect the logs irrespective of success or failure of the clean step?","commit_id":"cfad8ee1286a9a7ac2a1e430d8a7cc21854dce6f"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":375,"context_line":"        \"\"\""},{"line_number":376,"context_line":"        node \u003d task.node"},{"line_number":377,"context_line":"        fw_location_objs_n_components \u003d []"},{"line_number":378,"context_line":"        firmware_images \u003d kwargs[\u0027firmware_images\u0027]"},{"line_number":379,"context_line":"        firmware_update_mode \u003d kwargs[\u0027firmware_update_mode\u0027]"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_7dbda100","line":378,"range":{"start_line":378,"start_character":34,"end_line":378,"end_character":49},"updated":"2017-06-02 06:21:53.000000000","message":"i assume for hpsum, it has SPP URL only.","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":375,"context_line":"        \"\"\""},{"line_number":376,"context_line":"        node \u003d task.node"},{"line_number":377,"context_line":"        fw_location_objs_n_components \u003d []"},{"line_number":378,"context_line":"        firmware_images \u003d kwargs[\u0027firmware_images\u0027]"},{"line_number":379,"context_line":"        firmware_update_mode \u003d kwargs[\u0027firmware_update_mode\u0027]"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_3ea0e341","line":378,"range":{"start_line":378,"start_character":34,"end_line":378,"end_character":49},"in_reply_to":"df140735_7dbda100","updated":"2017-06-07 06:24:12.000000000","message":"yes. it will be SPP only. Same is documented. And the check is added https://review.openstack.org/#/c/422572/20/ironic/drivers/modules/ilo/management.py@385","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":390,"context_line":"                LOG.error(msg)"},{"line_number":391,"context_line":"                raise exception.InvalidParameterValue(msg)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"            firmware_processor.get_and_validate_firmware_image_info("},{"line_number":394,"context_line":"                firmware_images[0], firmware_update_mode)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"            url \u003d firmware_images[0][\u0027url\u0027]"},{"line_number":397,"context_line":"            if urlparse.urlparse(url).scheme \u003d\u003d \u0027swift\u0027:"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_dd438d12","line":394,"range":{"start_line":393,"start_character":1,"end_line":394,"end_character":57},"updated":"2017-06-02 06:21:53.000000000","message":"common code with ilo firmware update as well.(L 414).\ncan we avoid duplication?","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":390,"context_line":"                LOG.error(msg)"},{"line_number":391,"context_line":"                raise exception.InvalidParameterValue(msg)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"            firmware_processor.get_and_validate_firmware_image_info("},{"line_number":394,"context_line":"                firmware_images[0], firmware_update_mode)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"            url \u003d firmware_images[0][\u0027url\u0027]"},{"line_number":397,"context_line":"            if urlparse.urlparse(url).scheme \u003d\u003d \u0027swift\u0027:"}],"source_content_type":"text/x-python","patch_set":20,"id":"df140735_7e689bf3","line":394,"range":{"start_line":393,"start_character":1,"end_line":394,"end_character":57},"in_reply_to":"df140735_dd438d12","updated":"2017-06-07 06:24:12.000000000","message":"It will add complication since we have only one firmware image in case of hpsum and we dont have to add firmware file processing. So I don\u0027t thing this single like causes too much duplication comparing the complexity","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"f219540bba621ae3043335b88254bcf3a3709588","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def is_collect_logs(command):"},{"line_number":92,"context_line":"    \"\"\"Returns boolean to check whether logs need to collected or not.\"\"\""},{"line_number":93,"context_line":"    return ((CONF.agent.deploy_logs_collect is \u0027on_failure\u0027 and"},{"line_number":94,"context_line":"             command[\u0027command_status\u0027] is \u0027FAILED\u0027) or"},{"line_number":95,"context_line":"            CONF.agent.deploy_logs_collect is \u0027always\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df140735_dbd555e7","line":92,"range":{"start_line":92,"start_character":49,"end_line":92,"end_character":62},"updated":"2017-06-07 06:36:15.000000000","message":"should be \"to be collected\"","commit_id":"c20e74a3f55598d4be31eb858d86d612817e70b3"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"f219540bba621ae3043335b88254bcf3a3709588","unresolved":false,"context_lines":[{"line_number":379,"context_line":"        firmware_update_mode \u003d kwargs[\u0027firmware_update_mode\u0027]"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":382,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":383,"context_line":"        # ProliantHardwareManager to perform firmware update clean step."},{"line_number":384,"context_line":"        if firmware_update_mode \u003d\u003d \u0027hpsum\u0027:"},{"line_number":385,"context_line":"            if len(firmware_images) \u003e 1:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df140735_bb12a1b3","line":382,"range":{"start_line":382,"start_character":20,"end_line":382,"end_character":25},"updated":"2017-06-07 06:36:15.000000000","message":"ditto\n\u0027hpsum\u0027","commit_id":"c20e74a3f55598d4be31eb858d86d612817e70b3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":450,"context_line":"        },"},{"line_number":451,"context_line":"        \u0027component\u0027: {"},{"line_number":452,"context_line":"            \u0027description\u0027: ("},{"line_number":453,"context_line":"                \"This argument indicates the list of firmware component \""},{"line_number":454,"context_line":"                \"filenames\""},{"line_number":455,"context_line":"            ),"},{"line_number":456,"context_line":"            \u0027required\u0027: False}"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_7a32e6a9","line":453,"range":{"start_line":453,"start_character":50,"end_line":453,"end_character":71},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \u0027of firmware component\u0027 / \u0027of comma separated firmware component\u0027 /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":450,"context_line":"        },"},{"line_number":451,"context_line":"        \u0027component\u0027: {"},{"line_number":452,"context_line":"            \u0027description\u0027: ("},{"line_number":453,"context_line":"                \"This argument indicates the list of firmware component \""},{"line_number":454,"context_line":"                \"filenames\""},{"line_number":455,"context_line":"            ),"},{"line_number":456,"context_line":"            \u0027required\u0027: False}"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_c2c2f9e9","line":453,"range":{"start_line":453,"start_character":50,"end_line":453,"end_character":71},"in_reply_to":"bf3e73b7_7a32e6a9","updated":"2017-08-07 11:23:12.000000000","message":"It is a list of firmware components.","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":457,"context_line":"    })"},{"line_number":458,"context_line":"    def update_firmware_hpsum(self, task, **kwargs):"},{"line_number":459,"context_line":"        node \u003d task.node"},{"line_number":460,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":461,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":462,"context_line":"        # ProliantHardwareManager to perform firmware update clean step."},{"line_number":463,"context_line":"        firmware_processor.get_and_validate_firmware_image_info(kwargs,"},{"line_number":464,"context_line":"                                                                \u0027hpsum\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_5a272266","line":461,"range":{"start_line":460,"start_character":8,"end_line":461,"end_character":26},"updated":"2017-08-05 12:26:13.000000000","message":"There is no more attribute named \u0027firmware_update_mode\u0027.","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":457,"context_line":"    })"},{"line_number":458,"context_line":"    def update_firmware_hpsum(self, task, **kwargs):"},{"line_number":459,"context_line":"        node \u003d task.node"},{"line_number":460,"context_line":"        # Perform hpsum based update firmware when the \u0027firmware_update_mode\u0027"},{"line_number":461,"context_line":"        # is set to hpsum. It validates the arguments and sends it to the"},{"line_number":462,"context_line":"        # ProliantHardwareManager to perform firmware update clean step."},{"line_number":463,"context_line":"        firmware_processor.get_and_validate_firmware_image_info(kwargs,"},{"line_number":464,"context_line":"                                                                \u0027hpsum\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_374a2827","line":461,"range":{"start_line":460,"start_character":8,"end_line":461,"end_character":26},"in_reply_to":"bf3e73b7_5a272266","updated":"2017-08-07 11:23:12.000000000","message":"missed it. removed","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":483,"context_line":"                    command[\u0027command_result\u0027][\u0027clean_result\u0027][\u0027Log Data\u0027],"},{"line_number":484,"context_line":"                    label\u003d\u0027update_firmware_hpsum\u0027)"},{"line_number":485,"context_line":"            except exception.SwiftOperationError as e:"},{"line_number":486,"context_line":"                LOG.error(\u0027Failed to store the logs from the node %(node)s\u0027"},{"line_number":487,"context_line":"                          \u0027 deployment in Swift. Error: %(error)s\u0027,"},{"line_number":488,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":489,"context_line":"            except EnvironmentError as e:"},{"line_number":490,"context_line":"                LOG.exception(\u0027Failed to store the logs from the node \u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_1a219a4e","line":487,"range":{"start_line":486,"start_character":26,"end_line":487,"end_character":48},"updated":"2017-08-05 12:26:13.000000000","message":"This message should indicate its related to \u0027clean step\u0027 and not \u0027deployment\u0027.","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":483,"context_line":"                    command[\u0027command_result\u0027][\u0027clean_result\u0027][\u0027Log Data\u0027],"},{"line_number":484,"context_line":"                    label\u003d\u0027update_firmware_hpsum\u0027)"},{"line_number":485,"context_line":"            except exception.SwiftOperationError as e:"},{"line_number":486,"context_line":"                LOG.error(\u0027Failed to store the logs from the node %(node)s\u0027"},{"line_number":487,"context_line":"                          \u0027 deployment in Swift. Error: %(error)s\u0027,"},{"line_number":488,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":489,"context_line":"            except EnvironmentError as e:"},{"line_number":490,"context_line":"                LOG.exception(\u0027Failed to store the logs from the node \u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_d7175ced","line":487,"range":{"start_line":486,"start_character":26,"end_line":487,"end_character":48},"in_reply_to":"bf3e73b7_1a219a4e","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":487,"context_line":"                          \u0027 deployment in Swift. Error: %(error)s\u0027,"},{"line_number":488,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":489,"context_line":"            except EnvironmentError as e:"},{"line_number":490,"context_line":"                LOG.exception(\u0027Failed to store the logs from the node \u0027"},{"line_number":491,"context_line":"                              \u0027%(node)s deployment due a file-system \u0027"},{"line_number":492,"context_line":"                              \u0027related error. Error: %(error)s\u0027,"},{"line_number":493,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":494,"context_line":"            except Exception as e:"},{"line_number":495,"context_line":"                LOG.exception(\u0027Unknown error when storing logs from the \u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_fa1db60f","line":492,"range":{"start_line":490,"start_character":31,"end_line":492,"end_character":46},"updated":"2017-08-05 12:26:13.000000000","message":"ditto.","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":487,"context_line":"                          \u0027 deployment in Swift. Error: %(error)s\u0027,"},{"line_number":488,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":489,"context_line":"            except EnvironmentError as e:"},{"line_number":490,"context_line":"                LOG.exception(\u0027Failed to store the logs from the node \u0027"},{"line_number":491,"context_line":"                              \u0027%(node)s deployment due a file-system \u0027"},{"line_number":492,"context_line":"                              \u0027related error. Error: %(error)s\u0027,"},{"line_number":493,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":494,"context_line":"            except Exception as e:"},{"line_number":495,"context_line":"                LOG.exception(\u0027Unknown error when storing logs from the \u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_b7d29833","line":492,"range":{"start_line":490,"start_character":31,"end_line":492,"end_character":46},"in_reply_to":"bf3e73b7_fa1db60f","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":493,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":494,"context_line":"            except Exception as e:"},{"line_number":495,"context_line":"                LOG.exception(\u0027Unknown error when storing logs from the \u0027"},{"line_number":496,"context_line":"                              \u0027node %(node)s deployment. Error: %(error)s\u0027,"},{"line_number":497,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_ba172eee","line":496,"range":{"start_line":496,"start_character":45,"end_line":496,"end_character":55},"updated":"2017-08-05 12:26:13.000000000","message":"ditto.","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":493,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":494,"context_line":"            except Exception as e:"},{"line_number":495,"context_line":"                LOG.exception(\u0027Unknown error when storing logs from the \u0027"},{"line_number":496,"context_line":"                              \u0027node %(node)s deployment. Error: %(error)s\u0027,"},{"line_number":497,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":27,"id":"bf3e73b7_97d79424","line":496,"range":{"start_line":496,"start_character":45,"end_line":496,"end_character":55},"in_reply_to":"bf3e73b7_ba172eee","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            {\u0027node\u0027: node.uuid, \u0027step\u0027: step, \u0027err\u0027: ilo_exception})"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def is_collect_logs(command):"},{"line_number":92,"context_line":"    \"\"\"Returns boolean to check whether logs need to collected or not.\"\"\""},{"line_number":93,"context_line":"    return ((CONF.agent.deploy_logs_collect is \u0027on_failure\u0027 and"},{"line_number":94,"context_line":"             command[\u0027command_status\u0027] is \u0027FAILED\u0027) or"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_a2169ef0","line":91,"range":{"start_line":91,"start_character":4,"end_line":91,"end_character":19},"updated":"2017-08-10 13:28:22.000000000","message":"Make it private method as its used within this file.\ns/ is_collect_logs / _is_collect_logs /","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            {\u0027node\u0027: node.uuid, \u0027step\u0027: step, \u0027err\u0027: ilo_exception})"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def is_collect_logs(command):"},{"line_number":92,"context_line":"    \"\"\"Returns boolean to check whether logs need to collected or not.\"\"\""},{"line_number":93,"context_line":"    return ((CONF.agent.deploy_logs_collect is \u0027on_failure\u0027 and"},{"line_number":94,"context_line":"             command[\u0027command_status\u0027] is \u0027FAILED\u0027) or"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_443a6734","line":91,"updated":"2017-08-10 08:22:09.000000000","message":"nit: maybe \"should_collect_logs\"?","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            {\u0027node\u0027: node.uuid, \u0027step\u0027: step, \u0027err\u0027: ilo_exception})"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def is_collect_logs(command):"},{"line_number":92,"context_line":"    \"\"\"Returns boolean to check whether logs need to collected or not.\"\"\""},{"line_number":93,"context_line":"    return ((CONF.agent.deploy_logs_collect is \u0027on_failure\u0027 and"},{"line_number":94,"context_line":"             command[\u0027command_status\u0027] is \u0027FAILED\u0027) or"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_7cc73b14","line":91,"in_reply_to":"9f436f4f_443a6734","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            {\u0027node\u0027: node.uuid, \u0027step\u0027: step, \u0027err\u0027: ilo_exception})"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def is_collect_logs(command):"},{"line_number":92,"context_line":"    \"\"\"Returns boolean to check whether logs need to collected or not.\"\"\""},{"line_number":93,"context_line":"    return ((CONF.agent.deploy_logs_collect is \u0027on_failure\u0027 and"},{"line_number":94,"context_line":"             command[\u0027command_status\u0027] is \u0027FAILED\u0027) or"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_98842260","line":91,"range":{"start_line":91,"start_character":4,"end_line":91,"end_character":19},"in_reply_to":"9f436f4f_a2169ef0","updated":"2017-08-11 04:00:34.000000000","message":"renamed to _should_collect_logs","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def is_collect_logs(command):"},{"line_number":92,"context_line":"    \"\"\"Returns boolean to check whether logs need to collected or not.\"\"\""},{"line_number":93,"context_line":"    return ((CONF.agent.deploy_logs_collect is \u0027on_failure\u0027 and"},{"line_number":94,"context_line":"             command[\u0027command_status\u0027] is \u0027FAILED\u0027) or"},{"line_number":95,"context_line":"            CONF.agent.deploy_logs_collect is \u0027always\u0027)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_2449a3cf","line":93,"updated":"2017-08-10 08:22:09.000000000","message":"please do not use \"is\" to compare strings, it\u0027s not guaranteed to work. use \u003d\u003d instead.","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def is_collect_logs(command):"},{"line_number":92,"context_line":"    \"\"\"Returns boolean to check whether logs need to collected or not.\"\"\""},{"line_number":93,"context_line":"    return ((CONF.agent.deploy_logs_collect is \u0027on_failure\u0027 and"},{"line_number":94,"context_line":"             command[\u0027command_status\u0027] is \u0027FAILED\u0027) or"},{"line_number":95,"context_line":"            CONF.agent.deploy_logs_collect is \u0027always\u0027)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_3cd1b3ce","line":93,"in_reply_to":"9f436f4f_2449a3cf","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":437,"context_line":"    @base.clean_step(priority\u003d0, abortable\u003dFalse, argsinfo\u003d{"},{"line_number":438,"context_line":"        \u0027url\u0027: {"},{"line_number":439,"context_line":"            \u0027description\u0027: ("},{"line_number":440,"context_line":"                \"This argument indicates the image location for \""},{"line_number":441,"context_line":"                \"SPP (Service Pack for Proliant) iso.\""},{"line_number":442,"context_line":"            ),"},{"line_number":443,"context_line":"            \u0027required\u0027: True"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_04445fb6","line":440,"updated":"2017-08-10 08:22:09.000000000","message":"nit: I would remove \"This argument indicates\" from all these descriptions, it should be obvious","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":437,"context_line":"    @base.clean_step(priority\u003d0, abortable\u003dFalse, argsinfo\u003d{"},{"line_number":438,"context_line":"        \u0027url\u0027: {"},{"line_number":439,"context_line":"            \u0027description\u0027: ("},{"line_number":440,"context_line":"                \"This argument indicates the image location for \""},{"line_number":441,"context_line":"                \"SPP (Service Pack for Proliant) iso.\""},{"line_number":442,"context_line":"            ),"},{"line_number":443,"context_line":"            \u0027required\u0027: True"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_9cf89f49","line":440,"in_reply_to":"9f436f4f_04445fb6","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        \u0027url\u0027: {"},{"line_number":439,"context_line":"            \u0027description\u0027: ("},{"line_number":440,"context_line":"                \"This argument indicates the image location for \""},{"line_number":441,"context_line":"                \"SPP (Service Pack for Proliant) iso.\""},{"line_number":442,"context_line":"            ),"},{"line_number":443,"context_line":"            \u0027required\u0027: True"},{"line_number":444,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_e2d7064f","line":441,"range":{"start_line":441,"start_character":49,"end_line":441,"end_character":52},"updated":"2017-08-10 13:28:22.000000000","message":"s/ iso / ISO /","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        \u0027url\u0027: {"},{"line_number":439,"context_line":"            \u0027description\u0027: ("},{"line_number":440,"context_line":"                \"This argument indicates the image location for \""},{"line_number":441,"context_line":"                \"SPP (Service Pack for Proliant) iso.\""},{"line_number":442,"context_line":"            ),"},{"line_number":443,"context_line":"            \u0027required\u0027: True"},{"line_number":444,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_f8920e9f","line":441,"range":{"start_line":441,"start_character":49,"end_line":441,"end_character":52},"in_reply_to":"9f436f4f_e2d7064f","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":457,"context_line":"    })"},{"line_number":458,"context_line":"    def update_firmware_sum(self, task, **kwargs):"},{"line_number":459,"context_line":"        node \u003d task.node"},{"line_number":460,"context_line":"        # The arguments are validated and send to the ProliantHardwareManager"},{"line_number":461,"context_line":"        # to perform SUM based firmware update clean step."},{"line_number":462,"context_line":"        firmware_processor.get_and_validate_firmware_image_info(kwargs,"},{"line_number":463,"context_line":"                                                                \u0027sum\u0027)"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_02e7aa14","line":460,"range":{"start_line":460,"start_character":42,"end_line":460,"end_character":46},"updated":"2017-08-10 13:28:22.000000000","message":"s/ send / sent /","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":457,"context_line":"    })"},{"line_number":458,"context_line":"    def update_firmware_sum(self, task, **kwargs):"},{"line_number":459,"context_line":"        node \u003d task.node"},{"line_number":460,"context_line":"        # The arguments are validated and send to the ProliantHardwareManager"},{"line_number":461,"context_line":"        # to perform SUM based firmware update clean step."},{"line_number":462,"context_line":"        firmware_processor.get_and_validate_firmware_image_info(kwargs,"},{"line_number":463,"context_line":"                                                                \u0027sum\u0027)"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_b88c867f","line":460,"range":{"start_line":460,"start_character":42,"end_line":460,"end_character":46},"in_reply_to":"9f436f4f_02e7aa14","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":475,"context_line":"        interface\u003d\u0027management\u0027, step\u003d\u0027update_firmware_sum\u0027)"},{"line_number":476,"context_line":"    def _update_firmware_sum_final(task, command):"},{"line_number":477,"context_line":"        node \u003d task.node"},{"line_number":478,"context_line":"        if is_collect_logs(command):"},{"line_number":479,"context_line":"            try:"},{"line_number":480,"context_line":"                driver_utils.store_ramdisk_logs("},{"line_number":481,"context_line":"                    node,"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_e414bba2","line":478,"updated":"2017-08-10 08:22:09.000000000","message":"nit: I\u0027d reverse it to redunce indentation\n\n if not should_collect_logs(command):\n     return","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":475,"context_line":"        interface\u003d\u0027management\u0027, step\u003d\u0027update_firmware_sum\u0027)"},{"line_number":476,"context_line":"    def _update_firmware_sum_final(task, command):"},{"line_number":477,"context_line":"        node \u003d task.node"},{"line_number":478,"context_line":"        if is_collect_logs(command):"},{"line_number":479,"context_line":"            try:"},{"line_number":480,"context_line":"                driver_utils.store_ramdisk_logs("},{"line_number":481,"context_line":"                    node,"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_5c66b72b","line":478,"in_reply_to":"9f436f4f_e414bba2","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":481,"context_line":"                    node,"},{"line_number":482,"context_line":"                    command[\u0027command_result\u0027][\u0027clean_result\u0027][\u0027Log Data\u0027],"},{"line_number":483,"context_line":"                    label\u003d\u0027update_firmware_sum\u0027)"},{"line_number":484,"context_line":"            except exception.SwiftOperationError as e:"},{"line_number":485,"context_line":"                LOG.error(\u0027Failed to store the logs from the node %(node)s\u0027"},{"line_number":486,"context_line":"                          \u0027 for \"update_firmware_sum\" clean step in Swift. \u0027"},{"line_number":487,"context_line":"                          \u0027Error: %(error)s\u0027,"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_8d450b46","line":484,"range":{"start_line":484,"start_character":12,"end_line":484,"end_character":54},"updated":"2017-08-10 13:28:22.000000000","message":"Need to add testcases for the exception paths of this method.","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":481,"context_line":"                    node,"},{"line_number":482,"context_line":"                    command[\u0027command_result\u0027][\u0027clean_result\u0027][\u0027Log Data\u0027],"},{"line_number":483,"context_line":"                    label\u003d\u0027update_firmware_sum\u0027)"},{"line_number":484,"context_line":"            except exception.SwiftOperationError as e:"},{"line_number":485,"context_line":"                LOG.error(\u0027Failed to store the logs from the node %(node)s\u0027"},{"line_number":486,"context_line":"                          \u0027 for \"update_firmware_sum\" clean step in Swift. \u0027"},{"line_number":487,"context_line":"                          \u0027Error: %(error)s\u0027,"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_e2f36f09","line":484,"range":{"start_line":484,"start_character":12,"end_line":484,"end_character":54},"in_reply_to":"9f436f4f_8d450b46","updated":"2017-08-11 04:00:34.000000000","message":"Added.","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":482,"context_line":"                    command[\u0027command_result\u0027][\u0027clean_result\u0027][\u0027Log Data\u0027],"},{"line_number":483,"context_line":"                    label\u003d\u0027update_firmware_sum\u0027)"},{"line_number":484,"context_line":"            except exception.SwiftOperationError as e:"},{"line_number":485,"context_line":"                LOG.error(\u0027Failed to store the logs from the node %(node)s\u0027"},{"line_number":486,"context_line":"                          \u0027 for \"update_firmware_sum\" clean step in Swift. \u0027"},{"line_number":487,"context_line":"                          \u0027Error: %(error)s\u0027,"},{"line_number":488,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_a21c5ec1","line":485,"range":{"start_line":485,"start_character":26,"end_line":485,"end_character":75},"updated":"2017-08-10 13:28:22.000000000","message":"We always leave the space at the end of line instead of beginning of next line.\ns/ \u0027Failed to store the logs from the node %(node)s\u0027 / \u0027Failed to store the logs from the node %(node)s \u0027/","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":482,"context_line":"                    command[\u0027command_result\u0027][\u0027clean_result\u0027][\u0027Log Data\u0027],"},{"line_number":483,"context_line":"                    label\u003d\u0027update_firmware_sum\u0027)"},{"line_number":484,"context_line":"            except exception.SwiftOperationError as e:"},{"line_number":485,"context_line":"                LOG.error(\u0027Failed to store the logs from the node %(node)s\u0027"},{"line_number":486,"context_line":"                          \u0027 for \"update_firmware_sum\" clean step in Swift. \u0027"},{"line_number":487,"context_line":"                          \u0027Error: %(error)s\u0027,"},{"line_number":488,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_d854eacc","line":485,"range":{"start_line":485,"start_character":26,"end_line":485,"end_character":75},"in_reply_to":"9f436f4f_a21c5ec1","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":488,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":489,"context_line":"            except EnvironmentError as e:"},{"line_number":490,"context_line":"                LOG.exception(\u0027Failed to store the logs from the node \u0027"},{"line_number":491,"context_line":"                              \u0027%(node)s for \"update_firmware_sum\" clean step\u0027"},{"line_number":492,"context_line":"                              \u0027 due to a file-system related error. Error: \u0027"},{"line_number":493,"context_line":"                              \u0027%(error)s\u0027,"},{"line_number":494,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_02568a5d","line":491,"range":{"start_line":491,"start_character":66,"end_line":491,"end_character":77},"updated":"2017-08-10 13:28:22.000000000","message":"ditto","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":488,"context_line":"                          {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":489,"context_line":"            except EnvironmentError as e:"},{"line_number":490,"context_line":"                LOG.exception(\u0027Failed to store the logs from the node \u0027"},{"line_number":491,"context_line":"                              \u0027%(node)s for \"update_firmware_sum\" clean step\u0027"},{"line_number":492,"context_line":"                              \u0027 due to a file-system related error. Error: \u0027"},{"line_number":493,"context_line":"                              \u0027%(error)s\u0027,"},{"line_number":494,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_b84fe632","line":491,"range":{"start_line":491,"start_character":66,"end_line":491,"end_character":77},"in_reply_to":"9f436f4f_02568a5d","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a23ca9e4f3bc098c531735e5c99eb5feffc2f399","unresolved":false,"context_lines":[{"line_number":494,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":495,"context_line":"            except Exception as e:"},{"line_number":496,"context_line":"                LOG.exception(\u0027Unknown error when storing logs from the \u0027"},{"line_number":497,"context_line":"                              \u0027node %(node)s for \"update_firmware_sum\" clean\u0027"},{"line_number":498,"context_line":"                              \u0027 step. Error: %(error)s\u0027,"},{"line_number":499,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_42001268","line":497,"range":{"start_line":497,"start_character":71,"end_line":497,"end_character":77},"updated":"2017-08-10 13:28:22.000000000","message":"ditto","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":494,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":495,"context_line":"            except Exception as e:"},{"line_number":496,"context_line":"                LOG.exception(\u0027Unknown error when storing logs from the \u0027"},{"line_number":497,"context_line":"                              \u0027node %(node)s for \"update_firmware_sum\" clean\u0027"},{"line_number":498,"context_line":"                              \u0027 step. Error: %(error)s\u0027,"},{"line_number":499,"context_line":"                              {\u0027node\u0027: node.uuid, \u0027error\u0027: e})"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f436f4f_9860a2a7","line":497,"range":{"start_line":497,"start_character":71,"end_line":497,"end_character":77},"in_reply_to":"9f436f4f_42001268","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":443,"context_line":"        },"},{"line_number":444,"context_line":"        \u0027checksum\u0027: {"},{"line_number":445,"context_line":"            \u0027description\u0027: ("},{"line_number":446,"context_line":"                \"The md5 checksum of the image file.\""},{"line_number":447,"context_line":"            ),"},{"line_number":448,"context_line":"            \u0027required\u0027: True"},{"line_number":449,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":30,"id":"9f436f4f_b1e7ef12","line":446,"range":{"start_line":446,"start_character":41,"end_line":446,"end_character":46},"updated":"2017-08-11 08:50:06.000000000","message":"s/ image / SPP image /","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":443,"context_line":"        },"},{"line_number":444,"context_line":"        \u0027checksum\u0027: {"},{"line_number":445,"context_line":"            \u0027description\u0027: ("},{"line_number":446,"context_line":"                \"The md5 checksum of the image file.\""},{"line_number":447,"context_line":"            ),"},{"line_number":448,"context_line":"            \u0027required\u0027: True"},{"line_number":449,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":30,"id":"9f436f4f_5522ee01","line":446,"range":{"start_line":446,"start_character":41,"end_line":446,"end_character":46},"in_reply_to":"9f436f4f_b1e7ef12","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        },"},{"line_number":450,"context_line":"        \u0027components\u0027: {"},{"line_number":451,"context_line":"            \u0027description\u0027: ("},{"line_number":452,"context_line":"                \"The list of firmware component filenames.\""},{"line_number":453,"context_line":"            ),"},{"line_number":454,"context_line":"            \u0027required\u0027: False}"},{"line_number":455,"context_line":"    })"}],"source_content_type":"text/x-python","patch_set":30,"id":"9f436f4f_719f475f","line":452,"range":{"start_line":452,"start_character":39,"end_line":452,"end_character":58},"updated":"2017-08-11 08:50:06.000000000","message":"It may be better to mention that if nothing is specfied, it would update firmware on all the components.","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        },"},{"line_number":450,"context_line":"        \u0027components\u0027: {"},{"line_number":451,"context_line":"            \u0027description\u0027: ("},{"line_number":452,"context_line":"                \"The list of firmware component filenames.\""},{"line_number":453,"context_line":"            ),"},{"line_number":454,"context_line":"            \u0027required\u0027: False}"},{"line_number":455,"context_line":"    })"}],"source_content_type":"text/x-python","patch_set":30,"id":"9f436f4f_b5ed9a8c","line":452,"range":{"start_line":452,"start_character":39,"end_line":452,"end_character":58},"in_reply_to":"9f436f4f_719f475f","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":471,"context_line":"    @staticmethod"},{"line_number":472,"context_line":"    @agent_base_vendor.post_clean_step_hook("},{"line_number":473,"context_line":"        interface\u003d\u0027management\u0027, step\u003d\u0027update_firmware_sum\u0027)"},{"line_number":474,"context_line":"    def _update_firmware_sum_final(task, command):"},{"line_number":475,"context_line":"        if not _should_collect_logs(command):"},{"line_number":476,"context_line":"            return"},{"line_number":477,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"9f436f4f_3132df11","line":474,"range":{"start_line":474,"start_character":3,"end_line":474,"end_character":50},"updated":"2017-08-11 08:50:06.000000000","message":"Add doc string for this method.","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":471,"context_line":"    @staticmethod"},{"line_number":472,"context_line":"    @agent_base_vendor.post_clean_step_hook("},{"line_number":473,"context_line":"        interface\u003d\u0027management\u0027, step\u003d\u0027update_firmware_sum\u0027)"},{"line_number":474,"context_line":"    def _update_firmware_sum_final(task, command):"},{"line_number":475,"context_line":"        if not _should_collect_logs(command):"},{"line_number":476,"context_line":"            return"},{"line_number":477,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"9f436f4f_984beb29","line":474,"range":{"start_line":474,"start_character":3,"end_line":474,"end_character":50},"in_reply_to":"9f436f4f_3132df11","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        \u0027firmware_update_mode\u0027: {"},{"line_number":338,"context_line":"            \u0027description\u0027: ("},{"line_number":339,"context_line":"                \"This argument indicates the mode (or mechanism) of firmware \""},{"line_number":340,"context_line":"                \"update procedure. Supported value is \u0027ilo\u0027.\""},{"line_number":341,"context_line":"            ),"},{"line_number":342,"context_line":"            \u0027required\u0027: True"},{"line_number":343,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":34,"id":"9f436f4f_1cdad876","line":340,"range":{"start_line":340,"start_character":35,"end_line":340,"end_character":59},"updated":"2017-08-16 16:50:19.000000000","message":"and it seems it\u0027s going to be the only one supported by this clean step?","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        \u0027firmware_update_mode\u0027: {"},{"line_number":338,"context_line":"            \u0027description\u0027: ("},{"line_number":339,"context_line":"                \"This argument indicates the mode (or mechanism) of firmware \""},{"line_number":340,"context_line":"                \"update procedure. Supported value is \u0027ilo\u0027.\""},{"line_number":341,"context_line":"            ),"},{"line_number":342,"context_line":"            \u0027required\u0027: True"},{"line_number":343,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":34,"id":"9f436f4f_504161a8","line":340,"range":{"start_line":340,"start_character":35,"end_line":340,"end_character":59},"in_reply_to":"9f436f4f_1cdad876","updated":"2017-08-16 18:52:11.000000000","message":"This is the existing clean step change in ironic. I feel this is not related to this patch. but as you said \u0027ilo\u0027 is the only one supported.","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        node \u003d task.node"},{"line_number":372,"context_line":"        fw_location_objs_n_components \u003d []"},{"line_number":373,"context_line":"        firmware_images \u003d kwargs[\u0027firmware_images\u0027]"},{"line_number":374,"context_line":"        firmware_update_mode \u003d kwargs[\u0027firmware_update_mode\u0027]"},{"line_number":375,"context_line":"        # Note(deray): Processing of firmware images happens here. As part"},{"line_number":376,"context_line":"        # of processing checksum validation is also done for the firmware file."},{"line_number":377,"context_line":"        # Processing of firmware file essentially means downloading the file"}],"source_content_type":"text/x-python","patch_set":34,"id":"9f436f4f_3c435c44","line":374,"updated":"2017-08-16 16:50:19.000000000","message":"why is this added if it seems like this method is only intended for ilo update?","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        node \u003d task.node"},{"line_number":372,"context_line":"        fw_location_objs_n_components \u003d []"},{"line_number":373,"context_line":"        firmware_images \u003d kwargs[\u0027firmware_images\u0027]"},{"line_number":374,"context_line":"        firmware_update_mode \u003d kwargs[\u0027firmware_update_mode\u0027]"},{"line_number":375,"context_line":"        # Note(deray): Processing of firmware images happens here. As part"},{"line_number":376,"context_line":"        # of processing checksum validation is also done for the firmware file."},{"line_number":377,"context_line":"        # Processing of firmware file essentially means downloading the file"}],"source_content_type":"text/x-python","patch_set":34,"id":"9f436f4f_b20775ca","line":374,"in_reply_to":"9f436f4f_3c435c44","updated":"2017-08-16 18:52:11.000000000","message":"since the validation of the clean step arguments is mostly same, I am reusing some parts of the code in https://review.openstack.org/#/c/422572/34/ironic/drivers/modules/ilo/firmware_processor.py@121. Just for differentiating between two clean steps for validation, it is used. \nMoved to L386","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4857b777298b0b6d212f65f6b324333b5a13350e","unresolved":false,"context_lines":[{"line_number":469,"context_line":"        url \u003d kwargs[\u0027url\u0027]"},{"line_number":470,"context_line":"        if urlparse.urlparse(url).scheme \u003d\u003d \u0027swift\u0027:"},{"line_number":471,"context_line":"            url \u003d firmware_processor.get_swift_url(urlparse.urlparse(url))"},{"line_number":472,"context_line":"            kwargs[\u0027url\u0027] \u003d url"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"        step \u003d node.clean_step"},{"line_number":475,"context_line":"        return deploy_utils.agent_execute_clean_step(task, step)"}],"source_content_type":"text/x-python","patch_set":34,"id":"9f436f4f_bfd5fe1d","line":472,"updated":"2017-08-16 16:50:19.000000000","message":"I really fail to see how this updated url can be seen by the clean step. Don\u0027t you need to update the node.clean_step?","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"0ea6f167c49ded739980495d488744dc86ccf939","unresolved":false,"context_lines":[{"line_number":469,"context_line":"        url \u003d kwargs[\u0027url\u0027]"},{"line_number":470,"context_line":"        if urlparse.urlparse(url).scheme \u003d\u003d \u0027swift\u0027:"},{"line_number":471,"context_line":"            url \u003d firmware_processor.get_swift_url(urlparse.urlparse(url))"},{"line_number":472,"context_line":"            kwargs[\u0027url\u0027] \u003d url"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"        step \u003d node.clean_step"},{"line_number":475,"context_line":"        return deploy_utils.agent_execute_clean_step(task, step)"}],"source_content_type":"text/x-python","patch_set":34,"id":"9f436f4f_d064314c","line":472,"in_reply_to":"9f436f4f_bfd5fe1d","updated":"2017-08-16 18:52:11.000000000","message":"yes sorry missed it. my mistake. Added now","commit_id":"ea8977d8a76fa057b3a5255b1ea20488c74aeece"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"6faff1bfb3ed268901552d0052b093617c9b1c47","unresolved":false,"context_lines":[{"line_number":382,"context_line":"            for firmware_image_info in firmware_images:"},{"line_number":383,"context_line":"                url, checksum, component \u003d ("},{"line_number":384,"context_line":"                    firmware_processor.get_and_validate_firmware_image_info("},{"line_number":385,"context_line":"                        firmware_image_info, kwargs[\u0027firmware_update_mode\u0027]))"},{"line_number":386,"context_line":"                LOG.debug(\"Processing of firmware file: %(firmware_file)s on \""},{"line_number":387,"context_line":"                          \"node: %(node)s ... in progress\","},{"line_number":388,"context_line":"                          {\u0027firmware_file\u0027: url, \u0027node\u0027: node.uuid})"}],"source_content_type":"text/x-python","patch_set":35,"id":"9f436f4f_9d1470ea","line":385,"range":{"start_line":385,"start_character":45,"end_line":385,"end_character":75},"updated":"2017-08-17 10:18:16.000000000","message":"I actually meant just setting \u0027ilo\u0027 here, but this works as well :)","commit_id":"e3b8f518fa0fdc912df68e2e4d55a1e3c3fc4d74"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"6faff1bfb3ed268901552d0052b093617c9b1c47","unresolved":false,"context_lines":[{"line_number":468,"context_line":"        url \u003d kwargs[\u0027url\u0027]"},{"line_number":469,"context_line":"        if urlparse.urlparse(url).scheme \u003d\u003d \u0027swift\u0027:"},{"line_number":470,"context_line":"            url \u003d firmware_processor.get_swift_url(urlparse.urlparse(url))"},{"line_number":471,"context_line":"            node.clean_step[\u0027args\u0027][\u0027url\u0027] \u003d url"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        step \u003d node.clean_step"},{"line_number":474,"context_line":"        return deploy_utils.agent_execute_clean_step(task, step)"}],"source_content_type":"text/x-python","patch_set":35,"id":"9f436f4f_3d26a469","line":471,"updated":"2017-08-17 10:18:16.000000000","message":"I\u0027d prefer you do the update of the step variable, after its assignment. but it\u0027s mostly a nit.","commit_id":"e3b8f518fa0fdc912df68e2e4d55a1e3c3fc4d74"}],"ironic/drivers/utils.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4924f829eeb0723b144fb441cb0b44e571b3bf68","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    \"\"\"Construct the log file name."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    :param node: A node object."},{"line_number":270,"context_line":"    :param label: A string to label the log file eg. clean step name."},{"line_number":271,"context_line":"    :returns: The log file name."},{"line_number":272,"context_line":"    \"\"\""},{"line_number":273,"context_line":"    timestamp \u003d timeutils.utcnow().strftime(\u0027%Y-%m-%d-%H-%M-%S\u0027)"}],"source_content_type":"text/x-python","patch_set":32,"id":"9f436f4f_52586054","line":270,"updated":"2017-08-15 23:51:00.000000000","message":"Nit: I\u0027d prefer \"eg\" written out \"such as a\"","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9b7b9f675d79591b6874118187039cf39ee207fe","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    \"\"\"Construct the log file name."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    :param node: A node object."},{"line_number":270,"context_line":"    :param label: A string to label the log file eg. clean step name."},{"line_number":271,"context_line":"    :returns: The log file name."},{"line_number":272,"context_line":"    \"\"\""},{"line_number":273,"context_line":"    timestamp \u003d timeutils.utcnow().strftime(\u0027%Y-%m-%d-%H-%M-%S\u0027)"}],"source_content_type":"text/x-python","patch_set":32,"id":"9f436f4f_9e5daf7a","line":270,"in_reply_to":"9f436f4f_52586054","updated":"2017-08-16 05:26:42.000000000","message":"Done","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4924f829eeb0723b144fb441cb0b44e571b3bf68","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    :param node: A node object."},{"line_number":292,"context_line":"    :param logs: A gzipped and base64 encoded string containing the"},{"line_number":293,"context_line":"                 logs archive."},{"line_number":294,"context_line":"    :param label: A string to label the log file eg. clean step name."},{"line_number":295,"context_line":"    :raises: OSError if the directory to save the logs cannot be created."},{"line_number":296,"context_line":"    :raises: IOError when the logs can\u0027t be saved to the local file system."},{"line_number":297,"context_line":"    :raises: SwiftOperationError, if any operation with Swift fails."}],"source_content_type":"text/x-python","patch_set":32,"id":"9f436f4f_32539c3b","line":294,"updated":"2017-08-15 23:51:00.000000000","message":"Same as above","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9b7b9f675d79591b6874118187039cf39ee207fe","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    :param node: A node object."},{"line_number":292,"context_line":"    :param logs: A gzipped and base64 encoded string containing the"},{"line_number":293,"context_line":"                 logs archive."},{"line_number":294,"context_line":"    :param label: A string to label the log file eg. clean step name."},{"line_number":295,"context_line":"    :raises: OSError if the directory to save the logs cannot be created."},{"line_number":296,"context_line":"    :raises: IOError when the logs can\u0027t be saved to the local file system."},{"line_number":297,"context_line":"    :raises: SwiftOperationError, if any operation with Swift fails."}],"source_content_type":"text/x-python","patch_set":32,"id":"9f436f4f_7e58cb86","line":294,"in_reply_to":"9f436f4f_32539c3b","updated":"2017-08-16 05:26:42.000000000","message":"Done","commit_id":"9bfbffc2f02d5c422dc7245f7c167d96a3a5048c"}],"releasenotes/notes/hpsum-update-firmware-manual-clean-step-e69ade488060cf27.yaml":[{"author":{"_account_id":16635,"name":"deray","email":"debayan.ray@gmail.com","username":"deray"},"change_message_id":"3897d6c08da80e99753c8e982a53bca9e4aa2045","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now supports firmware update based on hpsum as a in-band"},{"line_number":4,"context_line":"    manual cleaning step, on all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a461143_a7c0112c","line":3,"updated":"2017-02-01 17:15:33.000000000","message":"iLO drivers now support hpsum based firmware update as an in-band manual cleaning step, on all the supported hardware components.","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ee2b06fecd7f479b9584e9adb88100c07ad5d9fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now supports firmware update based on hpsum as a in-band"},{"line_number":4,"context_line":"    manual cleaning step, on all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a461143_c6ab3fd5","line":3,"in_reply_to":"3a461143_a7c0112c","updated":"2017-02-02 12:51:56.000000000","message":"Done","commit_id":"2c1af9711cd7e6605b31e7b38511de7ad0504dcb"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now supports firmware update based on hpsum as a in-band"},{"line_number":4,"context_line":"    manual cleaning step, on all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3a1ff146_85de5c0f","line":3,"range":{"start_line":3,"start_character":63,"end_line":3,"end_character":64},"updated":"2017-03-16 15:06:04.000000000","message":"s/a/an","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"70529243f5d4dc66d96ca2ff2ea2e426abe6b384","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now supports firmware update based on hpsum as a in-band"},{"line_number":4,"context_line":"    manual cleaning step, on all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3a1ff146_05cc2c69","line":3,"range":{"start_line":3,"start_character":20,"end_line":3,"end_character":28},"updated":"2017-03-16 15:06:04.000000000","message":"s/supports/support","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now supports firmware update based on hpsum as a in-band"},{"line_number":4,"context_line":"    manual cleaning step, on all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1a1ced50_0390c142","line":3,"range":{"start_line":3,"start_character":20,"end_line":3,"end_character":28},"in_reply_to":"3a1ff146_05cc2c69","updated":"2017-03-20 04:39:53.000000000","message":"Done","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"b182142740023b9ec23385d89df631e005ca54d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now supports firmware update based on hpsum as a in-band"},{"line_number":4,"context_line":"    manual cleaning step, on all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1a1ced50_2393fd50","line":3,"range":{"start_line":3,"start_character":63,"end_line":3,"end_character":64},"in_reply_to":"3a1ff146_85de5c0f","updated":"2017-03-20 04:39:53.000000000","message":"Done","commit_id":"b8e0e339969a33b997fa49b6577be634dbeefe9e"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"6fb9f1529ef2b9a054d70b73b18d1d6462d2c6ed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on hpsum as an in-band"},{"line_number":4,"context_line":"    manual cleaning step, on all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"df140735_9d72b57a","line":4,"range":{"start_line":4,"start_character":26,"end_line":4,"end_character":28},"updated":"2017-06-02 06:21:53.000000000","message":"s/on/for","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"ff10b4a6b51f69c833ee7bfa8880db3c6f75e9a3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on hpsum as an in-band"},{"line_number":4,"context_line":"    manual cleaning step, on all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"df140735_1e62bf0a","line":4,"range":{"start_line":4,"start_character":26,"end_line":4,"end_character":28},"in_reply_to":"df140735_9d72b57a","updated":"2017-06-07 06:24:12.000000000","message":"Done","commit_id":"ff58d9d612cd6e4c4b85ae31f47d49a37844e9e1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on hpsum as an in-band"},{"line_number":4,"context_line":"    manual cleaning step, for all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":27,"id":"bf3e73b7_7ad78625","line":3,"range":{"start_line":3,"start_character":53,"end_line":3,"end_character":58},"updated":"2017-08-05 12:26:13.000000000","message":"s/ \u0027hpsum\u0027 / \u0027HP SUM\u0027 /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on hpsum as an in-band"},{"line_number":4,"context_line":"    manual cleaning step, for all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":27,"id":"bf3e73b7_4273a9e8","line":3,"range":{"start_line":3,"start_character":53,"end_line":3,"end_character":58},"in_reply_to":"bf3e73b7_7ad78625","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6838de454797ebcc21621145843cc3a7bca9148c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on hpsum as an in-band"},{"line_number":4,"context_line":"    manual cleaning step, for all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":27,"id":"bf3e73b7_fae25601","line":4,"range":{"start_line":4,"start_character":11,"end_line":4,"end_character":24},"updated":"2017-08-05 12:26:13.000000000","message":"Better to add clean step name:\ns/ \u0027cleaning step\u0027 / \u0027cleaning step ``update_firmware_hpsum`` /","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"f8adb5a205d9dd3fa39035c2149e0fe5d96853b6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on hpsum as an in-band"},{"line_number":4,"context_line":"    manual cleaning step, for all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":27,"id":"bf3e73b7_2280a58b","line":4,"range":{"start_line":4,"start_character":11,"end_line":4,"end_character":24},"in_reply_to":"bf3e73b7_fae25601","updated":"2017-08-07 11:23:12.000000000","message":"Done","commit_id":"8f8d44144ea767ac1abe56ee18673d6d35c3f073"}],"releasenotes/notes/sum-based-update-firmware-manual-clean-step-e69ade488060cf27.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b27cae7057190230f61a7e7b438d4bf178c5f967","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on SUM as an in-band"},{"line_number":4,"context_line":"    manual cleaning step \u0027update_firmware_sum\u0027, for all the hardware"},{"line_number":5,"context_line":"    components."}],"source_content_type":"text/x-yaml","patch_set":29,"id":"9f436f4f_84ea8fa9","line":3,"updated":"2017-08-10 08:22:09.000000000","message":"nit: I\u0027d make SUM a link here","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"a1d6c5546437bf4f5f240ed4f7965dd5b60c33b8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on SUM as an in-band"},{"line_number":4,"context_line":"    manual cleaning step \u0027update_firmware_sum\u0027, for all the hardware"},{"line_number":5,"context_line":"    components."}],"source_content_type":"text/x-yaml","patch_set":29,"id":"9f436f4f_ffe67d16","line":3,"in_reply_to":"9f436f4f_84ea8fa9","updated":"2017-08-11 04:00:34.000000000","message":"Done","commit_id":"aec03d1900bb6769629433a7b059c817b51181c2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"91b79085455e91bb49bbd5efd1b2b6db96c9d256","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on `Smart Update Manager"},{"line_number":4,"context_line":"    \u003chttp://h20564.www2.hpe.com/hpsc/doc/public/display?docId\u003demr_na-c04637207\u0026sp4ts.oid\u003d5182020\u003e`_"},{"line_number":5,"context_line":"    (SUM) as an in-band manual cleaning step \u0027update_firmware_sum\u0027, for"},{"line_number":6,"context_line":"    all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":30,"id":"9f436f4f_b50c7a3b","line":5,"range":{"start_line":5,"start_character":45,"end_line":5,"end_character":66},"updated":"2017-08-11 08:50:06.000000000","message":"Keep it under double quotes to support monospaced text.\ns/ \u0027update_firmware_sum\u0027 / ``update_firmware_sum`` \\","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"8129c6a92d915bb28ff357326256ab2c444f0d1b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on `Smart Update Manager"},{"line_number":4,"context_line":"    \u003chttp://h20564.www2.hpe.com/hpsc/doc/public/display?docId\u003demr_na-c04637207\u0026sp4ts.oid\u003d5182020\u003e`_"},{"line_number":5,"context_line":"    (SUM) as an in-band manual cleaning step \u0027update_firmware_sum\u0027, for"},{"line_number":6,"context_line":"    all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":30,"id":"9f436f4f_98f9abc9","line":5,"range":{"start_line":5,"start_character":45,"end_line":5,"end_character":66},"in_reply_to":"9f436f4f_b50c7a3b","updated":"2017-08-11 09:36:48.000000000","message":"Done","commit_id":"5c3c7a7bbb8a4b345d951d294bd94255ab917108"},{"author":{"_account_id":22255,"name":"Tuan","email":"tuanla@vn.fujitsu.com","username":"Tuan"},"change_message_id":"04a2544ababbd3dc1a1748ac3be90c4d6e56e7ab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on `Smart Update Manager"},{"line_number":4,"context_line":"    \u003chttp://h20564.www2.hpe.com/hpsc/doc/public/display?docId\u003demr_na-c04637207\u0026sp4ts.oid\u003d5182020\u003e`_"},{"line_number":5,"context_line":"    (SUM) as an in-band manual cleaning step ``update_firmware_sum``, for"},{"line_number":6,"context_line":"    all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":41,"id":"5f4e5783_2e2666b9","line":3,"range":{"start_line":3,"start_character":2,"end_line":3,"end_character":4},"updated":"2017-10-10 07:08:04.000000000","message":"To preserve newlines use |, You can use -| / -","commit_id":"877695cf59b2a6737b6d93cfbcae90f88257edc4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a72d7e2dd70c13f340a7e072ca8939fb942be9c","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on `Smart Update Manager"},{"line_number":4,"context_line":"    \u003chttp://h20564.www2.hpe.com/hpsc/doc/public/display?docId\u003demr_na-c04637207\u0026sp4ts.oid\u003d5182020\u003e`_"},{"line_number":5,"context_line":"    (SUM) as an in-band manual cleaning step ``update_firmware_sum``, for"},{"line_number":6,"context_line":"    all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":41,"id":"7f515b1d_a9dd1515","line":5,"range":{"start_line":5,"start_character":68,"end_line":5,"end_character":69},"updated":"2017-10-09 16:18:07.000000000","message":"nit: comma is not needed","commit_id":"877695cf59b2a6737b6d93cfbcae90f88257edc4"},{"author":{"_account_id":15074,"name":"Aparna","email":"aparnavtce@gmail.com","username":"Aparna"},"change_message_id":"9cfc30ae091b91f7192b5b76cb573c632ed40594","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - iLO drivers now support firmware update based on `Smart Update Manager"},{"line_number":4,"context_line":"    \u003chttp://h20564.www2.hpe.com/hpsc/doc/public/display?docId\u003demr_na-c04637207\u0026sp4ts.oid\u003d5182020\u003e`_"},{"line_number":5,"context_line":"    (SUM) as an in-band manual cleaning step ``update_firmware_sum``, for"},{"line_number":6,"context_line":"    all the hardware components."}],"source_content_type":"text/x-yaml","patch_set":41,"id":"5f4e5783_3a458571","line":5,"range":{"start_line":5,"start_character":68,"end_line":5,"end_character":69},"in_reply_to":"7f515b1d_a9dd1515","updated":"2017-10-10 07:32:21.000000000","message":"Done","commit_id":"877695cf59b2a6737b6d93cfbcae90f88257edc4"}]}
