)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7583ef481389b7a3146e96aafccfc32ae5d80501","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1fc2e8f3_51314f12","updated":"2023-11-16 12:34:06.000000000","message":"I like the overall idea here. Thank you for writing this up.\n\nI would however, prefer not to keep using os_distro in this way (although we can keep it for backwards compatibility reasons)","commit_id":"c9ed6b72e2a915d79eb06698207986133198bf8c"},{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"576113f65023f1dcf5897520dd05ff8ce9883d8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c0250527_f5ebce21","updated":"2024-01-10 09:15:17.000000000","message":"Thanks, update looks good","commit_id":"c5a7a81979d73601cdcf3b361de478bd54278fe5"}],"specs/caracal/improve-driver-discovery.rst":[{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"f158caf77c6868f6f427ccf754eb0761a09f13b1","unresolved":true,"context_lines":[{"line_number":70,"context_line":"wants to use, instead of having a driver be matched by the discovery mechanism."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"One way to achieve that is to use a Glance image property \u0027magnum_driver\u0027 to"},{"line_number":73,"context_line":"specify the driver name. The additional property allows Magnum to find a driver"},{"line_number":74,"context_line":"if there are multiple matching drivers. In the example of two drivers both"},{"line_number":75,"context_line":"matching::"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e0a03c2b_ba0aae73","line":73,"updated":"2023-11-15 00:04:22.000000000","message":"Suggest \"allows Magnum to select the preferred driver\".\n\nCurrently, Magnum will always pick the second driver added to the driver dictionary (it overwrites the first). So finding a driver isn\u0027t a problem! 😊","commit_id":"c9ed6b72e2a915d79eb06698207986133198bf8c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7583ef481389b7a3146e96aafccfc32ae5d80501","unresolved":true,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"  Driver 2:"},{"line_number":88,"context_line":"    {\u0027os_distro\u0027: \u0027ubuntu\u0027,"},{"line_number":89,"context_line":"     \u0027magnum_driver\u0027: \u0027k8s_capi_helm_v1\u0027}"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"For existing drivers that do not conflict, the current way of discovery remains"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6fb372ea_6f04f5c3","line":89,"updated":"2023-11-16 12:34:06.000000000","message":"FWIW, I like the idea of this working with just the magnum_driver specified.\n\nIt is worth stating that these values for os_distro are invalid, and will trigger warning messages in Nova for badly formatted os_distro values (ubuntu22.04 would be a valid value, but it likely has unexpected side effects that are best avoided)\nhttps://specs.openstack.org/openstack/nova-specs/specs/mitaka/implemented/libvirt-hardware-policy-from-libosinfo.html\n\nI would prefer something like magnum_distro, so there is no clash with what Nova is using with os_distro? For backwards compatibility, maybe look at os_distro when magnum_distro is not populate?","commit_id":"c9ed6b72e2a915d79eb06698207986133198bf8c"},{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"8c45279ae32ec7189e10b7414ab822adc8359df6","unresolved":true,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"  Driver 2:"},{"line_number":88,"context_line":"    {\u0027os_distro\u0027: \u0027ubuntu\u0027,"},{"line_number":89,"context_line":"     \u0027magnum_driver\u0027: \u0027k8s_capi_helm_v1\u0027}"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"For existing drivers that do not conflict, the current way of discovery remains"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6c236913_db26d0c6","line":89,"in_reply_to":"6fb372ea_6f04f5c3","updated":"2023-11-17 00:18:57.000000000","message":"Thanks for the info on `os_distro`. It feels additional to the goal of this proposal, but this is a good time to implement alternative behaviour.\n\nThe priority change for `magnum_driver` suggested wouldn\u0027t require the driver interface `provides` property to change, only the Magnum logic for selection of drivers.\n\nIt sounds like this might match what you are proposing:\n1. Filter all drivers and match on `server_type` and `coe` from driver `provides`.\n2. If `magnum_driver` is provided on the image, use the matching driver or fail if not found. (this allows tie-break use case AND primary selection).\n3. Filter driver list by the `provides` `os` value, using `magnum_distro` value from image (fallback to using `os_distro` from image)\n4. If more than one driver remains, raise Exception.\n\nSo we introduce the two optional image metadata `magnum_distro` and `magnum_driver`, with fallback to existing driver selection behaviour with the addition of an Exception on conflict.\n\nTo me, this sounds viable and would achieve the goals for the change.","commit_id":"c9ed6b72e2a915d79eb06698207986133198bf8c"},{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"f158caf77c6868f6f427ccf754eb0761a09f13b1","unresolved":true,"context_lines":[{"line_number":93,"context_line":"unchanged."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Alternative 1"},{"line_number":97,"context_line":"-------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"A simple alternative is that each deployment explicitly only enable one driver"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8f2dc02a_d985f708","line":96,"updated":"2023-11-15 00:04:22.000000000","message":"Worth noting that this solution is the only one that continues to hide the driver details/naming from the Magnum API. The other solutions all expose the driver existence in some manner.\n\nThe drawbacks mean it\u0027s not viable for a cloud migrating from one driver to another, however.","commit_id":"c9ed6b72e2a915d79eb06698207986133198bf8c"},{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"f158caf77c6868f6f427ccf754eb0761a09f13b1","unresolved":true,"context_lines":[{"line_number":124,"context_line":"needed. E.g.::"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    [{\u0027server_type\u0027: \u0027vm\u0027,"},{"line_number":127,"context_line":"      \u0027os\u0027: \u0027k8s_fedora_coreos_v1:ubuntu\u0027,"},{"line_number":128,"context_line":"      \u0027coe\u0027: \u0027kubernetes\u0027},"},{"line_number":129,"context_line":"     {\u0027server_type\u0027: \u0027vm\u0027,"},{"line_number":130,"context_line":"      \u0027os\u0027: \u0027k8s_fedora_coreos_v1:flatcar\u0027,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"cda2bf88_7e3a1ed3","line":127,"updated":"2023-11-15 00:04:22.000000000","message":"I think I know what you\u0027re proposing, but I\u0027m not sure these examples make sense as they use two operating systems in the naming (even though one is also the driver name) ;)","commit_id":"c9ed6b72e2a915d79eb06698207986133198bf8c"}]}
