)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"057e8344fd4709b5018a66d3880a50b70e79d311","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove NICs/MAC address requirement to allow node"},{"line_number":10,"context_line":"registration from the node UUID or name and allow the"},{"line_number":11,"context_line":"setting of the Ironic provision state."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I9b1636d778e7477191bfbe6094bd6bc70a4d384e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"0dc71560_c95c549d","line":11,"updated":"2025-06-20 15:51:25.000000000","message":"I think we need to include how we intent to use this module within Kayobe here.\n\nI think we need to cover how we plan to:\n\n* add node into ironic (e.g. add valid BMC creds)\n* move to manageable, to check the BMC config is valid\n* run redfish inspection (find the NICs)\n* run agent inspection (to get LLDP info)\n* possibly run manual clean steps, like burn in\n* make node available\n\nAt the moment we can\u0027t use this module to add ironic nodes, for this use case. We propose an option to leave the node in the enroll state, and in this mode we don\u0027t require the NIC MAC to be known upfront.","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":36238,"name":"Hollie Hutchinson","display_name":"Hollie Hutchinson","email":"hollie@stackhpc.com","username":"assumptions"},"change_message_id":"3671ba0d9e7f0d473251c66b1c254eec6eaae501","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove NICs/MAC address requirement to allow node"},{"line_number":10,"context_line":"registration from the node UUID or name and allow the"},{"line_number":11,"context_line":"setting of the Ironic provision state."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I9b1636d778e7477191bfbe6094bd6bc70a4d384e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"389b29b0_a728d89b","line":11,"in_reply_to":"0dc71560_c95c549d","updated":"2025-11-01 16:08:00.000000000","message":"I don\u0027t think we need to include the entire bootstrap process in the commit as some of it\u0027s irrelevant to the patch.\n\nWe should include the Redfish inspect part since that\u0027s where the ports are populated for the node, which I guess is the point of this patch.","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"51c721af8df75bea658c599a0583df1c79840f05","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove NICs/MAC address requirement to allow node"},{"line_number":10,"context_line":"registration from the node UUID or name and allow the"},{"line_number":11,"context_line":"setting of the Ironic provision state."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I9b1636d778e7477191bfbe6094bd6bc70a4d384e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"4553675c_5f78ece9","line":11,"in_reply_to":"389b29b0_a728d89b","updated":"2025-11-12 06:18:12.000000000","message":"I do think this would be a good description use case to be written down somewhere even the Ironic docs would be good. This is the same style of inspection I\u0027m doing as well. We\u0027re even working on adding LLDP reading in the redfish inspector as well.","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"51c721af8df75bea658c599a0583df1c79840f05","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"584d963f_e5c1a09f","updated":"2025-11-12 06:18:12.000000000","message":"The depends-on patch shouldn\u0027t be necessary at all.","commit_id":"c1a25818d8cbad4f54e47ec9d023702e61e95c89"}],"plugins/modules/baremetal_node.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"057e8344fd4709b5018a66d3880a50b70e79d311","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        - ID to be given to the baremetal node. Will be auto-generated on"},{"line_number":52,"context_line":"          creation if not specified, and I(name) is specified."},{"line_number":53,"context_line":"        - Definition of I(id) will always take precedence over I(name)."},{"line_number":54,"context_line":"        - Can be used identify the node when C(nics) are absent."},{"line_number":55,"context_line":"      type: str"},{"line_number":56,"context_line":"      aliases: [\u0027uuid\u0027]"},{"line_number":57,"context_line":"    inspect_interface:"}],"source_content_type":"text/x-python","patch_set":1,"id":"0bb74393_8482ebc8","line":54,"updated":"2025-06-20 15:51:25.000000000","message":"I don\u0027t think this matters vs the nics to be honest.","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":36238,"name":"Hollie Hutchinson","display_name":"Hollie Hutchinson","email":"hollie@stackhpc.com","username":"assumptions"},"change_message_id":"983451a87508d378809467ba11a1cc1b575a3fba","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        - ID to be given to the baremetal node. Will be auto-generated on"},{"line_number":52,"context_line":"          creation if not specified, and I(name) is specified."},{"line_number":53,"context_line":"        - Definition of I(id) will always take precedence over I(name)."},{"line_number":54,"context_line":"        - Can be used identify the node when C(nics) are absent."},{"line_number":55,"context_line":"      type: str"},{"line_number":56,"context_line":"      aliases: [\u0027uuid\u0027]"},{"line_number":57,"context_line":"    inspect_interface:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bb0919ec_909065f8","line":54,"in_reply_to":"0bb74393_8482ebc8","updated":"2025-11-01 15:41:55.000000000","message":"Done","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"057e8344fd4709b5018a66d3880a50b70e79d311","unresolved":true,"context_lines":[{"line_number":66,"context_line":"    name:"},{"line_number":67,"context_line":"      description:"},{"line_number":68,"context_line":"        - unique name identifier to be given to the resource."},{"line_number":69,"context_line":"        - Can be used identify the node when C(nics) are absent."},{"line_number":70,"context_line":"      type: str"},{"line_number":71,"context_line":"    network_interface:"},{"line_number":72,"context_line":"      description:"}],"source_content_type":"text/x-python","patch_set":1,"id":"546ac5b9_0529d737","line":69,"updated":"2025-06-20 15:51:25.000000000","message":"Again, not sure this matters vs the nics either way, re-reading this, its clear this is being used as a unique identifier, although its maybe worth noting that id always takes precedence?","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":36238,"name":"Hollie Hutchinson","display_name":"Hollie Hutchinson","email":"hollie@stackhpc.com","username":"assumptions"},"change_message_id":"983451a87508d378809467ba11a1cc1b575a3fba","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    name:"},{"line_number":67,"context_line":"      description:"},{"line_number":68,"context_line":"        - unique name identifier to be given to the resource."},{"line_number":69,"context_line":"        - Can be used identify the node when C(nics) are absent."},{"line_number":70,"context_line":"      type: str"},{"line_number":71,"context_line":"    network_interface:"},{"line_number":72,"context_line":"      description:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5dd045fd_286edacb","line":69,"in_reply_to":"546ac5b9_0529d737","updated":"2025-11-01 15:41:55.000000000","message":"Done","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"057e8344fd4709b5018a66d3880a50b70e79d311","unresolved":true,"context_lines":[{"line_number":76,"context_line":"    nics:"},{"line_number":77,"context_line":"      description:"},{"line_number":78,"context_line":"        - \u0027A list of network interface cards, eg, C( - mac: aa:bb:cc:aa:bb:cc)\u0027"},{"line_number":79,"context_line":"        - This node attribute cannot be updated."},{"line_number":80,"context_line":"      type: list"},{"line_number":81,"context_line":"      elements: dict"},{"line_number":82,"context_line":"      suboptions:"}],"source_content_type":"text/x-python","patch_set":1,"id":"c8e4e8a4_6fdfbfd9","line":79,"updated":"2025-06-20 15:51:25.000000000","message":"We should note that nics are required if the provision_state \u003d\u003d available, but otherwise are not required.","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":36238,"name":"Hollie Hutchinson","display_name":"Hollie Hutchinson","email":"hollie@stackhpc.com","username":"assumptions"},"change_message_id":"983451a87508d378809467ba11a1cc1b575a3fba","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    nics:"},{"line_number":77,"context_line":"      description:"},{"line_number":78,"context_line":"        - \u0027A list of network interface cards, eg, C( - mac: aa:bb:cc:aa:bb:cc)\u0027"},{"line_number":79,"context_line":"        - This node attribute cannot be updated."},{"line_number":80,"context_line":"      type: list"},{"line_number":81,"context_line":"      elements: dict"},{"line_number":82,"context_line":"      suboptions:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7c294d91_5758db13","line":79,"in_reply_to":"c8e4e8a4_6fdfbfd9","updated":"2025-11-01 15:41:55.000000000","message":"Done","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"057e8344fd4709b5018a66d3880a50b70e79d311","unresolved":true,"context_lines":[{"line_number":127,"context_line":"          type: dict"},{"line_number":128,"context_line":"    provision_state:"},{"line_number":129,"context_line":"      description:"},{"line_number":130,"context_line":"        - Indicates the state the node should be provisioned to in Ironic."},{"line_number":131,"context_line":"      choices: [\u0027enroll\u0027, \u0027manageable\u0027, \u0027available\u0027]"},{"line_number":132,"context_line":"      default: available"},{"line_number":133,"context_line":"      type: str"}],"source_content_type":"text/x-python","patch_set":1,"id":"f96a8785_689ac013","line":130,"updated":"2025-06-20 15:51:25.000000000","message":"When we create the node, we ensure it reaches the following state.\n\nWe should note that if the node already exists, the state of the node is not altered.","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":36238,"name":"Hollie Hutchinson","display_name":"Hollie Hutchinson","email":"hollie@stackhpc.com","username":"assumptions"},"change_message_id":"983451a87508d378809467ba11a1cc1b575a3fba","unresolved":false,"context_lines":[{"line_number":127,"context_line":"          type: dict"},{"line_number":128,"context_line":"    provision_state:"},{"line_number":129,"context_line":"      description:"},{"line_number":130,"context_line":"        - Indicates the state the node should be provisioned to in Ironic."},{"line_number":131,"context_line":"      choices: [\u0027enroll\u0027, \u0027manageable\u0027, \u0027available\u0027]"},{"line_number":132,"context_line":"      default: available"},{"line_number":133,"context_line":"      type: str"}],"source_content_type":"text/x-python","patch_set":1,"id":"cc8a90e9_7b17c397","line":130,"in_reply_to":"f96a8785_689ac013","updated":"2025-11-01 15:41:55.000000000","message":"Done","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"057e8344fd4709b5018a66d3880a50b70e79d311","unresolved":true,"context_lines":[{"line_number":128,"context_line":"    provision_state:"},{"line_number":129,"context_line":"      description:"},{"line_number":130,"context_line":"        - Indicates the state the node should be provisioned to in Ironic."},{"line_number":131,"context_line":"      choices: [\u0027enroll\u0027, \u0027manageable\u0027, \u0027available\u0027]"},{"line_number":132,"context_line":"      default: available"},{"line_number":133,"context_line":"      type: str"},{"line_number":134,"context_line":"    raid_interface:"}],"source_content_type":"text/x-python","patch_set":1,"id":"66181727_fe8e0525","line":131,"updated":"2025-06-20 15:51:25.000000000","message":"I think we should only really have two choices here, and be clear what they are for?\n\nMaybe turn this into a boolean setting, something like \"make_available_on_node_create: true/false\"?","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"},{"author":{"_account_id":36238,"name":"Hollie Hutchinson","display_name":"Hollie Hutchinson","email":"hollie@stackhpc.com","username":"assumptions"},"change_message_id":"983451a87508d378809467ba11a1cc1b575a3fba","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    provision_state:"},{"line_number":129,"context_line":"      description:"},{"line_number":130,"context_line":"        - Indicates the state the node should be provisioned to in Ironic."},{"line_number":131,"context_line":"      choices: [\u0027enroll\u0027, \u0027manageable\u0027, \u0027available\u0027]"},{"line_number":132,"context_line":"      default: available"},{"line_number":133,"context_line":"      type: str"},{"line_number":134,"context_line":"    raid_interface:"}],"source_content_type":"text/x-python","patch_set":1,"id":"10524b5f_b18b72a6","line":131,"in_reply_to":"66181727_fe8e0525","updated":"2025-11-01 15:41:55.000000000","message":"Done","commit_id":"fc3965745f4f6e9e6fd7e49d4dab7d149b9da9d2"}]}
