)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"7461c70e5e15e5b427187c1e29ba105b6d6e4cfd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8a0583d2_3a6b0533","updated":"2025-02-13 09:36:21.000000000","message":"recheck - RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)","commit_id":"cc2af101931c1e87d64b55b77822784e7d46a978"},{"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":"06aa5178ae3138f54942972e41a839bfeb817e3a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6f9286f3_df000fe3","updated":"2025-02-13 20:16:38.000000000","message":"CID and I looked at this together; this approach to a lockdown won\u0027t work for rescue as we can\u0027t completely kill the network.\n\nWe discussed this instead:\nafter flipping  to RESCUED -\u003e write a file somewhere\nDO BOTH OF THESE:\n-- on IPA startup, refuse to start API or heartbeater if file exists (maybe even consider completely exiting?)\n-- in IPA service file in https://opendev.org/openstack/ironic-python-agent-builder/src/branch/master/dib/ironic-python-agent-ramdisk/install.d/ironic-python-agent-ramdisk-source-install/ironic-python-agent.service#L8 utilize ConditionPathExists with a ! to negate to prevent IPA from starting if your sentinel file exists\n\nThis should help give an ideal case for users of ipa-builder while still protecting against people who aren\u0027t using our systemd units.","commit_id":"e085907134dc1f1b75254050a8295331b8436e29"},{"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":"d4393c891f2488e415cf0372203989ecc1fcd2b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"30012195_ed263634","updated":"2025-02-13 19:43:19.000000000","message":"recheck error: RPC failed; curl 56 Recv failure: Connection reset by peer","commit_id":"e085907134dc1f1b75254050a8295331b8436e29"},{"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":"5536765d2f97bc99db131a6c0b084e1cbb37faca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4332c9b5_41ae654c","updated":"2025-02-14 21:04:44.000000000","message":"As a follow up, we should make the IPA-Builder systemd unit refuse to start if this file exists.","commit_id":"a42980a016ca3bd184eaa677ee9ac13d00f4e5e6"}],"ironic_python_agent/agent.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":"5b654300341e01f193610a4cabbbe5b41687966e","unresolved":true,"context_lines":[{"line_number":565,"context_line":"                LOG.error(\u0027Neither ipa-api-url nor inspection_callback_url\u0027"},{"line_number":566,"context_line":"                          \u0027found, please check your pxe append parameters.\u0027)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        self.serve_ipa_api()"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"        if not self.standalone and self.api_urls:"},{"line_number":571,"context_line":"            self.heartbeater.stop()"}],"source_content_type":"text/x-python","patch_set":2,"id":"17fed2c3_e8dc0d26","line":568,"updated":"2025-02-13 14:59:02.000000000","message":"For this to be completely locked out, this needs to be guarded by if not os.path.exists(\u0027/.rescued\u0027).","commit_id":"cc2af101931c1e87d64b55b77822784e7d46a978"},{"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":"06aa5178ae3138f54942972e41a839bfeb817e3a","unresolved":true,"context_lines":[{"line_number":566,"context_line":"                          \u0027found, please check your pxe append parameters.\u0027)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        if not os.path.exists(\u0027/.rescued\u0027):"},{"line_number":569,"context_line":"            self.serve_ipa_api()"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        if not self.standalone and self.api_urls:"},{"line_number":572,"context_line":"            self.heartbeater.stop()"}],"source_content_type":"text/x-python","patch_set":3,"id":"a1c8db7a_2a2868f3","line":569,"updated":"2025-02-13 20:16:38.000000000","message":"Is there a reason we can\u0027t make this an if/else instead of two separate ifs?","commit_id":"e085907134dc1f1b75254050a8295331b8436e29"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"0be08ff3adce8d38683dc4fa56b4e392ed100c5f","unresolved":false,"context_lines":[{"line_number":566,"context_line":"                          \u0027found, please check your pxe append parameters.\u0027)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        if not os.path.exists(\u0027/.rescued\u0027):"},{"line_number":569,"context_line":"            self.serve_ipa_api()"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        if not self.standalone and self.api_urls:"},{"line_number":572,"context_line":"            self.heartbeater.stop()"}],"source_content_type":"text/x-python","patch_set":3,"id":"d1b23d66_64c68881","line":569,"in_reply_to":"a1c8db7a_2a2868f3","updated":"2025-02-14 16:51:16.000000000","message":"Done","commit_id":"e085907134dc1f1b75254050a8295331b8436e29"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"0be08ff3adce8d38683dc4fa56b4e392ed100c5f","unresolved":true,"context_lines":[{"line_number":573,"context_line":"                     \u0027in disabled mode\u0027)"},{"line_number":574,"context_line":"            self.heartbeater.stop()"},{"line_number":575,"context_line":"            self.serve_api \u003d False"},{"line_number":576,"context_line":"            while True:"},{"line_number":577,"context_line":"                time.sleep(100)"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"        if not self.standalone and self.api_urls:"},{"line_number":580,"context_line":"            self.heartbeater.stop()"}],"source_content_type":"text/x-python","patch_set":6,"id":"43162fdc_14004900","line":577,"range":{"start_line":576,"start_character":0,"end_line":577,"end_character":31},"updated":"2025-02-14 16:51:16.000000000","message":"I had to go look at line 579 (_lockdown_system) to see why we didnt\u0027 just fall through to that. Might be good to put a note in here.","commit_id":"9b4840a15adf54c126aa253a18985797b3c5a1b9"}],"releasenotes/notes/prevent-restart-after-rescue-2cdd9cb03c0efb1b.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"0be08ff3adce8d38683dc4fa56b4e392ed100c5f","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":"    Prevents IPA from restarting on tenant networks during rescue"},{"line_number":5,"context_line":"    operations by adding proper lockdown."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"8017d096_081eb8e9","line":2,"updated":"2025-02-14 16:51:16.000000000","message":"This is a bugfix, not a feature. 😊","commit_id":"9b4840a15adf54c126aa253a18985797b3c5a1b9"}]}
