)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f92cdda9c8e13373fe8cf05929bc23b45fd994e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"0d2fdef9_e574d995","updated":"2022-07-10 10:51:43.000000000","message":"I\u0027ll create a blueprint if it is needed, but I\u0027m not convinced multipath capability should be selected by users.\n\nUsage of multipath is dependent on backend storage and for some backend there is no \"multipath\" concept(eg, ceph, NFS, ...). IMO multipath should be enabled according to the infrastructure design and something operators instead of users should select.\n\nIt\u0027s true that this can change the API behavior, but the main intention of this change is not to introduce any API change but to let operators notice their misconfiguration. The enforcement is still optional and disabled by default. Users are responsible to enable multipath properly if they want to enable it.\n\n","commit_id":"19574fb251c6bf1341da8e5ab2e5636cf71fdbdc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64fa3bb8e18bbbbfcc8496c0214537654c027ef9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"235843fd_f84217ab","updated":"2022-07-10 10:26:07.000000000","message":"by the way if the volume had some metadata on it that carried the requirement for multi attach we could include that in the schduleing request and test that in the nova api as part of attch.\n\nthat would be similer to how neutron qos for minium bandwith works.\n\nwe do not need to have operators expictly request the traits in flavor or images we can interpert the atributes on the volumes via a prefileter for schduling and in the atach api to validate if the host has multiatch enabled.\n\nbasically only the libvirt hosts that have multipath enabled would report the multipath trait. when we get the attach request we can test if the host has that trait if the volume requires multiattach.\n\nthe spec freeze for zed is thrusday so it will be hard to create one in time but im happy to review a spec on this topic if you have one or we can reivew this for next cycle.","commit_id":"19574fb251c6bf1341da8e5ab2e5636cf71fdbdc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e970ce643d314fb7cbe94ea0b34129d1920a13ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"9b7a4b4d_7d4233a8","updated":"2022-07-10 10:20:30.000000000","message":"this is a feature not a bug so at a minium this need a blueprint but if we are going to enforce multipath im not convinced we should do it via a host level config.\n\ni would prefer to model this via traits and have host report multipath support only if its aviable on the host and then model enforcement with a requried trait.\n\nwe should not have the vm creation or volume attachmenet fail because of a config option you cannot schdule on. this would be undiscoverable config driven api behavior which is not something we should add more of.\n\nso -2 is because of lack of spec to describe this feature and because directionally this is config driven api behaivor.\n\nwe could support multipath enforcement in nova but we should not take this approch to do so.\n\n","commit_id":"19574fb251c6bf1341da8e5ab2e5636cf71fdbdc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"718400c522ed5bf53306f28a382300335d592f30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a0138f54_e7446f1f","in_reply_to":"0d2fdef9_e574d995","updated":"2022-07-10 19:02:12.000000000","message":"if your goal is just to signal to the operator that they have an error in there deployment perhaps that is better to prevent the agent form starting if mutlipath is enabled but not avaiable.\n\nvolume attachment is a tenatnt operation but as you noted configuring multipath is something the operator has to do so you are current mixing operational domains.\n\nit would help if we had a a list of usceases you are trying to adress and a problemstatemnt.\n\nwe could intoduce the new config option and use it to check for multipathd on agent startup and error if its not aviable. that would signal the misconfiguration to the operator when they deploy nova.","commit_id":"19574fb251c6bf1341da8e5ab2e5636cf71fdbdc"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"24d993a88a3ff452d36dddad9c165d6b5ab37334","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b270318b_0b1ac35a","in_reply_to":"9b7a4b4d_7d4233a8","updated":"2024-09-25 02:26:37.000000000","message":"I\u0027ve created a blueprint and will bring this to the next meeting to ask if it can be specless.","commit_id":"19574fb251c6bf1341da8e5ab2e5636cf71fdbdc"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fd317635257c898aca293d2a18afaecc1f235544","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c9b699b6_0bfe0bda","in_reply_to":"a0138f54_e7446f1f","updated":"2022-07-11 09:06:24.000000000","message":"I would go with the kill-the-agent root, if that is enough to cover the use case. As that is simple and probably backportable.","commit_id":"19574fb251c6bf1341da8e5ab2e5636cf71fdbdc"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"7108846fcc1d9d98daf29d8fa8785ecda5821354","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f607b172_f06fc3b3","in_reply_to":"c9b699b6_0bfe0bda","updated":"2024-09-25 02:25:56.000000000","message":"I\u0027ve added the check in init_host to make nova-conmpute fail when multipath is enforced but multipathd is running.","commit_id":"19574fb251c6bf1341da8e5ab2e5636cf71fdbdc"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9b2bf49ac9b6bf819fec9b7bc082a324fbea8f2a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4771e6ea_cf401431","in_reply_to":"f607b172_f06fc3b3","updated":"2024-09-25 02:37:13.000000000","message":"Notes:\n\nWe still have to add enforce_multipath in actual volume connection flow to catch cases where multipathd is stopped after nova-compute is started.\n\nAlternatively we can use volume_use_multipath to trigger the enforce flow but I\u0027d avoid it for now because that\u0027s breaking change (eg people might have the volume_use_multipath option set to True without multipathd, but they don\u0027t hit problems if they use backends like nfs/ceph which don\u0027t use iscsi/fc )","commit_id":"19574fb251c6bf1341da8e5ab2e5636cf71fdbdc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a7677701bdb7aa8c4a9597b4eca67f1ebdb2320e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"ce4baca9_411993d1","updated":"2024-09-30 16:51:20.000000000","message":"droping -2","commit_id":"b3c3dadbc68a4b0d31cb9dc960d99c00c65097b9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5388412701dbdc8c87232a889e1c2ec6a527bbea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"0b180985_b95b3498","updated":"2025-02-27 18:05:35.000000000","message":"+2 but I\u0027d appreciate @dms@danplanet.com to review it too.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"38328ca1c6123aa1c46acb4190e7fa2cb419246e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"e6f16177_2e939826","updated":"2025-02-27 15:18:30.000000000","message":"I\u0027m quite OK but I have one concern about the stable os-brick API","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4321985a80c99043fb47f84de3a07bd4a6e6b3b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1f1b1282_432387d0","updated":"2025-02-27 15:15:17.000000000","message":"i can live with this for now but see comment regarding the rootwarp tech debt\n\nif you respin it would be nice to add a todo comment to track that.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"df84ba8d26e62e072856e6ec07f534c629ba2c5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"2f24fd28_40d4bf14","updated":"2025-02-28 14:43:10.000000000","message":"Thanks!","commit_id":"4aab14a09fa072d2b3a5adfbeb752956a93c5118"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"a066d8dea90d9002f71895568f6a59d6c0a01231","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"93cf8259_ef1b0a52","updated":"2025-03-01 09:12:28.000000000","message":"recheck a different job failed this time.","commit_id":"4aab14a09fa072d2b3a5adfbeb752956a93c5118"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c8b298a9a1853ce6e15c59565c9a02835625f851","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"70b478cc_cc36b01b","updated":"2025-02-28 04:05:12.000000000","message":"recheck the failure is not related to this change.","commit_id":"4aab14a09fa072d2b3a5adfbeb752956a93c5118"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f4387c31e277e9b0100b0c5db95f6845b9747c1a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"e38b8804_5ad30475","updated":"2025-03-01 03:03:34.000000000","message":"recheck timeout","commit_id":"4aab14a09fa072d2b3a5adfbeb752956a93c5118"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4321985a80c99043fb47f84de3a07bd4a6e6b3b0","unresolved":true,"context_lines":[{"line_number":1174,"context_line":"        if not CONF.libvirt.volume_use_multipath:"},{"line_number":1175,"context_line":"            msg \u003d _(\"The \u0027volume_use_multipath\u0027 option should be \u0027True\u0027 when \""},{"line_number":1176,"context_line":"                    \"the \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027.\")"},{"line_number":1177,"context_line":"            raise exception.InvalidConfiguration(msg)"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        multipath_running \u003d linuxscsi.LinuxSCSI.is_multipath_running("},{"line_number":1180,"context_line":"            root_helper\u003dutils.get_root_helper())"}],"source_content_type":"text/x-python","patch_set":15,"id":"ea8d2ce2_052a55a8","line":1177,"updated":"2025-02-27 15:15:17.000000000","message":"ack this makes sense to me.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5388412701dbdc8c87232a889e1c2ec6a527bbea","unresolved":false,"context_lines":[{"line_number":1174,"context_line":"        if not CONF.libvirt.volume_use_multipath:"},{"line_number":1175,"context_line":"            msg \u003d _(\"The \u0027volume_use_multipath\u0027 option should be \u0027True\u0027 when \""},{"line_number":1176,"context_line":"                    \"the \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027.\")"},{"line_number":1177,"context_line":"            raise exception.InvalidConfiguration(msg)"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        multipath_running \u003d linuxscsi.LinuxSCSI.is_multipath_running("},{"line_number":1180,"context_line":"            root_helper\u003dutils.get_root_helper())"}],"source_content_type":"text/x-python","patch_set":15,"id":"71877035_76d6a982","line":1177,"in_reply_to":"ea8d2ce2_052a55a8","updated":"2025-02-27 18:05:35.000000000","message":"Acknowledged","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"38328ca1c6123aa1c46acb4190e7fa2cb419246e","unresolved":true,"context_lines":[{"line_number":1176,"context_line":"                    \"the \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027.\")"},{"line_number":1177,"context_line":"            raise exception.InvalidConfiguration(msg)"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        multipath_running \u003d linuxscsi.LinuxSCSI.is_multipath_running("},{"line_number":1180,"context_line":"            root_helper\u003dutils.get_root_helper())"},{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""}],"source_content_type":"text/x-python","patch_set":15,"id":"092286bb_69b36e66","line":1179,"range":{"start_line":1179,"start_character":28,"end_line":1179,"end_character":47},"updated":"2025-02-27 15:18:30.000000000","message":"I\u0027m not a storage expert but do we really need to check that specific module ? Don\u0027t we have any more abstract helper ?\n\nLater: given we already import connector, couldn\u0027t we reuse connector.supports_multipath() ?","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1dc90d8894da2f3d3abf806cac7e8658cb4cd3dd","unresolved":true,"context_lines":[{"line_number":1176,"context_line":"                    \"the \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027.\")"},{"line_number":1177,"context_line":"            raise exception.InvalidConfiguration(msg)"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        multipath_running \u003d linuxscsi.LinuxSCSI.is_multipath_running("},{"line_number":1180,"context_line":"            root_helper\u003dutils.get_root_helper())"},{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""}],"source_content_type":"text/x-python","patch_set":15,"id":"acc799c1_a7fa9b12","line":1179,"range":{"start_line":1179,"start_character":28,"end_line":1179,"end_character":47},"in_reply_to":"092286bb_69b36e66","updated":"2025-02-27 15:23:34.000000000","message":"well we do not have a conencto at thsi poitn and the implation of that depend on the exact connecotr used so no.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5388412701dbdc8c87232a889e1c2ec6a527bbea","unresolved":false,"context_lines":[{"line_number":1176,"context_line":"                    \"the \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027.\")"},{"line_number":1177,"context_line":"            raise exception.InvalidConfiguration(msg)"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        multipath_running \u003d linuxscsi.LinuxSCSI.is_multipath_running("},{"line_number":1180,"context_line":"            root_helper\u003dutils.get_root_helper())"},{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""}],"source_content_type":"text/x-python","patch_set":15,"id":"de53eefe_41ef32b6","line":1179,"range":{"start_line":1179,"start_character":28,"end_line":1179,"end_character":47},"in_reply_to":"acc799c1_a7fa9b12","updated":"2025-02-27 18:05:35.000000000","message":"we discussed that in the #openstack-nova channel and eventually we agreed on the existing usage.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3a0a93457ccb37bbf36e481bb814cc364d84dcb9","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"dc23f6d3_40b8c905","line":1184,"updated":"2025-02-27 15:16:10.000000000","message":"I think this should be `InvalidConfiguration` like the others right? Maybe you chose this because it\u0027s an \"invalid state\" or something but I think the rest of these checks are saying \"the configuration specifies an requirement of the system that is not met\" so I\u0027d go with the same.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4321985a80c99043fb47f84de3a07bd4a6e6b3b0","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"f33e0302_eb35e3eb","line":1184,"updated":"2025-02-27 15:15:17.000000000","message":"this however im less convinced by.\n\nim not a fan of addign any new calls to thing that need rootwap.\nthat a general proplem with os-brick but that is the only usaqge of root wrap still in nova.\n\nthere are several backend that cna leverage multi pathd and the state of it can change while nova is running.\n\nit looks like this fucntion is invoking \n\ncmd \u003d (\u0027multipathd\u0027, \u0027show\u0027, \u0027status\u0027)\n\nso i guess that is portable but I would prefer not to do that via os-bick and have a privsep function in nova instead.\n\nthis could be adressed as a followup\n\neventualy the eventlet removal serise will likely result in rootwarp bing removed so os-brick will have to be ported in the next cycle or two but it would have been nice not ot have to refactor this when that happens.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"399bece57ef0c67e72a5f799bd45cbfb3e8a9453","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"87f6384e_220acf38","line":1184,"in_reply_to":"07c4713d_391d0f68","updated":"2025-02-27 15:21:57.000000000","message":"Just like above where you configure nova to use a given user and that user isn\u0027t actually available on your system because you forgot to run ansible or something. L1152, etc. I know that\u0027s a little more static config than what could be the case for multipathd configured and not running, but these days with systemd I think configured-and-running is more declarative and thus is plenty similar to the other cases we have above. I mostly just want to keep the set of things that can intentionally abort startup to a minimum and I think this is close enough to count.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"aa9a16fb250bce79ea1346e2547819b862ca5ce7","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"ce647ad2_0afde5ac","line":1184,"in_reply_to":"487887d1_d434ae14","updated":"2025-02-27 15:33:57.000000000","message":"im fin with the delegation to os-brick in general\nwhat i woudl really like here is a note that we need to update this as part of the eventlet removal.\n\ncurrently rootwrap is propsoed to be deprecated and not ported so we will need to clean this up when ever os-brick does.\n\nyou can ignor the rest of my comment.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6eb52fadd9fc780a524ab146e8c5d59bb0498885","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"5fa096b4_1c4f97af","line":1184,"in_reply_to":"5e9ad9e7_ddd8e4a3","updated":"2025-02-27 23:53:58.000000000","message":"I was not intentionally and I thought I used the consistent exception (InvalidConfiguration) but did\u0027t not. Fixed in the latest version.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"aa9a16fb250bce79ea1346e2547819b862ca5ce7","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"5e9ad9e7_ddd8e4a3","line":1184,"in_reply_to":"87f6384e_220acf38","updated":"2025-02-27 15:33:57.000000000","message":"fair enough.\nas i said on irc im ok with your proposal and i by the argurment of keeping the set of thign that can abort startup to a small set.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6eb52fadd9fc780a524ab146e8c5d59bb0498885","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"d3d856fc_ad66fb31","line":1184,"in_reply_to":"ce647ad2_0afde5ac","updated":"2025-02-27 23:53:58.000000000","message":"I\u0027m still uncertain about the comment here because the problem you described about privsep is not an issue quite specific to this call but the one generally applied to the whole os-brick. And that should be addressed in os-brick rather than nova, IMO.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3cc12226353d8e56fe16b4ae9767892d119fb192","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"2d4568be_a8ece4a7","line":1184,"in_reply_to":"d3d856fc_ad66fb31","updated":"2025-02-28 00:00:15.000000000","message":"correct it shoudl. you can ignore this comemnt.\n\nwe need to fix os-brick and this is not tech debt you shoudl have to fix here.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f7ff75feac2d95258f6e2f351d3179702851d0cd","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"07c4713d_391d0f68","line":1184,"in_reply_to":"dc23f6d3_40b8c905","updated":"2025-02-27 15:18:30.000000000","message":"well no this can raise if the config is right but the deamon died.\n\nso its not nessialy a config error in nova at least\nthere could be some other issue preventing multipathd form running\n\nif you prefer InvalidConfiguration im not entirly agaisnt that but to me invalid is ok.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a4009fc88a21b169864e66823c7dee589dddff37","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        if not multipath_running:"},{"line_number":1182,"context_line":"            msg \u003d _(\"The \u0027volume_enforce_multipath\u0027 option is \u0027True\u0027 but \""},{"line_number":1183,"context_line":"                    \"multipathd is not running.\")"},{"line_number":1184,"context_line":"            raise exception.Invalid(msg)"},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"    def _start_inactive_mediated_devices(self):"},{"line_number":1187,"context_line":"        # Get a list of inactive mdevs so we can start them and make them"}],"source_content_type":"text/x-python","patch_set":15,"id":"487887d1_d434ae14","line":1184,"in_reply_to":"f33e0302_eb35e3eb","updated":"2025-02-27 15:19:35.000000000","message":"I would very much prefer to delegate the \"is multipathd running?\" query to brick no matter how it does it, so I prefer what is here.","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"}],"releasenotes/notes/volume_enforce_multipath-c790e98b9b05848e.yaml":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3a0a93457ccb37bbf36e481bb814cc364d84dcb9","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The new ``[libvirt] volume_enforce_multipath`` option has been added. When"},{"line_number":5,"context_line":"    this option is set to ``True``, attachment of volumes is aborted when"},{"line_number":6,"context_line":"    multipathd is not running in the host. Otherwise it fallbacks to single"},{"line_number":7,"context_line":"    path. This option also makes the libvirt driver to check multipathd during"},{"line_number":8,"context_line":"    initialization, and the compute service fails to start if mulitipathd is not"},{"line_number":9,"context_line":"    running."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9832850e_1f8cfe25","line":6,"range":{"start_line":6,"start_character":56,"end_line":6,"end_character":65},"updated":"2025-02-27 15:16:10.000000000","message":"\"falls back\"","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6eb52fadd9fc780a524ab146e8c5d59bb0498885","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The new ``[libvirt] volume_enforce_multipath`` option has been added. When"},{"line_number":5,"context_line":"    this option is set to ``True``, attachment of volumes is aborted when"},{"line_number":6,"context_line":"    multipathd is not running in the host. Otherwise it fallbacks to single"},{"line_number":7,"context_line":"    path. This option also makes the libvirt driver to check multipathd during"},{"line_number":8,"context_line":"    initialization, and the compute service fails to start if mulitipathd is not"},{"line_number":9,"context_line":"    running."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9c534021_a071d791","line":6,"range":{"start_line":6,"start_character":56,"end_line":6,"end_character":65},"in_reply_to":"9832850e_1f8cfe25","updated":"2025-02-27 23:53:58.000000000","message":"Done","commit_id":"89c197b4038cca830aedd1bcd8f6903c0c0196ac"}]}
