)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"5d3b7b3c82dc6faf2eff3fb7ceda77b7ae92229c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c7aed34c_9777f79d","updated":"2023-08-29 15:25:32.000000000","message":"Nice, looks like no DB-related modifications required.  Also posting here for posteri","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"79773e3dceb68b558c423b77ec1f5279ae0eda16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ccab8c0c_b793a0b8","updated":"2023-11-14 17:57:32.000000000","message":"recheck ceph job failed to pull podman containers","commit_id":"600127a8a4f3facbfa9e9107504ba2d1997a9c2c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"76640ef2b666c655ba178e58cbbcce5c57d7b880","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"decd0aa9_6900a893","updated":"2023-11-15 08:52:50.000000000","message":"I have a question about the change about the call to get_disk","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"548e460ddbeb6ff719fc8f878058fc86c235e860","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"539ccc81_95519400","updated":"2023-11-15 20:37:43.000000000","message":"Sorry I missed submitting replies to these earlier.","commit_id":"1ed02d57c064551a77726ab333951e916ec57e12"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5972396267c64022d6d6a1f8c1f8cdc4a1a63836","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7e29806e_4a9a3436","updated":"2023-11-16 09:53:12.000000000","message":"Thanks!","commit_id":"1ed02d57c064551a77726ab333951e916ec57e12"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7809d8e9bd739374cd4cce1f0f891703cd9eec46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3f57b122_2b492969","updated":"2023-12-08 12:54:41.000000000","message":"recheck, we have merge a few ci stablity fixes over the last few days so lets see if that helps","commit_id":"1ed02d57c064551a77726ab333951e916ec57e12"}],"nova/tests/unit/virt/libvirt/test_guest.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":278,"context_line":"  \u003con_crash\u003edestroy\u003c/on_crash\u003e"},{"line_number":279,"context_line":"  \u003cdevices\u003e"},{"line_number":280,"context_line":"    \u003cemulator\u003e/usr/bin/qemu\u003c/emulator\u003e"},{"line_number":281,"context_line":"    \u003cdisk type\u003d\u0027block\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":282,"context_line":"      \u003calias name\u003d\"qemu-disk1\"/\u003e"},{"line_number":283,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"},{"line_number":284,"context_line":"      \u003csource dev\u003d\u0027/dev/HostVG/QEMUGuest2\u0027/\u003e"},{"line_number":285,"context_line":"      \u003ctarget dev\u003d\u0027hda\u0027 bus\u003d\u0027ide\u0027/\u003e"},{"line_number":286,"context_line":"      \u003caddress type\u003d\u0027drive\u0027 controller\u003d\u00270\u0027 bus\u003d\u00270\u0027 target\u003d\u00270\u0027 unit\u003d\u00270\u0027/\u003e"},{"line_number":287,"context_line":"    \u003c/disk\u003e"},{"line_number":288,"context_line":"    \u003cdisk type\u003d\u0027network\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":289,"context_line":"      \u003calias name\u003d\"ua-netdisk\"/\u003e"},{"line_number":290,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"c61598d9_ff64b96b","line":287,"range":{"start_line":281,"start_character":0,"end_line":287,"end_character":11},"updated":"2023-11-15 14:09:48.000000000","message":"so is this an nova root disk with images_type\u003dlvm\n\nthat why we are using type\u003d\u0027block\u0027 pointign a a host pat with \n\n/dev/HostVG/QEMUGuest2\n\nit would likelybe more like /dev/mapper/HostVG_QEMUGuest2\nor /dev/dm-0 right in a real system deployment.\n\nfor any cinder volume we would expec the \"ua-\" prefix in the alsiase right\n\nand im infering this is lvm because that is the only iamges_type we support that will use type\u003dblock\n\nperhaps using a qcow2 or raw file might eb a better example but this will work too.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c4dc395b82de709ea58e950ec909c2e9a66c437c","unresolved":true,"context_lines":[{"line_number":278,"context_line":"  \u003con_crash\u003edestroy\u003c/on_crash\u003e"},{"line_number":279,"context_line":"  \u003cdevices\u003e"},{"line_number":280,"context_line":"    \u003cemulator\u003e/usr/bin/qemu\u003c/emulator\u003e"},{"line_number":281,"context_line":"    \u003cdisk type\u003d\u0027block\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":282,"context_line":"      \u003calias name\u003d\"qemu-disk1\"/\u003e"},{"line_number":283,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"},{"line_number":284,"context_line":"      \u003csource dev\u003d\u0027/dev/HostVG/QEMUGuest2\u0027/\u003e"},{"line_number":285,"context_line":"      \u003ctarget dev\u003d\u0027hda\u0027 bus\u003d\u0027ide\u0027/\u003e"},{"line_number":286,"context_line":"      \u003caddress type\u003d\u0027drive\u0027 controller\u003d\u00270\u0027 bus\u003d\u00270\u0027 target\u003d\u00270\u0027 unit\u003d\u00270\u0027/\u003e"},{"line_number":287,"context_line":"    \u003c/disk\u003e"},{"line_number":288,"context_line":"    \u003cdisk type\u003d\u0027network\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":289,"context_line":"      \u003calias name\u003d\"ua-netdisk\"/\u003e"},{"line_number":290,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"c97e4063_7234bcf5","line":287,"range":{"start_line":281,"start_character":0,"end_line":287,"end_character":11},"in_reply_to":"22b0c048_575f8658","updated":"2023-11-16 13:06:01.000000000","message":"oh ok, ya i see now.\n\nno worries i tought you did this intentionally\nto test a specific edgecase.\n\ni agree that we only care about the alias part in this case.\n\nwhen viewing the xml i was tryign to figure out how nova could have resulting in a vm like this as  the last disk has to be a volume but looking at it now i realise\nthat that is also not how nova does iscsi any more.\n\n\nthat is using qemus native iscsi which we nolonger uses since it does not support multi path.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"548e460ddbeb6ff719fc8f878058fc86c235e860","unresolved":true,"context_lines":[{"line_number":278,"context_line":"  \u003con_crash\u003edestroy\u003c/on_crash\u003e"},{"line_number":279,"context_line":"  \u003cdevices\u003e"},{"line_number":280,"context_line":"    \u003cemulator\u003e/usr/bin/qemu\u003c/emulator\u003e"},{"line_number":281,"context_line":"    \u003cdisk type\u003d\u0027block\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":282,"context_line":"      \u003calias name\u003d\"qemu-disk1\"/\u003e"},{"line_number":283,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"},{"line_number":284,"context_line":"      \u003csource dev\u003d\u0027/dev/HostVG/QEMUGuest2\u0027/\u003e"},{"line_number":285,"context_line":"      \u003ctarget dev\u003d\u0027hda\u0027 bus\u003d\u0027ide\u0027/\u003e"},{"line_number":286,"context_line":"      \u003caddress type\u003d\u0027drive\u0027 controller\u003d\u00270\u0027 bus\u003d\u00270\u0027 target\u003d\u00270\u0027 unit\u003d\u00270\u0027/\u003e"},{"line_number":287,"context_line":"    \u003c/disk\u003e"},{"line_number":288,"context_line":"    \u003cdisk type\u003d\u0027network\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":289,"context_line":"      \u003calias name\u003d\"ua-netdisk\"/\u003e"},{"line_number":290,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"22b0c048_575f8658","line":287,"range":{"start_line":281,"start_character":0,"end_line":287,"end_character":11},"in_reply_to":"c61598d9_ff64b96b","updated":"2023-11-15 20:37:43.000000000","message":"I just copied this from the next test down so I\u0027d have a system XML with a disk. Any disagreement with reality is fairly irrelevant for this I think.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":296,"context_line":"      \u003c/source\u003e"},{"line_number":297,"context_line":"      \u003ctarget dev\u003d\u0027vda\u0027 bus\u003d\u0027virtio\u0027/\u003e"},{"line_number":298,"context_line":"    \u003c/disk\u003e"},{"line_number":299,"context_line":"    \u003cdisk type\u003d\u0027network\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":300,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"},{"line_number":301,"context_line":"      \u003csource protocol\u003d\u0027iscsi\u0027 name\u003d\u0027iqn.1992-01.com.example/1\u0027\u003e"},{"line_number":302,"context_line":"        \u003chost name\u003d\u0027example.org\u0027 port\u003d\u00276000\u0027/\u003e"},{"line_number":303,"context_line":"      \u003c/source\u003e"},{"line_number":304,"context_line":"      \u003ctarget dev\u003d\u0027vdb\u0027 bus\u003d\u0027virtio\u0027/\u003e"},{"line_number":305,"context_line":"    \u003c/disk\u003e"},{"line_number":306,"context_line":"    \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027yes\u0027\u003e"},{"line_number":307,"context_line":"      \u003csource\u003e"},{"line_number":308,"context_line":"        \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x06\u0027 slot\u003d\u00270x12\u0027 function\u003d\u00270x5\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"5b0a4f5f_98f720b6","line":305,"range":{"start_line":299,"start_character":3,"end_line":305,"end_character":11},"updated":"2023-11-15 14:09:48.000000000","message":"this is to test the fallback right.\n\nwe will no logner generate element like this but if we were to assume\nthis was a  guest was running before nova was upgraded we obviouly need to support guests that have old xmls.\n\ni dont see this used in this test directly however so maybe this is not needed in this patch","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c4dc395b82de709ea58e950ec909c2e9a66c437c","unresolved":true,"context_lines":[{"line_number":296,"context_line":"      \u003c/source\u003e"},{"line_number":297,"context_line":"      \u003ctarget dev\u003d\u0027vda\u0027 bus\u003d\u0027virtio\u0027/\u003e"},{"line_number":298,"context_line":"    \u003c/disk\u003e"},{"line_number":299,"context_line":"    \u003cdisk type\u003d\u0027network\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":300,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"},{"line_number":301,"context_line":"      \u003csource protocol\u003d\u0027iscsi\u0027 name\u003d\u0027iqn.1992-01.com.example/1\u0027\u003e"},{"line_number":302,"context_line":"        \u003chost name\u003d\u0027example.org\u0027 port\u003d\u00276000\u0027/\u003e"},{"line_number":303,"context_line":"      \u003c/source\u003e"},{"line_number":304,"context_line":"      \u003ctarget dev\u003d\u0027vdb\u0027 bus\u003d\u0027virtio\u0027/\u003e"},{"line_number":305,"context_line":"    \u003c/disk\u003e"},{"line_number":306,"context_line":"    \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027yes\u0027\u003e"},{"line_number":307,"context_line":"      \u003csource\u003e"},{"line_number":308,"context_line":"        \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x06\u0027 slot\u003d\u00270x12\u0027 function\u003d\u00270x5\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"2251b0e4_49894d6b","line":305,"range":{"start_line":299,"start_character":3,"end_line":305,"end_character":11},"in_reply_to":"314efc5e_207e2949","updated":"2023-11-16 13:06:01.000000000","message":"oh ya good point you really only need to test the alisa case due to the transitive coverage form the existing tests.\n\n\nin that case if you respin care to delete this since its not relevent to the test\nim not going to block on this either way just trying to \nkeep the test case short and to the point","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"548e460ddbeb6ff719fc8f878058fc86c235e860","unresolved":true,"context_lines":[{"line_number":296,"context_line":"      \u003c/source\u003e"},{"line_number":297,"context_line":"      \u003ctarget dev\u003d\u0027vda\u0027 bus\u003d\u0027virtio\u0027/\u003e"},{"line_number":298,"context_line":"    \u003c/disk\u003e"},{"line_number":299,"context_line":"    \u003cdisk type\u003d\u0027network\u0027 device\u003d\u0027disk\u0027\u003e"},{"line_number":300,"context_line":"      \u003cdriver name\u003d\u0027qemu\u0027 type\u003d\u0027raw\u0027/\u003e"},{"line_number":301,"context_line":"      \u003csource protocol\u003d\u0027iscsi\u0027 name\u003d\u0027iqn.1992-01.com.example/1\u0027\u003e"},{"line_number":302,"context_line":"        \u003chost name\u003d\u0027example.org\u0027 port\u003d\u00276000\u0027/\u003e"},{"line_number":303,"context_line":"      \u003c/source\u003e"},{"line_number":304,"context_line":"      \u003ctarget dev\u003d\u0027vdb\u0027 bus\u003d\u0027virtio\u0027/\u003e"},{"line_number":305,"context_line":"    \u003c/disk\u003e"},{"line_number":306,"context_line":"    \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027yes\u0027\u003e"},{"line_number":307,"context_line":"      \u003csource\u003e"},{"line_number":308,"context_line":"        \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x06\u0027 slot\u003d\u00270x12\u0027 function\u003d\u00270x5\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"314efc5e_207e2949","line":305,"range":{"start_line":299,"start_character":3,"end_line":305,"end_character":11},"in_reply_to":"5b0a4f5f_98f720b6","updated":"2023-11-15 20:37:43.000000000","message":"No, this is because I copied the XML from the next test down :) We have lots of other tests here that cover the non-alias fallback case.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":303,"context_line":"      \u003c/source\u003e"},{"line_number":304,"context_line":"      \u003ctarget dev\u003d\u0027vdb\u0027 bus\u003d\u0027virtio\u0027/\u003e"},{"line_number":305,"context_line":"    \u003c/disk\u003e"},{"line_number":306,"context_line":"    \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027yes\u0027\u003e"},{"line_number":307,"context_line":"      \u003csource\u003e"},{"line_number":308,"context_line":"        \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x06\u0027 slot\u003d\u00270x12\u0027 function\u003d\u00270x5\u0027/\u003e"},{"line_number":309,"context_line":"      \u003c/source\u003e"},{"line_number":310,"context_line":"    \u003c/hostdev\u003e"},{"line_number":311,"context_line":"    \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027yes\u0027\u003e"},{"line_number":312,"context_line":"      \u003csource\u003e"},{"line_number":313,"context_line":"        \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x06\u0027 slot\u003d\u00270x12\u0027 function\u003d\u00270x6\u0027/\u003e"},{"line_number":314,"context_line":"      \u003c/source\u003e"},{"line_number":315,"context_line":"    \u003c/hostdev\u003e"},{"line_number":316,"context_line":"    \u003cinterface type\u003d\"bridge\"\u003e"},{"line_number":317,"context_line":"      \u003cmac address\u003d\"fa:16:3e:f9:af:ae\"/\u003e"},{"line_number":318,"context_line":"      \u003cmodel type\u003d\"virtio\"/\u003e"},{"line_number":319,"context_line":"      \u003cdriver name\u003d\"qemu\"/\u003e"},{"line_number":320,"context_line":"      \u003csource bridge\u003d\"qbr84008d03-11\"/\u003e"},{"line_number":321,"context_line":"      \u003ctarget dev\u003d\"tap84008d03-11\"/\u003e"},{"line_number":322,"context_line":"    \u003c/interface\u003e"},{"line_number":323,"context_line":"    \u003ccontroller type\u003d\u0027usb\u0027 index\u003d\u00270\u0027/\u003e"},{"line_number":324,"context_line":"    \u003ccontroller type\u003d\u0027pci\u0027 index\u003d\u00270\u0027 model\u003d\u0027pci-root\u0027/\u003e"},{"line_number":325,"context_line":"    \u003cmemballoon model\u003d\u0027none\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf16bea2_a219f788","line":322,"range":{"start_line":306,"start_character":4,"end_line":322,"end_character":16},"updated":"2023-11-15 14:09:48.000000000","message":"this could all be removed if we wanted to make this shorter too but it does not hurt otherwise.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c4dc395b82de709ea58e950ec909c2e9a66c437c","unresolved":false,"context_lines":[{"line_number":303,"context_line":"      \u003c/source\u003e"},{"line_number":304,"context_line":"      \u003ctarget dev\u003d\u0027vdb\u0027 bus\u003d\u0027virtio\u0027/\u003e"},{"line_number":305,"context_line":"    \u003c/disk\u003e"},{"line_number":306,"context_line":"    \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027yes\u0027\u003e"},{"line_number":307,"context_line":"      \u003csource\u003e"},{"line_number":308,"context_line":"        \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x06\u0027 slot\u003d\u00270x12\u0027 function\u003d\u00270x5\u0027/\u003e"},{"line_number":309,"context_line":"      \u003c/source\u003e"},{"line_number":310,"context_line":"    \u003c/hostdev\u003e"},{"line_number":311,"context_line":"    \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027yes\u0027\u003e"},{"line_number":312,"context_line":"      \u003csource\u003e"},{"line_number":313,"context_line":"        \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x06\u0027 slot\u003d\u00270x12\u0027 function\u003d\u00270x6\u0027/\u003e"},{"line_number":314,"context_line":"      \u003c/source\u003e"},{"line_number":315,"context_line":"    \u003c/hostdev\u003e"},{"line_number":316,"context_line":"    \u003cinterface type\u003d\"bridge\"\u003e"},{"line_number":317,"context_line":"      \u003cmac address\u003d\"fa:16:3e:f9:af:ae\"/\u003e"},{"line_number":318,"context_line":"      \u003cmodel type\u003d\"virtio\"/\u003e"},{"line_number":319,"context_line":"      \u003cdriver name\u003d\"qemu\"/\u003e"},{"line_number":320,"context_line":"      \u003csource bridge\u003d\"qbr84008d03-11\"/\u003e"},{"line_number":321,"context_line":"      \u003ctarget dev\u003d\"tap84008d03-11\"/\u003e"},{"line_number":322,"context_line":"    \u003c/interface\u003e"},{"line_number":323,"context_line":"    \u003ccontroller type\u003d\u0027usb\u0027 index\u003d\u00270\u0027/\u003e"},{"line_number":324,"context_line":"    \u003ccontroller type\u003d\u0027pci\u0027 index\u003d\u00270\u0027 model\u003d\u0027pci-root\u0027/\u003e"},{"line_number":325,"context_line":"    \u003cmemballoon model\u003d\u0027none\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"5053a983_173adef5","line":322,"range":{"start_line":306,"start_character":4,"end_line":322,"end_character":16},"in_reply_to":"bf16bea2_a219f788","updated":"2023-11-16 13:06:01.000000000","message":"Ack","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":325,"context_line":"    \u003cmemballoon model\u003d\u0027none\u0027/\u003e"},{"line_number":326,"context_line":"  \u003c/devices\u003e"},{"line_number":327,"context_line":"\u003c/domain\u003e"},{"line_number":328,"context_line":"\"\"\""},{"line_number":329,"context_line":"        self.domain.XMLDesc.return_value \u003d xml"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        dev \u003d self.guest.get_device_by_alias(\u0027qemu-disk1\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f011b12_d99c5b0f","line":328,"updated":"2023-11-15 14:09:48.000000000","message":"i guess this isnt too large but you may want to consier putting this into \nsomething like https://github.com/openstack/nova/blob/master/nova/tests/fixtures/libvirt_data.py\n\nthere is a benifte to havign it inline however in terms of readbility of the test.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c4dc395b82de709ea58e950ec909c2e9a66c437c","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    \u003cmemballoon model\u003d\u0027none\u0027/\u003e"},{"line_number":326,"context_line":"  \u003c/devices\u003e"},{"line_number":327,"context_line":"\u003c/domain\u003e"},{"line_number":328,"context_line":"\"\"\""},{"line_number":329,"context_line":"        self.domain.XMLDesc.return_value \u003d xml"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        dev \u003d self.guest.get_device_by_alias(\u0027qemu-disk1\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7c94c69b_da95d83b","line":328,"in_reply_to":"5f011b12_d99c5b0f","updated":"2023-11-16 13:06:01.000000000","message":"Ack","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        dev \u003d self.guest.get_device_by_alias(\u0027qemu-disk1\u0027)"},{"line_number":332,"context_line":"        self.assertIsInstance(dev, vconfig.LibvirtConfigGuestDisk)"},{"line_number":333,"context_line":"        self.assertEqual(\u0027hda\u0027, dev.target_dev)"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        dev \u003d self.guest.get_device_by_alias(\u0027ua-netdisk\u0027)"},{"line_number":336,"context_line":"        self.assertIsInstance(dev, vconfig.LibvirtConfigGuestDisk)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ec0b9ee_5f2a929c","line":333,"updated":"2023-11-15 14:09:48.000000000","message":"so this is qemu-disk1 because this is the root disk hence we have no uuid for the disk to use.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"c9c9f382c18f310276ebb91f840029a19e029450","unresolved":true,"context_lines":[{"line_number":2718,"context_line":"            fall back to the old way of using the disk_dev."},{"line_number":2719,"context_line":"            \"\"\""},{"line_number":2720,"context_line":"            if volume_uuid is not None:"},{"line_number":2721,"context_line":"                dev_alias \u003d \u0027ua-%s\u0027 % volume_uuid"},{"line_number":2722,"context_line":"                dev \u003d guest.get_device_by_alias("},{"line_number":2723,"context_line":"                    dev_alias,"},{"line_number":2724,"context_line":"                    from_persistent_config\u003dfrom_persistent_config)"}],"source_content_type":"text/x-python","patch_set":1,"id":"98a56911_f5a47376","line":2721,"range":{"start_line":2721,"start_character":29,"end_line":2721,"end_character":32},"updated":"2023-09-26 16:58:18.000000000","message":"I know that is WIP, sorry if it is a bit early. Despite there are few chances the prefix will change, I would put that in a \"constant\" at the beginning.","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a5f8ab74b110d8615de462932f1d5b1feaaa31b6","unresolved":false,"context_lines":[{"line_number":2718,"context_line":"            fall back to the old way of using the disk_dev."},{"line_number":2719,"context_line":"            \"\"\""},{"line_number":2720,"context_line":"            if volume_uuid is not None:"},{"line_number":2721,"context_line":"                dev_alias \u003d \u0027ua-%s\u0027 % volume_uuid"},{"line_number":2722,"context_line":"                dev \u003d guest.get_device_by_alias("},{"line_number":2723,"context_line":"                    dev_alias,"},{"line_number":2724,"context_line":"                    from_persistent_config\u003dfrom_persistent_config)"}],"source_content_type":"text/x-python","patch_set":1,"id":"4a7194a8_8abcd06e","line":2721,"range":{"start_line":2721,"start_character":29,"end_line":2721,"end_character":32},"in_reply_to":"98a56911_f5a47376","updated":"2023-11-15 14:54:48.000000000","message":"Done","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"5d3b7b3c82dc6faf2eff3fb7ceda77b7ae92229c","unresolved":true,"context_lines":[{"line_number":2740,"context_line":"            # volume in _disconnect_volume. Otherwise, the encryptor or volume"},{"line_number":2741,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2742,"context_line":"            volume_id \u003d driver_block_device.get_volume_id(connection_info)"},{"line_number":2743,"context_line":"            get_dev \u003d functools.partial(self._get_guest_disk_device,"},{"line_number":2744,"context_line":"                                        guest,"},{"line_number":2745,"context_line":"                                        disk_dev,"},{"line_number":2746,"context_line":"                                        volume_uuid\u003dvolume_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"aac3a0db_3d5bbcdd","line":2743,"updated":"2023-08-29 15:25:32.000000000","message":"[Adding some of our brief discussion from upstream IRC.]\n\nI first wondered if we should account for both persistent and live (\"transient\") configs. But you noted that we seem to keep both of \u0027em in sync.  So not much else to say here, I guess.\n\nNear as I see, the only place where we seem to check for persistent devices is in _detach_with_retry().","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a5f8ab74b110d8615de462932f1d5b1feaaa31b6","unresolved":false,"context_lines":[{"line_number":2740,"context_line":"            # volume in _disconnect_volume. Otherwise, the encryptor or volume"},{"line_number":2741,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2742,"context_line":"            volume_id \u003d driver_block_device.get_volume_id(connection_info)"},{"line_number":2743,"context_line":"            get_dev \u003d functools.partial(self._get_guest_disk_device,"},{"line_number":2744,"context_line":"                                        guest,"},{"line_number":2745,"context_line":"                                        disk_dev,"},{"line_number":2746,"context_line":"                                        volume_uuid\u003dvolume_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"de44e42c_6db9e17b","line":2743,"in_reply_to":"3f06a8e8_5ca75cf8","updated":"2023-11-15 14:54:48.000000000","message":"Done","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2f0bb187f4fcd3e988dd7525b0cff4647f3693fb","unresolved":true,"context_lines":[{"line_number":2740,"context_line":"            # volume in _disconnect_volume. Otherwise, the encryptor or volume"},{"line_number":2741,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2742,"context_line":"            volume_id \u003d driver_block_device.get_volume_id(connection_info)"},{"line_number":2743,"context_line":"            get_dev \u003d functools.partial(self._get_guest_disk_device,"},{"line_number":2744,"context_line":"                                        guest,"},{"line_number":2745,"context_line":"                                        disk_dev,"},{"line_number":2746,"context_line":"                                        volume_uuid\u003dvolume_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f06a8e8_5ca75cf8","line":2743,"in_reply_to":"aac3a0db_3d5bbcdd","updated":"2023-11-15 14:40:59.000000000","message":"This code does that already (barring the bug above). It\u0027s just buried in the long chain of things that get called from here.","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"5d3b7b3c82dc6faf2eff3fb7ceda77b7ae92229c","unresolved":true,"context_lines":[{"line_number":2743,"context_line":"            get_dev \u003d functools.partial(self._get_guest_disk_device,"},{"line_number":2744,"context_line":"                                        guest,"},{"line_number":2745,"context_line":"                                        disk_dev,"},{"line_number":2746,"context_line":"                                        volume_uuid\u003dvolume_id)"},{"line_number":2747,"context_line":"            self._detach_with_retry("},{"line_number":2748,"context_line":"                guest,"},{"line_number":2749,"context_line":"                instance.uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7cd52d0f_a47a1009","line":2746,"updated":"2023-08-29 15:25:32.000000000","message":"Nice, it looks much less footprint than you anticipated.  \n\nSo your approach shows no DB-related modifications are required here.","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":2743,"context_line":"            get_dev \u003d functools.partial(self._get_guest_disk_device,"},{"line_number":2744,"context_line":"                                        guest,"},{"line_number":2745,"context_line":"                                        disk_dev,"},{"line_number":2746,"context_line":"                                        volume_uuid\u003dvolume_id)"},{"line_number":2747,"context_line":"            self._detach_with_retry("},{"line_number":2748,"context_line":"                guest,"},{"line_number":2749,"context_line":"                instance.uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ab134e1a_62e5fa8c","line":2746,"in_reply_to":"7cd52d0f_a47a1009","updated":"2023-11-15 14:09:48.000000000","message":"im not sure why this would have ever required db chagnes\n\nthat would only have been requried if we were trying to present some sort of stabel ailias across domain recreation but this is purly for our internal use so i dont think tis is requried.\n\n\nwe could have modified the bdm format to add a uuid for non cinder related disk i guess but the bdms are storead in a json blob i bleve so while we might have an object change in that case the db schema would not need to be modifed. we woudl just ahve to do an online migration of the exsitng bdms when we load them to gerenate a uuid if not present.","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a5f8ab74b110d8615de462932f1d5b1feaaa31b6","unresolved":false,"context_lines":[{"line_number":2743,"context_line":"            get_dev \u003d functools.partial(self._get_guest_disk_device,"},{"line_number":2744,"context_line":"                                        guest,"},{"line_number":2745,"context_line":"                                        disk_dev,"},{"line_number":2746,"context_line":"                                        volume_uuid\u003dvolume_id)"},{"line_number":2747,"context_line":"            self._detach_with_retry("},{"line_number":2748,"context_line":"                guest,"},{"line_number":2749,"context_line":"                instance.uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"dd779353_c7226359","line":2746,"in_reply_to":"ab134e1a_62e5fa8c","updated":"2023-11-15 14:54:48.000000000","message":"Done","commit_id":"b69eba4373f1bc984f60c63fc74d6dd72a5528fc"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"76640ef2b666c655ba178e58cbbcce5c57d7b880","unresolved":true,"context_lines":[{"line_number":2737,"context_line":"                return dev"},{"line_number":2738,"context_line":"            LOG.info(\u0027Device %s not found by alias %s, falling back\u0027,"},{"line_number":2739,"context_line":"                        disk_dev, dev_alias)"},{"line_number":2740,"context_line":"        return guest.get_disk(disk_dev)"},{"line_number":2741,"context_line":""},{"line_number":2742,"context_line":"    def detach_volume(self, context, connection_info, instance, mountpoint,"},{"line_number":2743,"context_line":"                      encryption\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"aa6698de_65b039f8","line":2740,"updated":"2023-11-15 08:52:50.000000000","message":"Is it intentional that we don\u0027t pass from_persistent_config forward to get_disk? I think the original code passed that flag.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a5f8ab74b110d8615de462932f1d5b1feaaa31b6","unresolved":false,"context_lines":[{"line_number":2737,"context_line":"                return dev"},{"line_number":2738,"context_line":"            LOG.info(\u0027Device %s not found by alias %s, falling back\u0027,"},{"line_number":2739,"context_line":"                        disk_dev, dev_alias)"},{"line_number":2740,"context_line":"        return guest.get_disk(disk_dev)"},{"line_number":2741,"context_line":""},{"line_number":2742,"context_line":"    def detach_volume(self, context, connection_info, instance, mountpoint,"},{"line_number":2743,"context_line":"                      encryption\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"e9ea4ad4_673f9d1e","line":2740,"in_reply_to":"984144c2_b5f80b96","updated":"2023-11-15 14:54:48.000000000","message":"Done","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":2737,"context_line":"                return dev"},{"line_number":2738,"context_line":"            LOG.info(\u0027Device %s not found by alias %s, falling back\u0027,"},{"line_number":2739,"context_line":"                        disk_dev, dev_alias)"},{"line_number":2740,"context_line":"        return guest.get_disk(disk_dev)"},{"line_number":2741,"context_line":""},{"line_number":2742,"context_line":"    def detach_volume(self, context, connection_info, instance, mountpoint,"},{"line_number":2743,"context_line":"                      encryption\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df343014_db772f38","line":2740,"in_reply_to":"aa6698de_65b039f8","updated":"2023-11-15 14:09:48.000000000","message":"i think we want to ensure we are checkign the active domain contnet so that\nif we retry we will return None if its removed? but very good question.\nwe could pass it true and then leave it to the caller to determin which domain they care about.\nit would be good to add a comment either way.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2f0bb187f4fcd3e988dd7525b0cff4647f3693fb","unresolved":true,"context_lines":[{"line_number":2737,"context_line":"                return dev"},{"line_number":2738,"context_line":"            LOG.info(\u0027Device %s not found by alias %s, falling back\u0027,"},{"line_number":2739,"context_line":"                        disk_dev, dev_alias)"},{"line_number":2740,"context_line":"        return guest.get_disk(disk_dev)"},{"line_number":2741,"context_line":""},{"line_number":2742,"context_line":"    def detach_volume(self, context, connection_info, instance, mountpoint,"},{"line_number":2743,"context_line":"                      encryption\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"984144c2_b5f80b96","line":2740,"in_reply_to":"df343014_db772f38","updated":"2023-11-15 14:40:59.000000000","message":"Hmm, I think gibi is right yeah. This whole functools.partial chaining really obscures what we\u0027re actually calling in a lot of places downstream of this, which also makes the tests more complicated. But yeah I think this needs to pass it along so it works like the previous. I\u0027m probably not noticing because I\u0027m snagging the device by alias first.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"a24cb225b9db760f0c78d158669c12832e7871ba","unresolved":false,"context_lines":[{"line_number":2742,"context_line":"            # worked. Since we call this method after detach is done to"},{"line_number":2743,"context_line":"            # ensure it is gone, we will always \"fall back\" to make sure it"},{"line_number":2744,"context_line":"            # is gone by the \"old way\" and thus shouldn\u0027t announce it."},{"line_number":2745,"context_line":"            LOG.info(\u0027Device %s not found by alias %s, falling back\u0027,"},{"line_number":2746,"context_line":"                        disk_dev, dev_alias)"},{"line_number":2747,"context_line":"        return dev"},{"line_number":2748,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e5f0b31f_3883ce29","line":2745,"updated":"2023-11-15 15:51:34.000000000","message":"for the first runs, it will write a few loglines, but meh.","commit_id":"1ed02d57c064551a77726ab333951e916ec57e12"}],"nova/virt/libvirt/guest.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":414,"context_line":""},{"line_number":415,"context_line":"        return self.get_all_devices(vconfig.LibvirtConfigGuestDisk)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def get_device_by_alias(self, devalias, devtype\u003dNone,"},{"line_number":418,"context_line":"                            from_persistent_config\u003dFalse):"},{"line_number":419,"context_line":"        for dev in self.get_all_devices(devtype):"},{"line_number":420,"context_line":"            if dev.alias \u003d\u003d devalias:"}],"source_content_type":"text/x-python","patch_set":3,"id":"c32b0af5_fc40d535","line":417,"updated":"2023-11-15 14:09:48.000000000","message":"i assume there is not virDomainGetDeviceAlias like function we can use here?\nlike https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDetachDeviceAlias\n\ni was orginally hoping there was but i dont see one quicly lookign at there docs.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c4dc395b82de709ea58e950ec909c2e9a66c437c","unresolved":false,"context_lines":[{"line_number":414,"context_line":""},{"line_number":415,"context_line":"        return self.get_all_devices(vconfig.LibvirtConfigGuestDisk)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def get_device_by_alias(self, devalias, devtype\u003dNone,"},{"line_number":418,"context_line":"                            from_persistent_config\u003dFalse):"},{"line_number":419,"context_line":"        for dev in self.get_all_devices(devtype):"},{"line_number":420,"context_line":"            if dev.alias \u003d\u003d devalias:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bd1ff885_4ffb51f9","line":417,"in_reply_to":"c3200ab0_d1be8df6","updated":"2023-11-16 13:06:01.000000000","message":"Ack","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"8178f0b222db8528c78fef4bbac2b0e5ff331702","unresolved":true,"context_lines":[{"line_number":414,"context_line":""},{"line_number":415,"context_line":"        return self.get_all_devices(vconfig.LibvirtConfigGuestDisk)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def get_device_by_alias(self, devalias, devtype\u003dNone,"},{"line_number":418,"context_line":"                            from_persistent_config\u003dFalse):"},{"line_number":419,"context_line":"        for dev in self.get_all_devices(devtype):"},{"line_number":420,"context_line":"            if dev.alias \u003d\u003d devalias:"}],"source_content_type":"text/x-python","patch_set":3,"id":"c3200ab0_d1be8df6","line":417,"in_reply_to":"c32b0af5_fc40d535","updated":"2023-11-15 15:48:55.000000000","message":"I just asked our virt guys and no, nothing is present or planned for a \u0027get me a guest device from that alias\u0027 feature.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"76640ef2b666c655ba178e58cbbcce5c57d7b880","unresolved":true,"context_lines":[{"line_number":417,"context_line":"    def get_device_by_alias(self, devalias, devtype\u003dNone,"},{"line_number":418,"context_line":"                            from_persistent_config\u003dFalse):"},{"line_number":419,"context_line":"        for dev in self.get_all_devices(devtype):"},{"line_number":420,"context_line":"            if dev.alias \u003d\u003d devalias:"},{"line_number":421,"context_line":"                return dev"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def get_all_devices("}],"source_content_type":"text/x-python","patch_set":3,"id":"96696c70_64238033","line":420,"updated":"2023-11-15 08:52:50.000000000","message":"I guess nova makes sure that the alias is unique per domain as it is derived from the volume uuid and we don\u0027t allow attaching the same volume twice to the same domain. So here if we found a match we can assume there is no other matches in the same domain.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"8178f0b222db8528c78fef4bbac2b0e5ff331702","unresolved":true,"context_lines":[{"line_number":417,"context_line":"    def get_device_by_alias(self, devalias, devtype\u003dNone,"},{"line_number":418,"context_line":"                            from_persistent_config\u003dFalse):"},{"line_number":419,"context_line":"        for dev in self.get_all_devices(devtype):"},{"line_number":420,"context_line":"            if dev.alias \u003d\u003d devalias:"},{"line_number":421,"context_line":"                return dev"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def get_all_devices("}],"source_content_type":"text/x-python","patch_set":3,"id":"db5a3949_a2811d32","line":420,"in_reply_to":"3bc53eb3_160660ad","updated":"2023-11-15 15:48:55.000000000","message":"honestly, while I do understand the concern of the uniqueness, I just think that having some alias derivated from the volume UUID seems quite enough to me.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d26a876f3844a8506008fa8ad9b3413d8d07533","unresolved":true,"context_lines":[{"line_number":417,"context_line":"    def get_device_by_alias(self, devalias, devtype\u003dNone,"},{"line_number":418,"context_line":"                            from_persistent_config\u003dFalse):"},{"line_number":419,"context_line":"        for dev in self.get_all_devices(devtype):"},{"line_number":420,"context_line":"            if dev.alias \u003d\u003d devalias:"},{"line_number":421,"context_line":"                return dev"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def get_all_devices("}],"source_content_type":"text/x-python","patch_set":3,"id":"3bc53eb3_160660ad","line":420,"in_reply_to":"96696c70_64238033","updated":"2023-11-15 14:09:48.000000000","message":"we could use a uuid5 fo the file path for nova created disks to generate a stable unique alias for the root, config and ephemeral disks although since you cant detach any of those that probaly overkeill. and ya we cant attach the same volume, port or share to an instnace twice wo all of those shoudl be unique per domain.","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5972396267c64022d6d6a1f8c1f8cdc4a1a63836","unresolved":false,"context_lines":[{"line_number":417,"context_line":"    def get_device_by_alias(self, devalias, devtype\u003dNone,"},{"line_number":418,"context_line":"                            from_persistent_config\u003dFalse):"},{"line_number":419,"context_line":"        for dev in self.get_all_devices(devtype):"},{"line_number":420,"context_line":"            if dev.alias \u003d\u003d devalias:"},{"line_number":421,"context_line":"                return dev"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def get_all_devices("}],"source_content_type":"text/x-python","patch_set":3,"id":"712c3a02_02008e5c","line":420,"in_reply_to":"db5a3949_a2811d32","updated":"2023-11-16 09:53:12.000000000","message":"Done","commit_id":"af74f780d579086e7042918c6a319dd38ce28c66"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"a24cb225b9db760f0c78d158669c12832e7871ba","unresolved":false,"context_lines":[{"line_number":418,"context_line":"                            from_persistent_config\u003dFalse):"},{"line_number":419,"context_line":"        for dev in self.get_all_devices(devtype):"},{"line_number":420,"context_line":"            if dev.alias \u003d\u003d devalias:"},{"line_number":421,"context_line":"                return dev"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def get_all_devices("},{"line_number":424,"context_line":"        self,"}],"source_content_type":"text/x-python","patch_set":4,"id":"d377bba1_0cd810db","line":421,"updated":"2023-11-15 15:51:34.000000000","message":"here we return the first element found anyway.","commit_id":"1ed02d57c064551a77726ab333951e916ec57e12"}]}
