)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"18c8bba03a985fbbaf7f54d0d5ee48fee1b4e795","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bde3cf7e_cfde8529","updated":"2026-02-25 13:50:26.000000000","message":"Recheck now a different unrelated test failed with a 404","commit_id":"0ccc6658ddc2795b992dc10e9c7f76f8debda408"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"c2c5688cb8fc4a5f7eda0793f63fb14bda2d85a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a05f6853_1cb87400","updated":"2026-02-25 04:33:03.000000000","message":"Recheck unrelated post failure","commit_id":"0ccc6658ddc2795b992dc10e9c7f76f8debda408"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"69cd21169f1b65eff84388aa3c00fc7ba65f6749","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"01370bb6_8d8fa6dc","updated":"2026-03-02 16:23:15.000000000","message":"looks good to me","commit_id":"0ccc6658ddc2795b992dc10e9c7f76f8debda408"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"73cb5569d8d02ea6de01b08ec7c8c7c45470d179","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"80d22b7a_51b4c76b","in_reply_to":"01370bb6_8d8fa6dc","updated":"2026-03-02 16:42:33.000000000","message":"Thanks for the review. I\u0027ve applied Sean\u0027s suggestion to be more exact in the test so once it passes I\u0027ll ping you for a re-review.","commit_id":"0ccc6658ddc2795b992dc10e9c7f76f8debda408"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"ed84ac1bfcdf2c4e792e527f21fe7b89bc6f3067","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"091cf35b_382da846","updated":"2026-03-07 00:52:15.000000000","message":"Recheck another unrelated failure. But the prior ones now pass.","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"5d0fa547cd187b033a69ca785a43679c2216ec03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"75b8ec8c_32c461e7","updated":"2026-03-04 17:25:10.000000000","message":"Recheck unrelated failure","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"30819f9cf7e2e59f617c23b0123f739e61d02582","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"428c321a_40ccc756","updated":"2026-03-04 06:13:49.000000000","message":"Recheck unrelated timeout","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"937b6864266729d7afa4356d7166c1eb2baedaac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b233c456_ca3812fd","updated":"2026-03-03 18:44:08.000000000","message":"i think we can move forward this this","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"7f59eca49120a24e7dacada59b065f7502265e01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e7282e8b_6455a771","updated":"2026-03-05 22:29:45.000000000","message":"recheck a different unrelated failure","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"17af98f21e6a32e4abe587938ab0d944d741d894","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"285641db_0849b702","updated":"2026-03-06 19:02:40.000000000","message":"recheck tox release broke things","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"a8337a27bab785a115e4c3b7280a3c3b7f03a02b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"bf17909a_aaed9e1b","updated":"2026-03-03 17:45:13.000000000","message":"recheck unrelated failures","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"ae7d99b45da1b6153971745a5b7d1558cca407c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"6ef50204_4019c893","updated":"2026-03-06 22:20:01.000000000","message":"recheck unrelated timeout in coverage","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"081d3efe799d1991c692245b87726f1c881bd15d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e7f2638f_5bb14f74","updated":"2026-03-04 14:39:41.000000000","message":"still good","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"28b680eb1f6427e03d8d2349c94bbc7fbc407eb1","unresolved":true,"context_lines":[{"line_number":8551,"context_line":"            network_uuid\u003duuids.network_id)"},{"line_number":8552,"context_line":""},{"line_number":8553,"context_line":"        resources \u003d self.compute._build_resources(*args)"},{"line_number":8554,"context_line":"        self.assertRaises(exception.BuildAbortException, resources.__enter__)"},{"line_number":8555,"context_line":""},{"line_number":8556,"context_line":"        mock_build_net.assert_called_once_with(self.context, self.instance,"},{"line_number":8557,"context_line":"            self.requested_networks, mock.ANY,"}],"source_content_type":"text/x-python","patch_set":5,"id":"8edb791e_cf4be432","line":8554,"updated":"2026-03-02 16:29:47.000000000","message":"can you update this to\n```suggestion\n       e \u003d self.assertRaises(exception.BuildAbortException, resources.__enter__)\n       self.assertIn(\n       \"It is not allowed to create an interface on external network\",\n       str(e))\n```","commit_id":"0ccc6658ddc2795b992dc10e9c7f76f8debda408"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"73cb5569d8d02ea6de01b08ec7c8c7c45470d179","unresolved":false,"context_lines":[{"line_number":8551,"context_line":"            network_uuid\u003duuids.network_id)"},{"line_number":8552,"context_line":""},{"line_number":8553,"context_line":"        resources \u003d self.compute._build_resources(*args)"},{"line_number":8554,"context_line":"        self.assertRaises(exception.BuildAbortException, resources.__enter__)"},{"line_number":8555,"context_line":""},{"line_number":8556,"context_line":"        mock_build_net.assert_called_once_with(self.context, self.instance,"},{"line_number":8557,"context_line":"            self.requested_networks, mock.ANY,"}],"source_content_type":"text/x-python","patch_set":5,"id":"085421c7_5a9ba17e","line":8554,"in_reply_to":"85e65c6b_5ae09024","updated":"2026-03-02 16:42:33.000000000","message":"Fix applied.","commit_id":"0ccc6658ddc2795b992dc10e9c7f76f8debda408"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"52e3640e544b9f1425574110f8ff90637571d31a","unresolved":true,"context_lines":[{"line_number":8551,"context_line":"            network_uuid\u003duuids.network_id)"},{"line_number":8552,"context_line":""},{"line_number":8553,"context_line":"        resources \u003d self.compute._build_resources(*args)"},{"line_number":8554,"context_line":"        self.assertRaises(exception.BuildAbortException, resources.__enter__)"},{"line_number":8555,"context_line":""},{"line_number":8556,"context_line":"        mock_build_net.assert_called_once_with(self.context, self.instance,"},{"line_number":8557,"context_line":"            self.requested_networks, mock.ANY,"}],"source_content_type":"text/x-python","patch_set":5,"id":"85e65c6b_5ae09024","line":8554,"in_reply_to":"8edb791e_cf4be432","updated":"2026-03-02 16:32:29.000000000","message":"by the way without your fix i woudl expect that assert to fail and return the block device string that people were reproting.\n\nnova.exception.BuildAbortException: Build of instance f006c37e-7863-4318-859d-1315a0f9a1bf aborted: Failure prepping block device.\n\nso its that assert that is really proving this is correct.","commit_id":"0ccc6658ddc2795b992dc10e9c7f76f8debda408"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"937b6864266729d7afa4356d7166c1eb2baedaac","unresolved":true,"context_lines":[{"line_number":8558,"context_line":"        self.assertIn("},{"line_number":8559,"context_line":"            \"It is not allowed to create an interface on external network\","},{"line_number":8560,"context_line":"            str(e)"},{"line_number":8561,"context_line":"        )"},{"line_number":8562,"context_line":""},{"line_number":8563,"context_line":"        mock_build_net.assert_called_once_with(self.context, self.instance,"},{"line_number":8564,"context_line":"            self.requested_networks, mock.ANY,"}],"source_content_type":"text/x-python","patch_set":7,"id":"d4368a31_e3f1369d","line":8561,"updated":"2026-03-03 18:44:08.000000000","message":"+1","commit_id":"56c4a69ba667de6aa914caec2b7a7ebf17acaa56"}],"releasenotes/notes/fix-failure-prep-block-d7e1cad6d3910502.yaml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13a2239cca7179c8aa9ee589c14fc64770c2c705","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Fixes `bug 2137673`_ where details about the fact that the user specified"},{"line_number":5,"context_line":"    an incorrect configuration by requesting to attach to an external network are"},{"line_number":6,"context_line":"    masked by \"Failure prepping block device\" since they do not have access to"},{"line_number":7,"context_line":"    the whole backtrace."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _bug 2137673: https://bugs.launchpad.net/nova/+bug/2137673"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"6d642c26_8891c6e6","line":7,"updated":"2026-02-25 17:16:13.000000000","message":"in general returnign the full backtrace is not desirebale and in the past has lead to security issus.\n\nwe can return a better error but normal users geenrally should not see the internals of the backtrace and only see the type of excption.","commit_id":"3823cc0bb5c4e1604d40576bd8eac78168c41e06"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"11f3500022f78508018fc7caaf23bd2ffd7a22bc","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Fixes `bug 2137673`_ where details about the fact that the user specified"},{"line_number":5,"context_line":"    an incorrect configuration by requesting to attach to an external network are"},{"line_number":6,"context_line":"    masked by \"Failure prepping block device\" since they do not have access to"},{"line_number":7,"context_line":"    the whole backtrace."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _bug 2137673: https://bugs.launchpad.net/nova/+bug/2137673"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"b881ff0c_d8593e6b","line":7,"in_reply_to":"5d91ee75_4149b039","updated":"2026-02-26 20:53:44.000000000","message":"I took a look at this one at Doug\u0027s request and I\u0027m having serious deja-vu because I think I proposed a nearly identical patch at one point to do the same thing.\n\nThat being said, in terms of balancing concerns, we likely need to consider improving the testing matrix with realistic cases and ensuring the exception exits as we desire it. That would address any direct while also improving failure handling. The flip side of the concern and driver for Doug is just to improve the overall experience by getting the right errors surfaced up.","commit_id":"3823cc0bb5c4e1604d40576bd8eac78168c41e06"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"b69f809e0ef83c2ff51443c94f211b1329218e55","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Fixes `bug 2137673`_ where details about the fact that the user specified"},{"line_number":5,"context_line":"    an incorrect configuration by requesting to attach to an external network are"},{"line_number":6,"context_line":"    masked by \"Failure prepping block device\" since they do not have access to"},{"line_number":7,"context_line":"    the whole backtrace."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _bug 2137673: https://bugs.launchpad.net/nova/+bug/2137673"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5d91ee75_4149b039","line":7,"in_reply_to":"6d642c26_8891c6e6","updated":"2026-02-25 22:02:01.000000000","message":"So I think there\u0027s a misunderstanding here. The code is not changing to return a whole back trace. When you build an instance and attempt to attach to an external network if you\u0027re using KVM/libvirt the error you get back is the message \"It is not allowed to create an interface on external network\". When you\u0027re using Ironic as your backend, since it has an implementation of \"prepare_networks_before_block_device_mapping\" unlike KVM/libvirt, the same operation returns the error of \"Failure prepping block device\" to the user instead of \"It is not allowed to create an interface on external network\". The ONLY way that someone can know that was the actual error is to go read the full back trace and ignore the \"Failure prepping block device\" and look at the next one up the stack which is \"It is not allowed to create an interface on external network\".\n\n\nThis change makes the ironic driver match the behavior of the KVM/libvirt driver in this case.","commit_id":"3823cc0bb5c4e1604d40576bd8eac78168c41e06"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"937b6864266729d7afa4356d7166c1eb2baedaac","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Fixes `bug 2137673`_ where details about the fact that the user specified"},{"line_number":5,"context_line":"    an incorrect configuration by requesting to attach to an external network are"},{"line_number":6,"context_line":"    masked by \"Failure prepping block device\" since they do not have access to"},{"line_number":7,"context_line":"    the whole backtrace."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _bug 2137673: https://bugs.launchpad.net/nova/+bug/2137673"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"01b2a1ce_92777abf","line":7,"in_reply_to":"7ce0e9de_00ec51de","updated":"2026-03-03 18:44:08.000000000","message":"i still think this is a littel confusing so it would be nice to update it if you need to rebase/respin the patch.","commit_id":"3823cc0bb5c4e1604d40576bd8eac78168c41e06"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"28b680eb1f6427e03d8d2349c94bbc7fbc407eb1","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Fixes `bug 2137673`_ where details about the fact that the user specified"},{"line_number":5,"context_line":"    an incorrect configuration by requesting to attach to an external network are"},{"line_number":6,"context_line":"    masked by \"Failure prepping block device\" since they do not have access to"},{"line_number":7,"context_line":"    the whole backtrace."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _bug 2137673: https://bugs.launchpad.net/nova/+bug/2137673"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7ce0e9de_00ec51de","line":7,"in_reply_to":"b881ff0c_d8593e6b","updated":"2026-03-02 16:29:47.000000000","message":"we proably coudl create a fake ironic fixure liek the fake libvirt one and add some funcitonal tests for the ironic driver in the future.\n\nbut i agree with normalising the responce between driver and reportign the correct error.\n\n```\n Fixes `bug 2137673`_ previously ironic users were informed that the build failed\n because  \"Failure prepping block device\" incorrectly when the user specified\n an incorrect configuration by requesting to attach to an external network.\n```\n\ni read the orgianl as station the fact the back-trace isnt aviabel was the bug.\nwhen infact the bug is we stated it was a block device issue when it was a networkign one.\nthis would avoid the condution cause by refencing the traceback.","commit_id":"3823cc0bb5c4e1604d40576bd8eac78168c41e06"}]}
