)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"110bbd9056b82b409406159e671e01e72f8214f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f8b6ec84_4d24c4bd","updated":"2024-08-22 22:45:31.000000000","message":"Some small wording changes.","commit_id":"551a2540114ec4c80e2c7d86548860cac70d570b"}],"doc/source/admin/firmware-updates.rst":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"b088ae17046933bab9a6e54c64b02a21ca504566","unresolved":true,"context_lines":[{"line_number":162,"context_line":"How it works - via Firmware Interface"},{"line_number":163,"context_line":"-------------------------------------"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"The ``update`` cleaning step accepts JSON in the following format::"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    [{"},{"line_number":168,"context_line":"        \"interface\": \"firmware\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"0d19dd9e_f92bd361","line":165,"updated":"2024-08-22 21:07:41.000000000","message":"We should mention this can work in servicing, and for bonus points, an example of a firmware update runbook would be exceedingly good :D","commit_id":"551a2540114ec4c80e2c7d86548860cac70d570b"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"9cd5d608b5acd9b3478ea3a1521388b384a33e10","unresolved":false,"context_lines":[{"line_number":162,"context_line":"How it works - via Firmware Interface"},{"line_number":163,"context_line":"-------------------------------------"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"The ``update`` cleaning step accepts JSON in the following format::"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    [{"},{"line_number":168,"context_line":"        \"interface\": \"firmware\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"4ba6e855_93e24798","line":165,"in_reply_to":"0d19dd9e_f92bd361","updated":"2024-09-03 01:52:48.000000000","message":"Done","commit_id":"551a2540114ec4c80e2c7d86548860cac70d570b"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"110bbd9056b82b409406159e671e01e72f8214f5","unresolved":true,"context_lines":[{"line_number":189,"context_line":"    :header: \"Attribute\", \"Description\""},{"line_number":190,"context_line":"    :widths: 30, 120"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    \"``interface``\", \"Interface of the cleaning step.  Must be ``management`` for firmware update\""},{"line_number":193,"context_line":"    \"``step``\", \"Name of cleaning step.  Must be ``update`` for firmware update\""},{"line_number":194,"context_line":"    \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to cleaning step\""},{"line_number":195,"context_line":"    \"``args.settings``\", \"Ordered list of dictionaries of firmware updates to be applied\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4a8418a0_797c41f1","line":192,"updated":"2024-08-22 22:45:31.000000000","message":"```suggestion\n    \"``interface``\", \"Interface of the cleaning step.  Must be ``firmware`` for firmware update\"\n```\n\nYou say it must be \"management\" but your example above was \"firmware\".","commit_id":"551a2540114ec4c80e2c7d86548860cac70d570b"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"9cd5d608b5acd9b3478ea3a1521388b384a33e10","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    :header: \"Attribute\", \"Description\""},{"line_number":190,"context_line":"    :widths: 30, 120"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    \"``interface``\", \"Interface of the cleaning step.  Must be ``management`` for firmware update\""},{"line_number":193,"context_line":"    \"``step``\", \"Name of cleaning step.  Must be ``update`` for firmware update\""},{"line_number":194,"context_line":"    \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to cleaning step\""},{"line_number":195,"context_line":"    \"``args.settings``\", \"Ordered list of dictionaries of firmware updates to be applied\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d816f749_62d0d329","line":192,"in_reply_to":"4a8418a0_797c41f1","updated":"2024-09-03 01:52:48.000000000","message":"Done","commit_id":"551a2540114ec4c80e2c7d86548860cac70d570b"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"110bbd9056b82b409406159e671e01e72f8214f5","unresolved":true,"context_lines":[{"line_number":190,"context_line":"    :widths: 30, 120"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    \"``interface``\", \"Interface of the cleaning step.  Must be ``management`` for firmware update\""},{"line_number":193,"context_line":"    \"``step``\", \"Name of cleaning step.  Must be ``update`` for firmware update\""},{"line_number":194,"context_line":"    \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to cleaning step\""},{"line_number":195,"context_line":"    \"``args.settings``\", \"Ordered list of dictionaries of firmware updates to be applied\""},{"line_number":196,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"6176e2b9_0b6842ac","line":193,"updated":"2024-08-22 22:45:31.000000000","message":"```suggestion\n    \"``step``\", \"Name of step.  Must be ``update`` for firmware update\"\n```\n\nSince this can be via service or clean.","commit_id":"551a2540114ec4c80e2c7d86548860cac70d570b"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"9cd5d608b5acd9b3478ea3a1521388b384a33e10","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    :widths: 30, 120"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    \"``interface``\", \"Interface of the cleaning step.  Must be ``management`` for firmware update\""},{"line_number":193,"context_line":"    \"``step``\", \"Name of cleaning step.  Must be ``update`` for firmware update\""},{"line_number":194,"context_line":"    \"``args``\", \"Keyword-argument entry (\u003cname\u003e: \u003cvalue\u003e) being passed to cleaning step\""},{"line_number":195,"context_line":"    \"``args.settings``\", \"Ordered list of dictionaries of firmware updates to be applied\""},{"line_number":196,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e0183615_631206df","line":193,"in_reply_to":"6176e2b9_0b6842ac","updated":"2024-09-03 01:52:48.000000000","message":"Done","commit_id":"551a2540114ec4c80e2c7d86548860cac70d570b"},{"author":{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"},"change_message_id":"d898bf538a17eac92933bbb42946b8825dc205cb","unresolved":true,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":".. code-block:: console"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    $ baremetal runbook create --name \u003cRUNBOOK\u003e --setps \\"},{"line_number":256,"context_line":"        \u0027[{\"interface\": \"firmware\", \"step\": \"update\", \"args\": {\"settings\":[{\"component\": \"bmc\", \"url\":\"http://192.168.0.8:8080/ilo5278.bin\"}]}}]\u0027"},{"line_number":257,"context_line":"    $ baremetal node add trait \u003cironic_node_uuid\u003e \u003cRUNBOOK\u003e"},{"line_number":258,"context_line":"    $ baremetal node \u003cclean or service\u003e  \u003cironic_node_uuid\u003e --runbook \u003cRUNBOOK\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e962f50c_d0ce34d8","line":255,"range":{"start_line":255,"start_character":50,"end_line":255,"end_character":55},"updated":"2024-09-06 13:49:12.000000000","message":"nit: steps?","commit_id":"d0a092f5effc8725e616144a647f4c7cf0a58293"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"44a23364ace3959fc78968aaacb5ed41908dbf62","unresolved":true,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":".. code-block:: console"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    $ baremetal runbook create --name \u003cRUNBOOK\u003e --setps \\"},{"line_number":256,"context_line":"        \u0027[{\"interface\": \"firmware\", \"step\": \"update\", \"args\": {\"settings\":[{\"component\": \"bmc\", \"url\":\"http://192.168.0.8:8080/ilo5278.bin\"}]}}]\u0027"},{"line_number":257,"context_line":"    $ baremetal node add trait \u003cironic_node_uuid\u003e \u003cRUNBOOK\u003e"},{"line_number":258,"context_line":"    $ baremetal node \u003cclean or service\u003e  \u003cironic_node_uuid\u003e --runbook \u003cRUNBOOK\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"798d6ce9_8f70a9a6","line":255,"range":{"start_line":255,"start_character":50,"end_line":255,"end_character":55},"in_reply_to":"e962f50c_d0ce34d8","updated":"2024-09-06 14:35:35.000000000","message":"Good spot.","commit_id":"d0a092f5effc8725e616144a647f4c7cf0a58293"}]}
