)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40285ac035ca92d57c246a52f15a6a5590315ad2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3eb5fdb1_1dc05259","updated":"2022-11-18 12:28:15.000000000","message":"it would have been better to put this after the repoducer and bug fix that we need to backport because we cant backport this.","commit_id":"f4ce80b9533582c8b76cf82ba56925d54e6f3f70"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"33e788df72bc897bded5c26d737739338b03d0c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ff482ed7_3f2fec37","updated":"2022-11-25 12:57:19.000000000","message":"I understand that this was agreed upon and not really anything new as we are recreating these ourselves as of today as well, but was there any weight on the libvirt feature to support autostart for mdevs? Would that take care of everything for us?","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"670193d1c31498f8aa2469b91e95153abd6c978c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"28807840_2fc05af8","updated":"2022-11-25 12:57:36.000000000","message":"Perhaps I\u0027m missing some details, I\u0027ll admit I have looked into it only briefly.","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"change_message_id":"757e8fc2965a1690c4338965c2b377b736965b0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"036e7efa_9e5aa7f8","updated":"2023-02-06 13:19:12.000000000","message":"We are also using a series of systemd units to manage/work around the sequencing and start-up delays of the nvidia driver, mdev creation, and subsequent starting of nova-compute. Has anyone shown that it is possible to use the udev approach that is described in this patch on a real system?","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9a7d1157b387b2c84c852a5d317a3eb462e59820","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"57e17b6e_2d81ff12","updated":"2022-11-23 16:59:34.000000000","message":"recheck again the port status is not active after 60 secs","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"41491f4e9f807d7c3d840d5f85a2ff33db942133","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e1eacc7f_e419ee11","updated":"2022-11-24 10:23:03.000000000","message":"recheck again the port status is not active after 60 secs","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6ad2229ffebf5f26e46746548560834c69328515","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f83186ce_bd792aed","updated":"2022-11-23 10:49:18.000000000","message":"recheck volume issue","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"1553af65ab54d122e62724dcf67d2a7d24c0b684","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"986135bc_8aefb412","updated":"2022-11-21 08:57:50.000000000","message":"recheck weirdo port state networking issue","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4a587c368bb2711c64769bc77f04942727465c6f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8048e146_ed0ea145","updated":"2023-02-07 12:34:21.000000000","message":"there are some advanatages to useing a systemd service file to do this so we could consider proviing an exmaple of creating one that will run before the libvirt service start but im ok with the udev approch.\n\ni would like you to remove the tripleo isum of /home/heat-admin as i find that rather confusing hence the -1.\n\ni know why you used that example but if i did not have extra context i would find it rather odd.","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"142256462ea37bead3e6cda2c2376ad073dfd3c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"725e3bfd_26a76de9","in_reply_to":"28807840_2fc05af8","updated":"2022-11-28 11:42:31.000000000","message":"there is a libvirt feature that might be able to auto recreate it but it would depend on how you have libvirt deployed.\n\nit would not work if you deployed libvirt in a contianer today.\nso it would not work for kolla or tripleo\nif you create mdevs with the libvirt node-dev api then it will internally call mdevctl and if you set a persitent flag on the mdev then a udev rule packaged with mdevctl will recreate it on host boot.\n\n\nremoving the auto create capablity that we have today would not preclude adding support for that in the future but currently nova has no depency on mdevctl.\n\nas i said this wont work if libvirt/mdevctl are installed in a continer as the udev rule will not be triggered. you would have to install the udev rule on the host and bindmount the directory where the mdev info is stored form the libvirt contaienr to the host so that the udev rule would work.\n\nin generall i think its better to remove our current support for recreating the mdevs and avoid the extra complixity that woudl be required to enable this fucntionality. however once we have done that if you or other want to propose a small feature to port our use to the node-dev api instead of sysfs thats somethign we could disucss futher.\n\nif you do a classic install where libvirt/mdevctl is installed on the host without contaienrs in the way it would be useful. any contaieriesed installer woudl need ot be modifed seperatly to make this work the same way they have to install ceph-common today to provide the udev rule that names the voulme device with the volume uuid.","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"f17ae3b62b73ebe67b5e30f387720d655e18a409","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1a2dfaac_c3f36442","in_reply_to":"725e3bfd_26a76de9","updated":"2022-12-01 08:50:19.000000000","message":"I understand, thanks for your detailed (as always) response, very appreciated!","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"}],"doc/source/admin/virtual-gpu.rst":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"24b3aaf4d88a64f6df8c6d4103f00c08479e9001","unresolved":true,"context_lines":[{"line_number":97,"context_line":"   .. code-block:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"      #!/bin/sh"},{"line_number":100,"context_line":"      echo 255dda69-54d7-43e9-a01b-3a17b66181ae \u003e /sys/class/mdev_bus/0000:04:00.0/mdev_supported_types/nvidia-319/create"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"   In this example, the PCI device ``0000:04:00.0`` would create a mediated"},{"line_number":103,"context_line":"   device of type ``nvidia-319`` with a ``255dda69-54d7-43e9-a01b-3a17b66181ae`` UUID."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3d16af93_888ffa69","line":100,"range":{"start_line":100,"start_character":11,"end_line":100,"end_character":47},"updated":"2022-11-14 16:10:15.000000000","message":"I\u0027m not really understanding how/why placement/nova are going to pick one of these pre-created devices? Can UUID of mdev device be just random then, generated with uuidgen? For some reason I thought it should be smth meaningful, like VM UUID.","commit_id":"9fc0a1631061e2089be9ccf5ff2b166060eb8501"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"21eea701c5962ec07a8c40eba53a2c4c34f0ddc4","unresolved":true,"context_lines":[{"line_number":97,"context_line":"   .. code-block:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"      #!/bin/sh"},{"line_number":100,"context_line":"      echo 255dda69-54d7-43e9-a01b-3a17b66181ae \u003e /sys/class/mdev_bus/0000:04:00.0/mdev_supported_types/nvidia-319/create"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"   In this example, the PCI device ``0000:04:00.0`` would create a mediated"},{"line_number":103,"context_line":"   device of type ``nvidia-319`` with a ``255dda69-54d7-43e9-a01b-3a17b66181ae`` UUID."}],"source_content_type":"text/x-rst","patch_set":1,"id":"dc54d7a6_e36d3919","line":100,"range":{"start_line":100,"start_character":11,"end_line":100,"end_character":47},"in_reply_to":"3d16af93_888ffa69","updated":"2022-11-16 16:47:20.000000000","message":"No worries, the nova driver finds them by calling libvirt to tell us which mediated devices already exist.\nThen we compare them with all the domains XML to see which ones are currently bound to an instance or just free to be use.","commit_id":"9fc0a1631061e2089be9ccf5ff2b166060eb8501"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4a587c368bb2711c64769bc77f04942727465c6f","unresolved":true,"context_lines":[{"line_number":97,"context_line":"   .. code-block:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"      #!/bin/sh"},{"line_number":100,"context_line":"      echo 255dda69-54d7-43e9-a01b-3a17b66181ae \u003e /sys/class/mdev_bus/0000:04:00.0/mdev_supported_types/nvidia-319/create"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"   In this example, the PCI device ``0000:04:00.0`` would create a mediated"},{"line_number":103,"context_line":"   device of type ``nvidia-319`` with a ``255dda69-54d7-43e9-a01b-3a17b66181ae`` UUID."}],"source_content_type":"text/x-rst","patch_set":1,"id":"34f1c55f_74b6dda3","line":100,"range":{"start_line":100,"start_character":11,"end_line":100,"end_character":47},"in_reply_to":"dc54d7a6_e36d3919","updated":"2023-02-07 12:34:21.000000000","message":"the uuids used by nova are random today.\n\nthey dont have any specific meaning.\n\nwe had the desigin choice to make them persitent and stable across host but chose not to to aovid needing to store the info in the db. as such there is no really meaning in the uuid ites self any more the a pci adress has.\n\nits just the identifier we used to map a vm to an mdev.","commit_id":"9fc0a1631061e2089be9ccf5ff2b166060eb8501"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"61dce1f66c5f8407aec9a82821de1d8e968cd795","unresolved":true,"context_lines":[{"line_number":90,"context_line":"   .. code-block:: console"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"      $ cat /etc/udev/rules.d/60-vgpu.rules"},{"line_number":93,"context_line":"      ACTION\u003d\u003d\"add\", RUN+\u003d\"/bin/sudo /bin/sh /home/heat-admin/vgpu_recreate.sh 2\u0026\u003e1 /home/heat-admin/vgpu.log\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   where the script could be written like this :"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dbfd6541_e8026327","line":93,"updated":"2022-12-30 19:08:27.000000000","message":"i think this udev rule will be triggered for all devices?\nAdditionally, with udev it\u0027s hard to manage dependencies between systemd units.\n\nFor example we use nvidia cards so we need to execute below steps in a following order during boot:\n\n1. enable virtual functions on nvidia GPUs(i.e `/usr/lib/nvidia/sriov-manage -e %i`, it\u0027s handled by nvidia-sriov-manage@.service)\n2. create mdev devices(we created \u0027vgpu-mdev-create.service\u0027 systemd service instead of udev rule)\n3. start nova-compute\n\n\nSo i think it may be better to suggest using systemd unit instead of udev rule in our docs.\nHere you can find our \u0027vgpu-mdev-create.service\u0027 and \u0027nvidia-sriov-manage@.service\u0027 unit definitions: https://paste.openstack.org/show/bU4qYaIySl5y7qEsEWjR/","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4a587c368bb2711c64769bc77f04942727465c6f","unresolved":true,"context_lines":[{"line_number":90,"context_line":"   .. code-block:: console"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"      $ cat /etc/udev/rules.d/60-vgpu.rules"},{"line_number":93,"context_line":"      ACTION\u003d\u003d\"add\", RUN+\u003d\"/bin/sudo /bin/sh /home/heat-admin/vgpu_recreate.sh 2\u0026\u003e1 /home/heat-admin/vgpu.log\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   where the script could be written like this :"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"4b89d351_5f79c258","line":93,"range":{"start_line":93,"start_character":45,"end_line":93,"end_character":60},"updated":"2023-02-07 12:34:21.000000000","message":"i would prefer to now include /home/heat-admin here as that is very ooo specific.\n\nthe script really should be located somewhere else liek /usr/local/bin or /opt/...","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4a587c368bb2711c64769bc77f04942727465c6f","unresolved":true,"context_lines":[{"line_number":90,"context_line":"   .. code-block:: console"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"      $ cat /etc/udev/rules.d/60-vgpu.rules"},{"line_number":93,"context_line":"      ACTION\u003d\u003d\"add\", RUN+\u003d\"/bin/sudo /bin/sh /home/heat-admin/vgpu_recreate.sh 2\u0026\u003e1 /home/heat-admin/vgpu.log\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   where the script could be written like this :"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"17ae3fff_828726b2","line":93,"in_reply_to":"dbfd6541_e8026327","updated":"2023-02-07 12:34:21.000000000","message":"we support generic mdevs so we dont really want to encode vendor speciric info in our docs.\n\nwith that said we could perhaps rference this as an example.","commit_id":"8e5a0b94152c381b547a575773789560fc2a6f49"}]}
