)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f38720bf36b5fcc0944271fb363be6e0e087d2d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"196a10e6_cd98a709","updated":"2022-02-08 15:57:10.000000000","message":"Could you explain why these two services have been chosen? Typically we have a provisioning and/or \ncleaning network that is separate from the API network. We may need routing to get from the provisioning/cleaning network to the API.\n\nThe inspector config here is about the listening address, but that is just for the backend - API requests should go via HAProxy.\n\nIronic networking is tricky...","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"fdc5eeb298b7e3ea384c28364d6de520a01c4a07","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"56b94478_b5e9f6f1","in_reply_to":"196a10e6_cd98a709","updated":"2022-02-08 16:04:25.000000000","message":"We have a use case where we are not allowed to route the provisioning network. The idea was to run the HTTPD and the Inspector explicitly where it is needed. Independent of Haproxy in that case then.","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f67158865d64df8402ea9ca3c0fe14f78c5dee9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"be4f6f0d_1fd7d3c5","in_reply_to":"56b94478_b5e9f6f1","updated":"2022-02-08 16:39:42.000000000","message":"Wouldn\u0027t you also need to change the TFTP server listen address? Or are you using virtual media boot?\n\nYou would probably need to change ironic API too.\n\nIs there a requirement to have a separate cleaning network?","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"91ec8d709522b6cf15d8ba0fbd2737de9e6adfaf","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bc9195f7_96374c87","in_reply_to":"b7ff0b4f_f43d20ab","updated":"2022-02-09 08:43:54.000000000","message":"We will coordinate again if we can make the APIs reachable via routing. That would solve it with the Inspector and the Ironic API.\n\nBut It still think  it makes sense if the TFTP and HTTP are configurable.","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1358b91a648fffcbcf78c7a5ef4547dd21e1d17c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e5423c2a_1e00c4ad","in_reply_to":"bc9195f7_96374c87","updated":"2022-02-09 09:40:02.000000000","message":"In the \u0027simple\u0027 case where there is a single provisioning/cleaning network, I agree that allowing the TFTP \u0026 HTTP servers to listen on that network would be nice.","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0f6bda6af8943ad97e7bf3175530f31bdde89476","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b7ff0b4f_f43d20ab","in_reply_to":"be4f6f0d_1fd7d3c5","updated":"2022-02-08 20:40:44.000000000","message":"IIUC this is for ipxe boot via http. TFTP listens hardcoded on 0.0.0.0:69 anyway, which may also be something that could be made flexible, but likely not in this change.","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"925ac767741718c40d50870a1600460e10113dcb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"73606510_f8b6c354","updated":"2022-02-11 09:45:58.000000000","message":"Although the TFTP server currently listens on 0.0.0.0, we can change the address on which nodes are told to access it, in ironic.conf:\n\n tftp_server \u003d {{ api_interface_address }}\n\nand ironic-dnsmasq.conf:\n\n dhcp-option\u003doption:tftp-server,{{ api_interface_address }}\n\nPotentially we could change the TFTP listen address to use a specific IP.\n\nAlso need to change this task: \u0027Checking free port for Ironic iPXE\u0027","commit_id":"15cb08609e616f7e99e23c1cffe9589423c861a6"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"450f9d0a2b0fb187dfc465bc2e47908349432a3f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6ad25647_f88b05ed","updated":"2022-02-10 08:35:34.000000000","message":"Not sure if ironic_interface is still the right name for the new parameter when only touching the ipxe_httpd service?","commit_id":"15cb08609e616f7e99e23c1cffe9589423c861a6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"925ac767741718c40d50870a1600460e10113dcb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"edc69a0d_1f525f02","in_reply_to":"6ad25647_f88b05ed","updated":"2022-02-11 09:45:58.000000000","message":"I think the thing we\u0027re trying to configure is the provisioning network, so let\u0027s call it that?","commit_id":"15cb08609e616f7e99e23c1cffe9589423c861a6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2ed1339cd4a5a9dd7b500fe5c46f197b4c6ffd96","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ef983802_f23f2dc2","in_reply_to":"73606510_f8b6c354","updated":"2022-07-07 09:46:11.000000000","message":"Also need to change this task: \u0027Checking free port for Ironic iPXE\u0027 ^","commit_id":"15cb08609e616f7e99e23c1cffe9589423c861a6"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9e9e7dde4d6e64ad252ba23134bb543b9e3d48","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"675d23f7_2d3a5001","updated":"2022-06-23 11:42:23.000000000","message":"I think, based on how it works, it should be called \"ironic_http_interface\".","commit_id":"0625e2daa97c6bccf5742c5b74cafed427d9eda2"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ffe532cbc538345746e29a959878d59485d9ea57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"996fcff0_c90785e7","updated":"2022-06-23 09:56:50.000000000","message":"rebased and integrated comment","commit_id":"0625e2daa97c6bccf5742c5b74cafed427d9eda2"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6d5996a3fe1e0ead463a7826da6fff7d1682e2c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cc76a255_78680deb","in_reply_to":"675d23f7_2d3a5001","updated":"2022-06-24 08:18:05.000000000","message":"Done","commit_id":"0625e2daa97c6bccf5742c5b74cafed427d9eda2"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"6670c04bbc336c7bc18234b0b02b9fbb79b2b978","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f490edc5_95cfdea6","updated":"2022-07-05 11:12:24.000000000","message":"Changes of Jens are fitting for me.","commit_id":"4de3426611b7c085f55fa177809863e36502f116"}],"ansible/group_vars/all.yml":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0f6bda6af8943ad97e7bf3175530f31bdde89476","unresolved":true,"context_lines":[{"line_number":226,"context_line":"# Networking options"},{"line_number":227,"context_line":"####################"},{"line_number":228,"context_line":"network_interface: \"eth0\""},{"line_number":229,"context_line":"ironic_interface: \"{{ network_interface }}\""},{"line_number":230,"context_line":"neutron_external_interface: \"eth1\""},{"line_number":231,"context_line":"kolla_external_vip_interface: \"{{ network_interface }}\""},{"line_number":232,"context_line":"api_interface: \"{{ network_interface }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"c50d6a08_4261640a","line":229,"updated":"2022-02-08 20:40:44.000000000","message":"Shouldn\u0027t the default be api_interface here, too?","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"4b31a75d65844409db4b3434f745854915bdba91","unresolved":false,"context_lines":[{"line_number":226,"context_line":"# Networking options"},{"line_number":227,"context_line":"####################"},{"line_number":228,"context_line":"network_interface: \"eth0\""},{"line_number":229,"context_line":"ironic_interface: \"{{ network_interface }}\""},{"line_number":230,"context_line":"neutron_external_interface: \"eth1\""},{"line_number":231,"context_line":"kolla_external_vip_interface: \"{{ network_interface }}\""},{"line_number":232,"context_line":"api_interface: \"{{ network_interface }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"d304b88d_5a33a160","line":229,"in_reply_to":"c50d6a08_4261640a","updated":"2022-02-10 08:43:23.000000000","message":"Done","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"}],"ansible/roles/ironic/defaults/main.yml":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0f6bda6af8943ad97e7bf3175530f31bdde89476","unresolved":true,"context_lines":[{"line_number":261,"context_line":"ironic_enable_rolling_upgrade: \"yes\""},{"line_number":262,"context_line":"ironic_inspector_kernel_cmdline_extras: []"},{"line_number":263,"context_line":"ironic_inspector_pxe_filter: \"{% if enable_neutron | bool %}dnsmasq{% else %}noop{% endif %}\""},{"line_number":264,"context_line":"ironic_ironic_interface: \"{{ api_interface }}\""},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"2b9c2f6e_3944e6b7","line":264,"range":{"start_line":264,"start_character":0,"end_line":264,"end_character":23},"updated":"2022-02-08 20:40:44.000000000","message":"ironic_interface?","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"4b31a75d65844409db4b3434f745854915bdba91","unresolved":false,"context_lines":[{"line_number":261,"context_line":"ironic_enable_rolling_upgrade: \"yes\""},{"line_number":262,"context_line":"ironic_inspector_kernel_cmdline_extras: []"},{"line_number":263,"context_line":"ironic_inspector_pxe_filter: \"{% if enable_neutron | bool %}dnsmasq{% else %}noop{% endif %}\""},{"line_number":264,"context_line":"ironic_ironic_interface: \"{{ api_interface }}\""},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"e93a5404_0bfd3a77","line":264,"range":{"start_line":264,"start_character":0,"end_line":264,"end_character":23},"in_reply_to":"2b9c2f6e_3944e6b7","updated":"2022-02-10 08:43:23.000000000","message":"Done","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"925ac767741718c40d50870a1600460e10113dcb","unresolved":true,"context_lines":[{"line_number":261,"context_line":"ironic_enable_rolling_upgrade: \"yes\""},{"line_number":262,"context_line":"ironic_inspector_kernel_cmdline_extras: []"},{"line_number":263,"context_line":"ironic_inspector_pxe_filter: \"{% if enable_neutron | bool %}dnsmasq{% else %}noop{% endif %}\""},{"line_number":264,"context_line":"ironic_interface: \"{{ api_interface }}\""},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5ce3c902_375c1ff0","line":264,"range":{"start_line":264,"start_character":0,"end_line":264,"end_character":39},"updated":"2022-02-11 09:45:58.000000000","message":"Not required as it\u0027s in group_vars","commit_id":"15cb08609e616f7e99e23c1cffe9589423c861a6"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ffe532cbc538345746e29a959878d59485d9ea57","unresolved":false,"context_lines":[{"line_number":261,"context_line":"ironic_enable_rolling_upgrade: \"yes\""},{"line_number":262,"context_line":"ironic_inspector_kernel_cmdline_extras: []"},{"line_number":263,"context_line":"ironic_inspector_pxe_filter: \"{% if enable_neutron | bool %}dnsmasq{% else %}noop{% endif %}\""},{"line_number":264,"context_line":"ironic_interface: \"{{ api_interface }}\""},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"d301eb75_966b21d0","line":264,"range":{"start_line":264,"start_character":0,"end_line":264,"end_character":39},"in_reply_to":"5ce3c902_375c1ff0","updated":"2022-06-23 09:56:50.000000000","message":"Done","commit_id":"15cb08609e616f7e99e23c1cffe9589423c861a6"}],"releasenotes/notes/ironic-interface-afa7ffe9a341a892.yaml":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0f6bda6af8943ad97e7bf3175530f31bdde89476","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With the ironic_interface/ironic_interface_address parameters"},{"line_number":5,"context_line":"    it is possible to set the addresses for the ipxe_httpd as well"},{"line_number":6,"context_line":"    as ironic-inspector service."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"d55c7297_fefd7a7c","line":4,"range":{"start_line":4,"start_character":13,"end_line":4,"end_character":54},"updated":"2022-02-08 20:40:44.000000000","message":"I would put this into ``...``","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"4b31a75d65844409db4b3434f745854915bdba91","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With the ironic_interface/ironic_interface_address parameters"},{"line_number":5,"context_line":"    it is possible to set the addresses for the ipxe_httpd as well"},{"line_number":6,"context_line":"    as ironic-inspector service."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"30cfa7d1_e68c5a7f","line":4,"range":{"start_line":4,"start_character":13,"end_line":4,"end_character":54},"in_reply_to":"d55c7297_fefd7a7c","updated":"2022-02-10 08:43:23.000000000","message":"Done","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0f6bda6af8943ad97e7bf3175530f31bdde89476","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With the ironic_interface/ironic_interface_address parameters"},{"line_number":5,"context_line":"    it is possible to set the addresses for the ipxe_httpd as well"},{"line_number":6,"context_line":"    as ironic-inspector service."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5fdc5079_85af7aec","line":5,"range":{"start_line":5,"start_character":48,"end_line":5,"end_character":58},"updated":"2022-02-08 20:40:44.000000000","message":"and this","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"4b31a75d65844409db4b3434f745854915bdba91","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With the ironic_interface/ironic_interface_address parameters"},{"line_number":5,"context_line":"    it is possible to set the addresses for the ipxe_httpd as well"},{"line_number":6,"context_line":"    as ironic-inspector service."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"b0c7dc56_e9e4c41f","line":5,"range":{"start_line":5,"start_character":48,"end_line":5,"end_character":58},"in_reply_to":"5fdc5079_85af7aec","updated":"2022-02-10 08:43:23.000000000","message":"Done","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0f6bda6af8943ad97e7bf3175530f31bdde89476","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With the ironic_interface/ironic_interface_address parameters"},{"line_number":5,"context_line":"    it is possible to set the addresses for the ipxe_httpd as well"},{"line_number":6,"context_line":"    as ironic-inspector service."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7d011283_00f09e67","line":6,"range":{"start_line":6,"start_character":7,"end_line":6,"end_character":23},"updated":"2022-02-08 20:40:44.000000000","message":"and this","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"4b31a75d65844409db4b3434f745854915bdba91","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With the ironic_interface/ironic_interface_address parameters"},{"line_number":5,"context_line":"    it is possible to set the addresses for the ipxe_httpd as well"},{"line_number":6,"context_line":"    as ironic-inspector service."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"319596ac_e23e2708","line":6,"range":{"start_line":6,"start_character":7,"end_line":6,"end_character":23},"in_reply_to":"7d011283_00f09e67","updated":"2022-02-10 08:43:23.000000000","message":"Done","commit_id":"2178bc2d691f0e4b368b9eaa20c3bc336440e077"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9e9e7dde4d6e64ad252ba23134bb543b9e3d48","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With the ``ironic_interface/ironic_interface_address`` parameters"},{"line_number":5,"context_line":"    it is possible to set the addresses for the ``ipxe_httpd``"},{"line_number":6,"context_line":"    service."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ad3013d9_8d8e115f","line":5,"range":{"start_line":5,"start_character":50,"end_line":5,"end_character":60},"updated":"2022-06-23 11:42:23.000000000","message":"ironic_http","commit_id":"0625e2daa97c6bccf5742c5b74cafed427d9eda2"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6d5996a3fe1e0ead463a7826da6fff7d1682e2c3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With the ``ironic_interface/ironic_interface_address`` parameters"},{"line_number":5,"context_line":"    it is possible to set the addresses for the ``ipxe_httpd``"},{"line_number":6,"context_line":"    service."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"d5d08a03_f53e5195","line":5,"range":{"start_line":5,"start_character":50,"end_line":5,"end_character":60},"in_reply_to":"ad3013d9_8d8e115f","updated":"2022-06-24 08:18:05.000000000","message":"Done","commit_id":"0625e2daa97c6bccf5742c5b74cafed427d9eda2"}]}
