)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1f8c0597_d1fb043b","updated":"2021-11-18 10:47:05.000000000","message":"i am much happier with the current iteration but i think there are still a couple of rough edges.\nnothing major however so maintianign -1 for now.\n","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f188914a76958c5bc42bff77d993ffcfb43a0773","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7e542ba3_ff12452d","updated":"2021-11-03 19:23:19.000000000","message":"just glacned over this quickly.\nill try an review this properly tomorrow but ping me if i dont.\none question inlien regarding the detach state in the in interim.\ntl;dr is under what situation woudl we have a share associated with\na vm that is in the detached state.\n\ncan we maybe get a state diagram for the transtions or a table of what states are valid\nbase on the vm status and/or task state.\n\ni can see sheleve servers as having share attamened in the detach state but would that also apply to powered off servers as i asume we woudl detach the share form the host in that case.\n\ni think there is a usecase for it but it would be nice to detail that in the spec explcitly.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"765b96f21cbaf178f3c187f1afb10ce42b3f87c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a1df1f5c_661c290c","updated":"2021-11-24 11:16:48.000000000","message":"Fun times, pep8 and fast-specs work but docs fails.\n\nFixing now.","commit_id":"1c775e9746fb5aca003a174111bb23c2bb84ff8e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"67b19966_b43e469a","updated":"2021-12-14 11:44:52.000000000","message":"I have couple of small things inline nothing blocking. Would be nice to get a +2 from John as he had comments before. So +1 from me for now. But I can be persuaded to upgrade if John cannot re-review it.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"15db9a07dcee3773647ec8d38fe879e000d29071","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"691fda95_6285a856","updated":"2021-12-14 10:50:02.000000000","message":"Lee is on PTO until next year and I think we iterated enough so we can accept this spec. A follow-up change could just update the spec with some nits if needed and agreed.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"844e5f59_89a142c5","updated":"2021-12-14 20:26:21.000000000","message":"im +1 on this as i think the direction makes sense and im overall happy with the design.\nhowever i do think adding 2 new compute capablity traits makes sense\n\none for virtio filesystem supprot and one for file backed memory support.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"827cccf7021ede2792679ccee3937c769738d37b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0db48646_d439658a","updated":"2022-01-07 15:15:29.000000000","message":"Lee fixed the nits, definitely +2 from me. We can ask for a FUP if needed new concerns.","commit_id":"2cc7d78d7f0f3dcf6bd93afd1e10b76f3848bc82"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2b888f7b7a96290b1bcf9ef7baebbcb44208d559","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"20ccfd6a_82a282ab","updated":"2022-01-11 12:13:33.000000000","message":"Upgrading my vote to +2","commit_id":"2cc7d78d7f0f3dcf6bd93afd1e10b76f3848bc82"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9c5878a6c3f0d433d81def74b7aadf92e5219d24","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d5f40d01_6c8919a0","updated":"2022-01-11 14:17:46.000000000","message":"i also agree this look good.\ni was going hold of on +w to to wait for gibi to review anyway\nso since he approved im going to upgrade to +2","commit_id":"2cc7d78d7f0f3dcf6bd93afd1e10b76f3848bc82"}],"specs/yoga/approved/libvirt-virtiofs-attach-manila-shares.rst":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"At present users must manually connect to and mount shares provided by Manila"},{"line_number":21,"context_line":"within their instances. As a result of this the Manila has to expose details of"},{"line_number":22,"context_line":"the backend storage infrastructure to the user and allow the datapath to flow"},{"line_number":23,"context_line":"over tenant addressable networks into the users instances."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"2ed4b082_3f868307","line":21,"range":{"start_line":21,"start_character":44,"end_line":21,"end_character":55},"updated":"2021-11-16 09:36:03.000000000","message":"nit: either the Manila service, or just \"Manila\"","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"At present users must manually connect to and mount shares provided by Manila"},{"line_number":21,"context_line":"within their instances. As a result of this the Manila has to expose details of"},{"line_number":22,"context_line":"the backend storage infrastructure to the user and allow the datapath to flow"},{"line_number":23,"context_line":"over tenant addressable networks into the users instances."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"58d6bc63_7d082c93","line":21,"range":{"start_line":21,"start_character":44,"end_line":21,"end_character":55},"in_reply_to":"2ed4b082_3f868307","updated":"2021-11-17 10:39:56.000000000","message":"Ack","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This initial implementation will only provide support for attaching a share to"},{"line_number":50,"context_line":"and later detaching a share from a ``SHUTOFF`` instance. The ability to express"},{"line_number":51,"context_line":"attachments during the initial creation of an instance will not be covered by"},{"line_number":52,"context_line":"this spec."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"23e085a3_cb5fcd4d","line":50,"range":{"start_line":50,"start_character":28,"end_line":50,"end_character":56},"updated":"2021-11-16 09:36:03.000000000","message":"I guess this is the only VM state that\u0027s acceptable for the moment, but do you think we could supported SHELVED or STOPPED as viable target states for later ?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This initial implementation will only provide support for attaching a share to"},{"line_number":50,"context_line":"and later detaching a share from a ``SHUTOFF`` instance. The ability to express"},{"line_number":51,"context_line":"attachments during the initial creation of an instance will not be covered by"},{"line_number":52,"context_line":"this spec."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"b34da097_f6d22ce4","line":50,"range":{"start_line":50,"start_character":28,"end_line":50,"end_character":56},"in_reply_to":"21184565_9271eead","updated":"2021-11-24 06:07:57.000000000","message":"There are patches at the moment but nothing landed and nothing will be in our supported distros for this release of OpenStack at least. That\u0027s why I wanted to start with cold attach/detach and then add hot later.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":true,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This initial implementation will only provide support for attaching a share to"},{"line_number":50,"context_line":"and later detaching a share from a ``SHUTOFF`` instance. The ability to express"},{"line_number":51,"context_line":"attachments during the initial creation of an instance will not be covered by"},{"line_number":52,"context_line":"this spec."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a065a11_d0efd1e5","line":50,"range":{"start_line":50,"start_character":28,"end_line":50,"end_character":56},"in_reply_to":"23e085a3_cb5fcd4d","updated":"2021-11-17 10:39:56.000000000","message":"This should actually be STOPPED sorry, I\u0027m forever getting the two confused.\n\nAs for SHELVED, there\u0027s nothing stopping us from doing it I guess. I can add it in.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This initial implementation will only provide support for attaching a share to"},{"line_number":50,"context_line":"and later detaching a share from a ``SHUTOFF`` instance. The ability to express"},{"line_number":51,"context_line":"attachments during the initial creation of an instance will not be covered by"},{"line_number":52,"context_line":"this spec."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"21184565_9271eead","line":50,"range":{"start_line":50,"start_character":28,"end_line":50,"end_character":56},"in_reply_to":"5a065a11_d0efd1e5","updated":"2021-11-18 10:47:05.000000000","message":"what prevents this form working with a runnung guest again\nis it a qemu limitation i tought there were patches for live attach?\n\nand ya shelved makes sense","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":55,"context_line":"be covered by this spec, any requests to evacuate, resize, cold migrate or live"},{"line_number":56,"context_line":"migrate an instance with a share attached will be rejected for the time being."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":59,"context_line":"will list current attachments, show their details and allow a share to be"},{"line_number":60,"context_line":"attached and detached."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"78d5f26a_eac5f682","line":58,"range":{"start_line":58,"start_character":13,"end_line":58,"end_character":23},"updated":"2021-11-16 09:36:03.000000000","message":"nit: we could bikeshed on the name as we were previously prefixing all our related API endpoints from other services by \"os-\" so it could be \"os-shares\" but I\u0027m fine with this name as it\u0027s simple.\n\nhttps://docs.openstack.org/api-ref/compute/","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"be covered by this spec, any requests to evacuate, resize, cold migrate or live"},{"line_number":56,"context_line":"migrate an instance with a share attached will be rejected for the time being."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":59,"context_line":"will list current attachments, show their details and allow a share to be"},{"line_number":60,"context_line":"attached and detached."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"de144710_d12ded1d","line":58,"range":{"start_line":58,"start_character":13,"end_line":58,"end_character":23},"in_reply_to":"78d5f26a_eac5f682","updated":"2021-11-17 10:39:56.000000000","message":"Would be nice if we wrote decisions like dropping `os-` APIs down somewhere eh?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":false,"context_lines":[{"line_number":55,"context_line":"be covered by this spec, any requests to evacuate, resize, cold migrate or live"},{"line_number":56,"context_line":"migrate an instance with a share attached will be rejected for the time being."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":59,"context_line":"will list current attachments, show their details and allow a share to be"},{"line_number":60,"context_line":"attached and detached."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"2a689f0b_2f863ef3","line":58,"range":{"start_line":58,"start_character":13,"end_line":58,"end_character":23},"in_reply_to":"de144710_d12ded1d","updated":"2021-11-18 10:47:05.000000000","message":"ya we are not ment to prefix with os- anymore\nif it was not a client break/extra work for littel benifit we should rename  the exisitng endpoint that have os- but its not really worth the effort.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":56,"context_line":"migrate an instance with a share attached will be rejected for the time being."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":59,"context_line":"will list current attachments, show their details and allow a share to be"},{"line_number":60,"context_line":"attached and detached."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"A new ``share_mapping`` database table and associated ``ShareMapping``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3d997ada_974cf66b","line":59,"range":{"start_line":59,"start_character":18,"end_line":59,"end_character":29},"updated":"2021-11-18 10:47:05.000000000","message":"shares","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":56,"context_line":"migrate an instance with a share attached will be rejected for the time being."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":59,"context_line":"will list current attachments, show their details and allow a share to be"},{"line_number":60,"context_line":"attached and detached."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"A new ``share_mapping`` database table and associated ``ShareMapping``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6acbe3f4_fa3c5a86","line":59,"range":{"start_line":59,"start_character":18,"end_line":59,"end_character":29},"in_reply_to":"3d997ada_974cf66b","updated":"2021-11-24 06:07:57.000000000","message":"Ack","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":71,"context_line":"   aside from export details used to initially attach the share. These details"},{"line_number":72,"context_line":"   later being used when detaching the share. If the share is then reattached"},{"line_number":73,"context_line":"   Nova will request fresh export details from Manila and store these in a"},{"line_number":74,"context_line":"   new share attachment within Nova."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The libvirt driver will be extended to support the above with initial support"},{"line_number":77,"context_line":"for cold attach and detach. Future work will aim to add live attach and detach"}],"source_content_type":"text/x-rst","patch_set":2,"id":"0435eae9_f1023a6c","line":74,"updated":"2021-11-16 09:36:03.000000000","message":"do we want share attachments to be idempotent, ie. do we expect the mount commands to not raise an error if you reattach a share while it\u0027s already attached ?\nIn other words, are we OK with some attachment raising an exception if so ?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":false,"context_lines":[{"line_number":71,"context_line":"   aside from export details used to initially attach the share. These details"},{"line_number":72,"context_line":"   later being used when detaching the share. If the share is then reattached"},{"line_number":73,"context_line":"   Nova will request fresh export details from Manila and store these in a"},{"line_number":74,"context_line":"   new share attachment within Nova."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The libvirt driver will be extended to support the above with initial support"},{"line_number":77,"context_line":"for cold attach and detach. Future work will aim to add live attach and detach"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a2fb5c8d_e035ca85","line":74,"in_reply_to":"0435eae9_f1023a6c","updated":"2021-11-17 10:39:56.000000000","message":"I\u0027m not sure what you\u0027re asking, attempts to reattach and already attached share would be rejected by the API?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"   aside from export details used to initially attach the share. These details"},{"line_number":72,"context_line":"   later being used when detaching the share. If the share is then reattached"},{"line_number":73,"context_line":"   Nova will request fresh export details from Manila and store these in a"},{"line_number":74,"context_line":"   new share attachment within Nova."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The libvirt driver will be extended to support the above with initial support"},{"line_number":77,"context_line":"for cold attach and detach. Future work will aim to add live attach and detach"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dde398d7_73bbdb04","line":74,"in_reply_to":"a2fb5c8d_e035ca85","updated":"2021-11-18 10:47:05.000000000","message":"i think sylvain is asking what happens when we have 2 vms that attach the same share on the same host.\n\nsay 2 vms in  the same server group that exchange data via a common share\n\nwould we mount the share on the host in too localtion i would say yes for now at least","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"   aside from export details used to initially attach the share. These details"},{"line_number":72,"context_line":"   later being used when detaching the share. If the share is then reattached"},{"line_number":73,"context_line":"   Nova will request fresh export details from Manila and store these in a"},{"line_number":74,"context_line":"   new share attachment within Nova."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The libvirt driver will be extended to support the above with initial support"},{"line_number":77,"context_line":"for cold attach and detach. Future work will aim to add live attach and detach"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6df3d734_73d3a6a5","line":74,"in_reply_to":"dde398d7_73bbdb04","updated":"2021-11-24 06:07:57.000000000","message":"Actually no I was going to reuse the share tracking logic we have for NFS/CIFS etc cinder volumes and just mount the share once but track each attachment to it. It\u0027s pretty robust and well tested tbh so there\u0027s no need to write something new here.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":86,"context_line":"within the instance guest OS."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Additionally this initial implementation will require that instances use `file"},{"line_number":89,"context_line":"backed memory`__ via the ``[libvirt]file_backed_memory`` compute service"},{"line_number":90,"context_line":"configurable. This is a requirement of ``virtio-fs`` as the ``virtiofsd``"},{"line_number":91,"context_line":"service uses the ``vhost-user`` protocol to communicate directly with the"},{"line_number":92,"context_line":"underlying guest."}],"source_content_type":"text/x-rst","patch_set":2,"id":"096e4158_37b14c60","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":56},"updated":"2021-11-16 09:36:03.000000000","message":"nit: [libvirt]/file_backed_memory","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"within the instance guest OS."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Additionally this initial implementation will require that instances use `file"},{"line_number":89,"context_line":"backed memory`__ via the ``[libvirt]file_backed_memory`` compute service"},{"line_number":90,"context_line":"configurable. This is a requirement of ``virtio-fs`` as the ``virtiofsd``"},{"line_number":91,"context_line":"service uses the ``vhost-user`` protocol to communicate directly with the"},{"line_number":92,"context_line":"underlying guest."}],"source_content_type":"text/x-rst","patch_set":2,"id":"18adb282_d7fa5379","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":56},"in_reply_to":"096e4158_37b14c60","updated":"2021-11-17 10:39:56.000000000","message":"Ack","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":86,"context_line":"within the instance guest OS."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Additionally this initial implementation will require that instances use `file"},{"line_number":89,"context_line":"backed memory`__ via the ``[libvirt]file_backed_memory`` compute service"},{"line_number":90,"context_line":"configurable. This is a requirement of ``virtio-fs`` as the ``virtiofsd``"},{"line_number":91,"context_line":"service uses the ``vhost-user`` protocol to communicate directly with the"},{"line_number":92,"context_line":"underlying guest."}],"source_content_type":"text/x-rst","patch_set":2,"id":"c927fdce_88ae952b","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":56},"in_reply_to":"0e8e8792_f618524c","updated":"2021-11-24 06:07:57.000000000","message":"ACK I\u0027ll add that in.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":false,"context_lines":[{"line_number":86,"context_line":"within the instance guest OS."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Additionally this initial implementation will require that instances use `file"},{"line_number":89,"context_line":"backed memory`__ via the ``[libvirt]file_backed_memory`` compute service"},{"line_number":90,"context_line":"configurable. This is a requirement of ``virtio-fs`` as the ``virtiofsd``"},{"line_number":91,"context_line":"service uses the ``vhost-user`` protocol to communicate directly with the"},{"line_number":92,"context_line":"underlying guest."}],"source_content_type":"text/x-rst","patch_set":2,"id":"0e8e8792_f618524c","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":56},"in_reply_to":"18adb282_d7fa5379","updated":"2021-11-18 10:47:05.000000000","message":"im -2 on file backed memory only but file backed memory or hugepages im +1\non. i really think we need to add the extra spec i suggested but that can be a spereate spec","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":88,"context_line":"Additionally this initial implementation will require that instances use `file"},{"line_number":89,"context_line":"backed memory`__ via the ``[libvirt]file_backed_memory`` compute service"},{"line_number":90,"context_line":"configurable. This is a requirement of ``virtio-fs`` as the ``virtiofsd``"},{"line_number":91,"context_line":"service uses the ``vhost-user`` protocol to communicate directly with the"},{"line_number":92,"context_line":"underlying guest."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8316e7b2_56f178ff","line":91,"updated":"2021-11-18 10:47:05.000000000","message":"the requirements for vhost-user are mmap shared, open file desctoptor\nand prealloc.  so file backed memory provides that and hugepages provide that. memfd could provide that too if we add it to nova.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":88,"context_line":"Additionally this initial implementation will require that instances use `file"},{"line_number":89,"context_line":"backed memory`__ via the ``[libvirt]file_backed_memory`` compute service"},{"line_number":90,"context_line":"configurable. This is a requirement of ``virtio-fs`` as the ``virtiofsd``"},{"line_number":91,"context_line":"service uses the ``vhost-user`` protocol to communicate directly with the"},{"line_number":92,"context_line":"underlying guest."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"}],"source_content_type":"text/x-rst","patch_set":2,"id":"41ebf391_f06af053","line":91,"in_reply_to":"8316e7b2_56f178ff","updated":"2021-11-24 06:07:57.000000000","message":"Ack","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":96,"context_line":"Future work will look into dropping this requirement and introducing a more"},{"line_number":97,"context_line":"robust way of allowing access to the underlying guest memory via flavor extra"},{"line_number":98,"context_line":"specs and image properties but that is left out of scope for this spec."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Users will be able to mount the attached shares using a mount tag, this is"},{"line_number":101,"context_line":"either the share UUID from Manila or a string provided by the user with their"},{"line_number":102,"context_line":"request to attach the share."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fcc66e7b_7b3e4f5e","line":99,"updated":"2021-11-18 10:47:05.000000000","message":"ack\n\nthat can indeed be a seperate spec","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Future work will look into dropping this requirement and introducing a more"},{"line_number":97,"context_line":"robust way of allowing access to the underlying guest memory via flavor extra"},{"line_number":98,"context_line":"specs and image properties but that is left out of scope for this spec."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Users will be able to mount the attached shares using a mount tag, this is"},{"line_number":101,"context_line":"either the share UUID from Manila or a string provided by the user with their"},{"line_number":102,"context_line":"request to attach the share."}],"source_content_type":"text/x-rst","patch_set":2,"id":"6eb3e497_355f9cb1","line":99,"in_reply_to":"fcc66e7b_7b3e4f5e","updated":"2021-11-24 06:07:57.000000000","message":"Ack","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":137,"context_line":"        \"shares\": ["},{"line_number":138,"context_line":"            {"},{"line_number":139,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":140,"context_line":"                \"status\": \"attached\","},{"line_number":141,"context_line":"                \"mount_tag\": \"foo\""},{"line_number":142,"context_line":"            },"},{"line_number":143,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6a271ab3_a4c85aee","line":140,"range":{"start_line":140,"start_character":27,"end_line":140,"end_character":35},"updated":"2021-11-16 09:36:03.000000000","message":"technically, the share is only attached when the user directly mounts the share by the command.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        \"shares\": ["},{"line_number":138,"context_line":"            {"},{"line_number":139,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":140,"context_line":"                \"status\": \"attached\","},{"line_number":141,"context_line":"                \"mount_tag\": \"foo\""},{"line_number":142,"context_line":"            },"},{"line_number":143,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":2,"id":"41a89608_4842a4c4","line":140,"range":{"start_line":140,"start_character":27,"end_line":140,"end_character":35},"in_reply_to":"31da9f05_71f8821b","updated":"2021-11-18 10:47:05.000000000","message":"i agree with lee here.\n\nits attached on the host not the vm so the attachment is complete once its host mounted and the xml is updated to expose it to the guest.\n\nwe cant monitor the guest mounting the file system form the host as far as im aware and even if we could im not conviced we should expose that in our api.\n\nso i tihnk this example is correct.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        \"shares\": ["},{"line_number":138,"context_line":"            {"},{"line_number":139,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":140,"context_line":"                \"status\": \"attached\","},{"line_number":141,"context_line":"                \"mount_tag\": \"foo\""},{"line_number":142,"context_line":"            },"},{"line_number":143,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":2,"id":"31da9f05_71f8821b","line":140,"range":{"start_line":140,"start_character":27,"end_line":140,"end_character":35},"in_reply_to":"6a271ab3_a4c85aee","updated":"2021-11-17 10:39:56.000000000","message":"Again I disagree, it\u0027s attached to the instance regardless of what the guestOS does with the filesystem within.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":139,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":140,"context_line":"                \"status\": \"attached\","},{"line_number":141,"context_line":"                \"mount_tag\": \"foo\""},{"line_number":142,"context_line":"            },"},{"line_number":143,"context_line":"            {"},{"line_number":144,"context_line":"                \"shareId\": \"e8debdc0-447a-4376-a10a-4cd9122d7986\","},{"line_number":145,"context_line":"                \"status\": \"attached\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"df3d4e3b_935d8e13","line":142,"updated":"2021-11-18 10:47:05.000000000","message":"so i think this spec should also support the device rule tagging feature from the start.\n\ncan we incoperate that in this spec?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":140,"context_line":"                \"status\": \"attached\","},{"line_number":141,"context_line":"                \"mount_tag\": \"foo\""},{"line_number":142,"context_line":"            },"},{"line_number":143,"context_line":"            {"},{"line_number":144,"context_line":"                \"shareId\": \"e8debdc0-447a-4376-a10a-4cd9122d7986\","},{"line_number":145,"context_line":"                \"status\": \"attached\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"7331229f_1098f88d","line":142,"in_reply_to":"df3d4e3b_935d8e13","updated":"2021-11-24 06:07:57.000000000","message":"Yeah that\u0027s fair, the mount_tag is essentially that I\u0027d just need to wire things up into the metadata service as well I guess?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Show details of a specific share attached to an instance."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Return Code(s): 200,400,401,403,404,409"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":".. code-block:: json"},{"line_number":158,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"d9b1fe1e_7a438f6c","line":155,"range":{"start_line":155,"start_character":36,"end_line":155,"end_character":39},"updated":"2021-11-18 10:47:05.000000000","message":"in what cases where you thinking of returnign a 409\n\ni we could use it if the vm is not in a supported state e.g. active is that what you had in mind if not i would proebly remove it","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":true,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Show details of a specific share attached to an instance."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Return Code(s): 200,400,401,403,404,409"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":".. code-block:: json"},{"line_number":158,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"17960eba_c0a1bcfa","line":155,"range":{"start_line":155,"start_character":36,"end_line":155,"end_character":39},"in_reply_to":"d9b1fe1e_7a438f6c","updated":"2021-11-24 06:07:57.000000000","message":"That or the share being in an invalid state?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"91f84222a85a274737c7d7dea54a1a0b60d603b4","unresolved":true,"context_lines":[{"line_number":164,"context_line":"        }"},{"line_number":165,"context_line":"    }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Admins will be able to see details of the attachment id and export location"},{"line_number":168,"context_line":"stored within Nova:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7089863d_fd125a8e","line":167,"range":{"start_line":167,"start_character":0,"end_line":167,"end_character":6},"updated":"2021-11-16 09:37:47.000000000","message":"hah, or any RBAC persona that\u0027s like an admin ;)","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":164,"context_line":"        }"},{"line_number":165,"context_line":"    }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Admins will be able to see details of the attachment id and export location"},{"line_number":168,"context_line":"stored within Nova:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":2,"id":"01723111_30ff5c27","line":167,"range":{"start_line":167,"start_character":0,"end_line":167,"end_character":6},"in_reply_to":"09755aad_d1557fb0","updated":"2021-11-18 10:47:05.000000000","message":"the latest reviesion of the goal is admin will now always be an operator not a end user so admins is actully correct.\n\nthe project admin we have in nova is going to be redefied to be a cloud operator making requests on a project resouce.\n\n\nnova current project admin will become a new project manager role in the future.\n\nso admin will be a reserved term for the operator of the cloud and manager will be the reserved term for the end user that has slightly elevated prviladges.\n\nin this case we would only expose this to admins not managers.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":true,"context_lines":[{"line_number":164,"context_line":"        }"},{"line_number":165,"context_line":"    }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Admins will be able to see details of the attachment id and export location"},{"line_number":168,"context_line":"stored within Nova:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":2,"id":"09755aad_d1557fb0","line":167,"range":{"start_line":167,"start_character":0,"end_line":167,"end_character":6},"in_reply_to":"7089863d_fd125a8e","updated":"2021-11-17 10:39:56.000000000","message":"TBH I\u0027ve not been following the RBAC stuff but yeah whatever that equivalent is going forward. Any docs?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":187,"context_line":"methods to determine when the attachment is complete."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Request body:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"99e35566_fe729609","line":188,"updated":"2021-11-16 09:36:03.000000000","message":"you should explain more here about the return code you\u0027d provide if the related instance is not in SHUTOFF state.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":187,"context_line":"methods to determine when the attachment is complete."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Request body:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8e5de8cf_d05be631","line":188,"in_reply_to":"27e675b7_b1642a13","updated":"2021-11-18 10:47:05.000000000","message":"the only one that was not clear to me is are you going to return a 409 for active instnace or 400\n\ni assume 409\n\n\nalso will we support attaching the same share twice? i assume no and that would be a 400 but it could also be a 409.\n\nthe 404,401 and 403 are self explanitory but 400 and 409 could be explained more.\n\nin the api ref we should explain them more then we have here.\nalso +1 for 202 not 200","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":187,"context_line":"methods to determine when the attachment is complete."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Request body:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d124e592_801ce05a","line":188,"in_reply_to":"8e5de8cf_d05be631","updated":"2021-11-24 06:07:57.000000000","message":"No support for attaching a share twice to the same or different instances. I\u0027ll add a note about 409 now.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":true,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":187,"context_line":"methods to determine when the attachment is complete."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Request body:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"27e675b7_b1642a13","line":188,"in_reply_to":"99e35566_fe729609","updated":"2021-11-17 10:39:56.000000000","message":"I\u0027ll document the pre-reqs but detailing reasons for error codes seems a little over the top no? They should be pretty self explanatory.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"* ``DELETE /servers/{server_id}/shares/{shareId}``"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Detach a share from an instance."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"03cd6667_79802d8c","line":220,"updated":"2021-11-16 09:36:03.000000000","message":"do we accept the share to be detached if the instance is not in SHUTOFF state ?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"* ``DELETE /servers/{server_id}/shares/{shareId}``"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Detach a share from an instance."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"cb8a1e39_9a880560","line":220,"in_reply_to":"03cd6667_79802d8c","updated":"2021-11-17 10:39:56.000000000","message":"No not at the moment, I\u0027ll list that pre-req here.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"* ``DELETE /servers/{server_id}/shares/{shareId}``"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Detach a share from an instance."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"97488165_286f5184","line":220,"in_reply_to":"44158421_62fcce7e","updated":"2021-11-24 06:07:57.000000000","message":"Correct.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"* ``DELETE /servers/{server_id}/shares/{shareId}``"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Detach a share from an instance."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"44158421_62fcce7e","line":220,"in_reply_to":"cb8a1e39_9a880560","updated":"2021-11-18 10:47:05.000000000","message":"again this is a qemu limitation right now correct.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Detach a share from an instance."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"Data model impact"},{"line_number":225,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"03118058_902f6f87","line":222,"updated":"2021-11-16 09:36:03.000000000","message":"do we require the user to unmount the share before deleting the attachment ?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":true,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Detach a share from an instance."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"Data model impact"},{"line_number":225,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7130c9d9_387c9584","line":222,"in_reply_to":"03118058_902f6f87","updated":"2021-11-17 10:39:56.000000000","message":"It\u0027s not required but would be best practice.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Detach a share from an instance."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"Data model impact"},{"line_number":225,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df0705ea_db19dfc3","line":222,"in_reply_to":"6f5502fa_a2dfd604","updated":"2021-11-24 06:07:57.000000000","message":"Right but even when hot unplug is supported I don\u0027t think unmounting is a requirement for virtiofsd to pull the plug on the share.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Detach a share from an instance."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"Data model impact"},{"line_number":225,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6f5502fa_a2dfd604","line":222,"in_reply_to":"7130c9d9_387c9584","updated":"2021-11-18 10:47:05.000000000","message":"well the vm will be off right now so it will be unmounted by the kernel in the guest when the vm shut off","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f188914a76958c5bc42bff77d993ffcfb43a0773","unresolved":true,"context_lines":[{"line_number":233,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* ``status`` - The status of the share attachment within Nova."},{"line_number":236,"context_line":"  - ``detached``"},{"line_number":237,"context_line":"  - ``attaching``"},{"line_number":238,"context_line":"  - ``attached``"},{"line_number":239,"context_line":"  - ``detaching``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d9f14b93_f8fc8f13","line":236,"range":{"start_line":236,"start_character":6,"end_line":236,"end_character":14},"updated":"2021-11-03 19:23:19.000000000","message":"will we ever be in the detached state?\ni would have expected use to delete it in this case.\n\nif we are in a detached state is the transtaiton to/from detach related to the isntance state or does it change in repsonce to an api action.\n\ne.g. will it move to detached on power off or shelve?\nor willl it only go to detached if we explcitly detach the share?\n\nif the later how is the attchment eventually cleaned up?","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":false,"context_lines":[{"line_number":233,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* ``status`` - The status of the share attachment within Nova."},{"line_number":236,"context_line":"  - ``detached``"},{"line_number":237,"context_line":"  - ``attaching``"},{"line_number":238,"context_line":"  - ``attached``"},{"line_number":239,"context_line":"  - ``detaching``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"46d86ad5_eaba0247","line":236,"range":{"start_line":236,"start_character":6,"end_line":236,"end_character":14},"in_reply_to":"327b613a_8e578582","updated":"2021-11-17 10:39:56.000000000","message":"I disagree, it\u0027s attached to the instance regardless of what the guestOS does with the mount. It\u0027s the same for volume attachments.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":false,"context_lines":[{"line_number":233,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* ``status`` - The status of the share attachment within Nova."},{"line_number":236,"context_line":"  - ``detached``"},{"line_number":237,"context_line":"  - ``attaching``"},{"line_number":238,"context_line":"  - ``attached``"},{"line_number":239,"context_line":"  - ``detaching``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"be845f32_69d77b79","line":236,"range":{"start_line":236,"start_character":6,"end_line":236,"end_character":14},"in_reply_to":"46d86ad5_eaba0247","updated":"2021-11-18 10:47:05.000000000","message":"to me this state should reflect if the share is attached to the host or not. i am defining attach ad mounted on the host file system.\n\nso if we shut down the guest vm we would ideally move the share to detached and unmount it form the host and reattach it to the host on boot.\n\nfor hard reboot we could skip that for effency or intentially attach and detatch it to allow hard reboot to be used to fix host mountign issues. e.g. maintain the you can use hard reboot to fix thing usecase","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":false,"context_lines":[{"line_number":233,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* ``status`` - The status of the share attachment within Nova."},{"line_number":236,"context_line":"  - ``detached``"},{"line_number":237,"context_line":"  - ``attaching``"},{"line_number":238,"context_line":"  - ``attached``"},{"line_number":239,"context_line":"  - ``detaching``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"327b613a_8e578582","line":236,"range":{"start_line":236,"start_character":6,"end_line":236,"end_character":14},"in_reply_to":"80d8a619_91ef67c5","updated":"2021-11-16 09:36:03.000000000","message":"Technically, the share isn\u0027t either attached or detached from a Nova perspective. The share is maybe \"mapped\" or \"bound\" to an instance for sure, but the attachment itself will only happen once the user calls the command.\nSame logic goes with detaching.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":233,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* ``status`` - The status of the share attachment within Nova."},{"line_number":236,"context_line":"  - ``detached``"},{"line_number":237,"context_line":"  - ``attaching``"},{"line_number":238,"context_line":"  - ``attached``"},{"line_number":239,"context_line":"  - ``detaching``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"39498f47_3d46cc17","line":236,"range":{"start_line":236,"start_character":6,"end_line":236,"end_character":14},"in_reply_to":"be845f32_69d77b79","updated":"2021-11-24 06:07:57.000000000","message":"This is very much the state of the share as attached to the instance. Actual host state tracking will take place outside of this as we can easily have multiple shares coming from the same underlying mount point on the host as we do for volumes. Again there\u0027s already code in Nova to track this below:\n\nhttps://github.com/openstack/nova/blob/8f250f50446ca2d7aa84609d5144088aa4cded78/nova/virt/libvirt/volume/mount.py#L152-L174","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"d3c24808005cb24d1759c6066015d81067870771","unresolved":false,"context_lines":[{"line_number":233,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* ``status`` - The status of the share attachment within Nova."},{"line_number":236,"context_line":"  - ``detached``"},{"line_number":237,"context_line":"  - ``attaching``"},{"line_number":238,"context_line":"  - ``attached``"},{"line_number":239,"context_line":"  - ``detaching``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"80d8a619_91ef67c5","line":236,"range":{"start_line":236,"start_character":6,"end_line":236,"end_character":14},"in_reply_to":"d9f14b93_f8fc8f13","updated":"2021-11-04 07:30:39.000000000","message":"Yeah I didn\u0027t want to have soft-deleted `detaching` attachment records in the database, so before deletion during a detach these records will flip from `detaching` to `detached`. Likely overkill but meh.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"* ``export_location`` - The export location used to attach the share to the"},{"line_number":246,"context_line":"                        underlying host."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"A new base ``ShareMapping`` versioned object will be introduced to encapsulate"},{"line_number":249,"context_line":"the above database entries and to be used as the parent class of specific virt"},{"line_number":250,"context_line":"driver implementations."}],"source_content_type":"text/x-rst","patch_set":2,"id":"09d43c01_0952e3c4","line":247,"updated":"2021-11-18 10:47:05.000000000","message":"we should add tag for device role tagging","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"* ``export_location`` - The export location used to attach the share to the"},{"line_number":246,"context_line":"                        underlying host."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"A new base ``ShareMapping`` versioned object will be introduced to encapsulate"},{"line_number":249,"context_line":"the above database entries and to be used as the parent class of specific virt"},{"line_number":250,"context_line":"driver implementations."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1c4d5bd0_fbe9bf8b","line":247,"in_reply_to":"09d43c01_0952e3c4","updated":"2021-11-24 06:07:57.000000000","message":"Done","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"This should improve the security model of using Manila by removing the datapath"},{"line_number":263,"context_line":"from tenant networks while also removing the need for users to know details of"},{"line_number":264,"context_line":"the underlying storage environment."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"Notifications impact"},{"line_number":267,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8dd172a2_cc8805eb","line":264,"updated":"2021-11-18 10:47:05.000000000","message":"however that is counter balanced by the fact it will expose the tenats data on the compute host meaning if one guest is compromised and gains access to the host file system it will be able to read data from other instnace on the same host beloging to other tenants.\n\nthis is a new attach vector that would not have existed with the current manial workflow.\n\nas an aside i dont know if selinux or something simialr can be used to restrict the access to speific vms in the future to mitigate this.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":true,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"This should improve the security model of using Manila by removing the datapath"},{"line_number":263,"context_line":"from tenant networks while also removing the need for users to know details of"},{"line_number":264,"context_line":"the underlying storage environment."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"Notifications impact"},{"line_number":267,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf3a80e1_c03c4dc6","line":264,"in_reply_to":"8dd172a2_cc8805eb","updated":"2021-11-24 06:07:57.000000000","message":"I believe that SELinux/sVirt would protect us here by limiting any guest access to the specific path passed into virtiofsd? I\u0027ll run some tests and confirm this.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":true,"context_lines":[{"line_number":273,"context_line":"---------------------"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Users will need to mount the shares within their guestOS using the returned"},{"line_number":276,"context_line":"``mount_tag``."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"Performance Impact"},{"line_number":279,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"510ed5d4_b1ac87c9","line":276,"updated":"2021-11-18 10:47:05.000000000","message":"this should idealoy be discoverable via the metadata api.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":false,"context_lines":[{"line_number":273,"context_line":"---------------------"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Users will need to mount the shares within their guestOS using the returned"},{"line_number":276,"context_line":"``mount_tag``."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"Performance Impact"},{"line_number":279,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f53356cc_9fdaf06a","line":276,"in_reply_to":"510ed5d4_b1ac87c9","updated":"2021-11-24 06:07:57.000000000","message":"Ack","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"856e68346d1d190b16c0593b6a1208e417d05751","unresolved":true,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":298,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":299,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Implementation"},{"line_number":302,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5bbaaef3_b7c97911","line":299,"updated":"2021-11-16 09:36:03.000000000","message":"++\n\nI guess you only accept to use this API only all computes are fully upgraded and Manila is new enough ?\n\nPlease document if so :)","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"50af098345d8db0bdb73d0004e153e9cda08a79e","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":298,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":299,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Implementation"},{"line_number":302,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacec7de_2b49fbfa","line":299,"in_reply_to":"5bbaaef3_b7c97911","updated":"2021-11-17 10:39:56.000000000","message":"I\u0027ve essentially said the first part above, I\u0027ll add a note about Manilla versions.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fdc1a5ac0afd8cc1cd2a8d3815fa285488359ed6","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":298,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":299,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Implementation"},{"line_number":302,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fc3607c6_c983960c","line":299,"in_reply_to":"bacec7de_2b49fbfa","updated":"2021-11-18 10:47:05.000000000","message":"not really. the above can be interpereted that if the host the vm is on is new enough it will work.\n\nare we going to add a min compute service version check to the api or do this as a conductor/api level check on the specific compute service where the vm is hosted.\n\nthat is the difference betwen supporting this after all hosts are upgraded or in a mixed env while we are doiong a rolling upgrade.\n\ni assume this will be a min compute version check since this will require rpc changes.\n\nthe main use of the trait right now i guess will be for unshelve and creating flavors/images that will be able to schdule to host that can have shares attach in the future.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9e483817aa1cb704d9c0d549bb3827693f7707a6","unresolved":true,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":298,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":299,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Implementation"},{"line_number":302,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"2fb7f916_34aae804","line":299,"in_reply_to":"fc3607c6_c983960c","updated":"2021-11-24 06:07:57.000000000","message":"I don\u0027t really see your point here. If we check for the existence of the trait on the compute either hosting the instance or being scheduled to during an unshelve from the API wouldn\u0027t that negate the need for a version check *and* allow such requests to work *during* a rolling upgrade?\n\nFWIW I did this is what I did for bfv rescue:\n\nhttps://github.com/openstack/nova/blob/8f250f50446ca2d7aa84609d5144088aa4cded78/nova/compute/api.py#L4507-L4515\n\nObviously there\u0027s another case to cover here during unshelve that\u0027s going to require a prefilter but I think the logic still works IMHO.","commit_id":"ae840415359df17060e02e5179b7efe5bf66feeb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"15db9a07dcee3773647ec8d38fe879e000d29071","unresolved":true,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This initial implementation will only provide support for attaching a share to"},{"line_number":50,"context_line":"and later detaching a share from an existing ``SHUTOFF`` instance. The ability"},{"line_number":51,"context_line":"to express attachments during the initial creation of an instance will not be"},{"line_number":52,"context_line":"covered by this spec."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3e9fc2b7_0bb10ca3","line":50,"range":{"start_line":50,"start_character":33,"end_line":50,"end_character":65},"updated":"2021-12-14 10:50:02.000000000","message":"ack","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This initial implementation will only provide support for attaching a share to"},{"line_number":50,"context_line":"and later detaching a share from an existing ``SHUTOFF`` instance. The ability"},{"line_number":51,"context_line":"to express attachments during the initial creation of an instance will not be"},{"line_number":52,"context_line":"covered by this spec."},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dfd73b40_be6f7e32","line":50,"range":{"start_line":50,"start_character":33,"end_line":50,"end_character":65},"in_reply_to":"3e9fc2b7_0bb10ca3","updated":"2022-01-04 10:53:28.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"15db9a07dcee3773647ec8d38fe879e000d29071","unresolved":true,"context_lines":[{"line_number":52,"context_line":"covered by this spec."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Support for move operations once a share is attached will also not"},{"line_number":55,"context_line":"be covered by this spec, any requests to shelve, evacuate, resize, cold migrate"},{"line_number":56,"context_line":"or live migrate an instance with a share attached will be rejected for the time"},{"line_number":57,"context_line":"being."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":60,"context_line":"will list current shares, show their details and allow a share to be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"eb18941e_f32ec616","line":57,"range":{"start_line":55,"start_character":39,"end_line":57,"end_character":6},"updated":"2021-12-14 10:50:02.000000000","message":"thanks for adding shelve","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":52,"context_line":"covered by this spec."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Support for move operations once a share is attached will also not"},{"line_number":55,"context_line":"be covered by this spec, any requests to shelve, evacuate, resize, cold migrate"},{"line_number":56,"context_line":"or live migrate an instance with a share attached will be rejected for the time"},{"line_number":57,"context_line":"being."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":60,"context_line":"will list current shares, show their details and allow a share to be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"c4f4dccc_7c85b7a7","line":57,"range":{"start_line":55,"start_character":39,"end_line":57,"end_character":6},"in_reply_to":"39e1b0bc_8406f23d","updated":"2021-12-14 20:26:21.000000000","message":"correct unshleve form shelve would not be a move op although if shleve itslef is not supported because we are not modeling the atchment state in that case in this spec then it makes sense to not differenciate between shelved and shelve_offloaded.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"covered by this spec."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Support for move operations once a share is attached will also not"},{"line_number":55,"context_line":"be covered by this spec, any requests to shelve, evacuate, resize, cold migrate"},{"line_number":56,"context_line":"or live migrate an instance with a share attached will be rejected for the time"},{"line_number":57,"context_line":"being."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":60,"context_line":"will list current shares, show their details and allow a share to be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"0e24fbee_0b446050","line":57,"range":{"start_line":55,"start_character":39,"end_line":57,"end_character":6},"in_reply_to":"c4f4dccc_7c85b7a7","updated":"2022-01-04 10:53:28.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":52,"context_line":"covered by this spec."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Support for move operations once a share is attached will also not"},{"line_number":55,"context_line":"be covered by this spec, any requests to shelve, evacuate, resize, cold migrate"},{"line_number":56,"context_line":"or live migrate an instance with a share attached will be rejected for the time"},{"line_number":57,"context_line":"being."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":60,"context_line":"will list current shares, show their details and allow a share to be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"39e1b0bc_8406f23d","line":57,"range":{"start_line":55,"start_character":39,"end_line":57,"end_character":6},"in_reply_to":"eb18941e_f32ec616","updated":"2021-12-14 11:44:52.000000000","message":"supernit: it is basically unshelve after shelve_offload that triggers a move","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":60,"context_line":"will list current shares, show their details and allow a share to be"},{"line_number":61,"context_line":"attached or detached."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"A new ``share_mapping`` database table and associated ``ShareMapping``"},{"line_number":64,"context_line":"versioned objects will be introduced to capture details of the share"},{"line_number":65,"context_line":"attachment. A base ShareMapping versioned object will be provided from which"},{"line_number":66,"context_line":"virt driver and backend share specific objects can be derived providing"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5776b95b_a35d6839","line":63,"updated":"2021-12-14 20:26:21.000000000","message":"tl;dr you can proably ignore this comment i talked my self out of it.\n\n\nsince you will be exposing this at the api for performance reason we likely dont want to resue the resouce object but have you considerd reusing the generic resouces column in instance extra to store the attachments instead? https://github.com/openstack/nova/blob/master/nova/db/main/models.py#L462\n\nwe use this to mode vpmem and it was intoduced to model abstract resouces on the host and attached to an isntance.\nthe host level modeling is captured in a corresponding resouces table which you do not require in this case but it would potenally allow you to avoid intoducing new database tables.\n\nto consome this you would jsut inherit form the base ResouceMetadata class, as we do for vpmem\nhttps://github.com/openstack/nova/blob/master/nova/objects/resource.py#L88-L110\n\nfor share attachment i think there is more of an argument for intoducing a new table since you will want to index the table based on the share mapping files which this will not support effciently. the resouce metadata is stored as a json blob so that requrie either a very new mariadb to query effecntly or you have to do it in python which is best avoid so this is why i think this is not correct in highsight.\n\n for vGPUs for example if we model them in the db in the futhre the resouce table is likely the correct way to do that but it likely is insufficent for your uscase i just wanted to highlight that it exist for modeling abstract resouce attached to a vm or compute node.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":60,"context_line":"will list current shares, show their details and allow a share to be"},{"line_number":61,"context_line":"attached or detached."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"A new ``share_mapping`` database table and associated ``ShareMapping``"},{"line_number":64,"context_line":"versioned objects will be introduced to capture details of the share"},{"line_number":65,"context_line":"attachment. A base ShareMapping versioned object will be provided from which"},{"line_number":66,"context_line":"virt driver and backend share specific objects can be derived providing"}],"source_content_type":"text/x-rst","patch_set":4,"id":"c1cc104c_1e8cd15a","line":63,"in_reply_to":"5776b95b_a35d6839","updated":"2022-01-04 10:53:28.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":73,"context_line":"   later being used when detaching the share. If the share is then reattached"},{"line_number":74,"context_line":"   Nova will request fresh export details from Manila and store these in a"},{"line_number":75,"context_line":"   new share attachment within Nova."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"The libvirt driver will be extended to support the above with initial support"},{"line_number":78,"context_line":"for cold attach and detach. Future work will aim to add live attach and detach"},{"line_number":79,"context_line":"once `support lands in libvirt itself`__."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5d15510a_2af83fcf","line":76,"updated":"2021-12-14 20:26:21.000000000","message":"ack","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"   later being used when detaching the share. If the share is then reattached"},{"line_number":74,"context_line":"   Nova will request fresh export details from Manila and store these in a"},{"line_number":75,"context_line":"   new share attachment within Nova."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"The libvirt driver will be extended to support the above with initial support"},{"line_number":78,"context_line":"for cold attach and detach. Future work will aim to add live attach and detach"},{"line_number":79,"context_line":"once `support lands in libvirt itself`__."}],"source_content_type":"text/x-rst","patch_set":4,"id":"86821163_5b01aeb4","line":76,"in_reply_to":"5d15510a_2af83fcf","updated":"2022-01-04 10:53:28.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":90,"context_line":"instances use `file backed memory`__ or `huge pages`__. This is a requirement"},{"line_number":91,"context_line":"of `virtio-fs`__ as the ``virtiofsd`` service uses the `vhost-user`__ protocol"},{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":95,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"},{"line_number":96,"context_line":".. __: https://virtio-fs.gitlab.io/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a034bed_0f46d394","line":93,"updated":"2021-12-14 11:44:52.000000000","message":"So I assume that there will be a check in nova to reject attach requests if the instance does not backed by huge pages or file backed memory.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bc48313887f74e257bb31437e88778b5bcd24646","unresolved":true,"context_lines":[{"line_number":90,"context_line":"instances use `file backed memory`__ or `huge pages`__. This is a requirement"},{"line_number":91,"context_line":"of `virtio-fs`__ as the ``virtiofsd`` service uses the `vhost-user`__ protocol"},{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":95,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"},{"line_number":96,"context_line":".. __: https://virtio-fs.gitlab.io/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9b869ab8_0d79e3f9","line":93,"in_reply_to":"32b3481f_57c23231","updated":"2022-01-04 11:24:50.000000000","message":"we could although i think have the file backed memory trait would be useful in the long term.\n if you want to defer it to the introduction of the flavor extra specs for selecting a memory backing type which we already defered to a follow up\nstep then i woudl be ok with making the reporting fo COMPUTE_STORAGE_VIRTIO_FS requrie either hupages on the host or file backed memory in addtion to the libvirt/qemu version check.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":90,"context_line":"instances use `file backed memory`__ or `huge pages`__. This is a requirement"},{"line_number":91,"context_line":"of `virtio-fs`__ as the ``virtiofsd`` service uses the `vhost-user`__ protocol"},{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":95,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"},{"line_number":96,"context_line":".. __: https://virtio-fs.gitlab.io/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"8be8ffe9_314a6c88","line":93,"in_reply_to":"5a034bed_0f46d394","updated":"2021-12-14 20:26:21.000000000","message":"unfortunetly we will not be able to check for file backed memroy at the api level unless we started to expose it as a new comptue capablity trait.\n\nthat would not be much work  just define COMPUTE_MEM_BACKING_FILE\n\nthe add it here https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L399\nand report true/false based on if https://docs.openstack.org/nova/latest/configuration/config.html#libvirt.file_backed_memory is defined.\n\n\na host useing file backed memory does not support hugepages or other memory types its used exclivly for all vms on that host so having a plcement trait to requst or avoid it i think makes sense.\n\nthis is a capablity fo the hypervior not the hardware which is why it should be in the COMPUTE_ namespace in os-traits.\n\ntesting for hugepages is realitivly simple to do at the api we just check if the instance has a numa toplogy object with a hugepage request or check the flaovr/image property hw:mem_page_size/hw_meme_page_size.\n\nso with a slight extention to the spec yes we could block the attachment in the api\nand in te future use a prefilter to land on a host that can supprot the requst on move operations. e.g. if we see it has an attach share and does not use hugepages then we can append  required:COMPUTE_MEM_BACKING_FILE to the request.\n\nthat is beyond the scope of this spec since move ops are out of scope but i think modeling this as a trait makes sense in multiple ways.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7602aef5d8344b9fd1bad3cce53e2f94b8ad0a79","unresolved":false,"context_lines":[{"line_number":90,"context_line":"instances use `file backed memory`__ or `huge pages`__. This is a requirement"},{"line_number":91,"context_line":"of `virtio-fs`__ as the ``virtiofsd`` service uses the `vhost-user`__ protocol"},{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":95,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"},{"line_number":96,"context_line":".. __: https://virtio-fs.gitlab.io/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"a9e570d0_4953252d","line":93,"in_reply_to":"77ad1498_e24b5626","updated":"2022-01-04 14:08:44.000000000","message":"yep that was the main reason i preferd both traits","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":true,"context_lines":[{"line_number":90,"context_line":"instances use `file backed memory`__ or `huge pages`__. This is a requirement"},{"line_number":91,"context_line":"of `virtio-fs`__ as the ``virtiofsd`` service uses the `vhost-user`__ protocol"},{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":95,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"},{"line_number":96,"context_line":".. __: https://virtio-fs.gitlab.io/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"32b3481f_57c23231","line":93,"in_reply_to":"8be8ffe9_314a6c88","updated":"2022-01-04 10:53:28.000000000","message":"I can add this in a respin but couldn\u0027t we just make the initial trait for share attachment conditional on this in addition to the QEMU/libvirt version requirements instead of adding an additional trait just for file backed memory?","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"15a1c3860718ee721ba20de69dcb276321129abb","unresolved":false,"context_lines":[{"line_number":90,"context_line":"instances use `file backed memory`__ or `huge pages`__. This is a requirement"},{"line_number":91,"context_line":"of `virtio-fs`__ as the ``virtiofsd`` service uses the `vhost-user`__ protocol"},{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":95,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"},{"line_number":96,"context_line":".. __: https://virtio-fs.gitlab.io/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"77ad1498_e24b5626","line":93,"in_reply_to":"9b869ab8_0d79e3f9","updated":"2022-01-04 13:49:49.000000000","message":"Apologies, while writing this up I\u0027ve changed my mind and now think that two traits might actually be easier. We can\u0027t know if huge pages will be used until the actual request to attach is made, so we can\u0027t set a single trait on compute service startup.\n\nWith two basic traits for virtiofs and file backed memory we could and then have some additional conditionals in the attach API to handle if huge pages are being used by the instance.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"15db9a07dcee3773647ec8d38fe879e000d29071","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        \"shares\": ["},{"line_number":143,"context_line":"            {"},{"line_number":144,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":145,"context_line":"                \"status\": \"attached\","},{"line_number":146,"context_line":"                \"tag\": \"foo\""},{"line_number":147,"context_line":"            },"},{"line_number":148,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":4,"id":"32e33d22_830876c7","line":145,"updated":"2021-12-14 10:50:02.000000000","message":"fair enough given our discussion on PS2","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        \"shares\": ["},{"line_number":143,"context_line":"            {"},{"line_number":144,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":145,"context_line":"                \"status\": \"attached\","},{"line_number":146,"context_line":"                \"tag\": \"foo\""},{"line_number":147,"context_line":"            },"},{"line_number":148,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":4,"id":"e0f48d0c_3a11d76f","line":145,"in_reply_to":"32e33d22_830876c7","updated":"2022-01-04 10:53:28.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":169,"context_line":"        }"},{"line_number":170,"context_line":"    }"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"Admins will be able to see details of the attachment id and export location"},{"line_number":173,"context_line":"stored within Nova:"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":4,"id":"8ffb81af_8f014924","line":172,"updated":"2021-12-14 11:44:52.000000000","message":"I guess there will be an API policy to configure this.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        }"},{"line_number":170,"context_line":"    }"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"Admins will be able to see details of the attachment id and export location"},{"line_number":173,"context_line":"stored within Nova:"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":4,"id":"eb60adca_513347a3","line":172,"in_reply_to":"10f0c597_13692bd2","updated":"2022-01-04 10:53:28.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":169,"context_line":"        }"},{"line_number":170,"context_line":"    }"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"Admins will be able to see details of the attachment id and export location"},{"line_number":173,"context_line":"stored within Nova:"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":4,"id":"10f0c597_13692bd2","line":172,"in_reply_to":"8ffb81af_8f014924","updated":"2021-12-14 20:26:21.000000000","message":"ya with the new personas it would be project admin since it a project specific resouce and resticted in visablity to operators.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":189,"context_line":"Attach a share to an instance."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":192,"context_line":"methods to determine when the attachment is complete."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"6b1ad79b_96f28078","line":192,"updated":"2021-12-14 11:44:52.000000000","message":"As stated above a prerequisite for this operation is that the server is in SHUTOFF state.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"15a1c3860718ee721ba20de69dcb276321129abb","unresolved":false,"context_lines":[{"line_number":189,"context_line":"Attach a share to an instance."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":192,"context_line":"methods to determine when the attachment is complete."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fc78b055_2facd89c","line":192,"in_reply_to":"6b1ad79b_96f28078","updated":"2022-01-04 13:49:49.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"15db9a07dcee3773647ec8d38fe879e000d29071","unresolved":true,"context_lines":[{"line_number":191,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":192,"context_line":"methods to determine when the attachment is complete."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Request body:"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"8ae1adcd_ec7bc535","line":194,"range":{"start_line":194,"start_character":36,"end_line":194,"end_character":39},"updated":"2021-12-14 10:50:02.000000000","message":"as agreed on PS2, we would like a note about HTTP409 but this can be a FUP","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"15a1c3860718ee721ba20de69dcb276321129abb","unresolved":false,"context_lines":[{"line_number":191,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":192,"context_line":"methods to determine when the attachment is complete."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Request body:"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"b06bb88f_d7c42911","line":194,"range":{"start_line":194,"start_character":36,"end_line":194,"end_character":39},"in_reply_to":"8ae1adcd_ec7bc535","updated":"2022-01-04 13:49:49.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"* ``DELETE /servers/{server_id}/shares/{shareId}``"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Detach a share from an instance."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"12c8f1f7_91889b4f","line":225,"updated":"2021-12-14 11:44:52.000000000","message":"this also require that the instance is in SHUTOFF state","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"15a1c3860718ee721ba20de69dcb276321129abb","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"* ``DELETE /servers/{server_id}/shares/{shareId}``"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Detach a share from an instance."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5d670fab_e57c3463","line":225,"in_reply_to":"12c8f1f7_91889b4f","updated":"2022-01-04 13:49:49.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"15db9a07dcee3773647ec8d38fe879e000d29071","unresolved":true,"context_lines":[{"line_number":238,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"* ``status`` - The status of the share attachment within Nova."},{"line_number":241,"context_line":"  - ``detached``"},{"line_number":242,"context_line":"  - ``attaching``"},{"line_number":243,"context_line":"  - ``attached``"},{"line_number":244,"context_line":"  - ``detaching``"}],"source_content_type":"text/x-rst","patch_set":4,"id":"2d723eac_fa198579","line":241,"updated":"2021-12-14 10:50:02.000000000","message":"again, fair enough about the naming","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"15a1c3860718ee721ba20de69dcb276321129abb","unresolved":false,"context_lines":[{"line_number":238,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"* ``status`` - The status of the share attachment within Nova."},{"line_number":241,"context_line":"  - ``detached``"},{"line_number":242,"context_line":"  - ``attaching``"},{"line_number":243,"context_line":"  - ``attached``"},{"line_number":244,"context_line":"  - ``detaching``"}],"source_content_type":"text/x-rst","patch_set":4,"id":"77b89ff5_582a6ca2","line":241,"in_reply_to":"2d723eac_fa198579","updated":"2022-01-04 13:49:49.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":267,"context_line":"This should improve the security model of using Manila by removing the datapath"},{"line_number":268,"context_line":"from tenant networks while also removing the need for users to know details of"},{"line_number":269,"context_line":"the underlying storage environment."},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"Notifications impact"},{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fd9f2388_442ebf3d","line":270,"updated":"2021-12-14 11:44:52.000000000","message":"As far as I understand the export_location might contains auth credentials so\n1) nova needs to be careful not to log such creds or return it in exception messages\n2) nova needs to provide a way to refresh such creds. I think in the current proposal it can be done by detaching and attaching the share which is fine for me.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":267,"context_line":"This should improve the security model of using Manila by removing the datapath"},{"line_number":268,"context_line":"from tenant networks while also removing the need for users to know details of"},{"line_number":269,"context_line":"the underlying storage environment."},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"Notifications impact"},{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"adc459dc_ae5f5326","line":270,"in_reply_to":"2b7586c8_8ffcb73f","updated":"2022-01-04 10:53:28.000000000","message":"I can add a note about the export_location logging etc here and yes either a hard reboot or detach and reattach will refresh creds.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":267,"context_line":"This should improve the security model of using Manila by removing the datapath"},{"line_number":268,"context_line":"from tenant networks while also removing the need for users to know details of"},{"line_number":269,"context_line":"the underlying storage environment."},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"Notifications impact"},{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"2b7586c8_8ffcb73f","line":270,"in_reply_to":"fd9f2388_442ebf3d","updated":"2021-12-14 20:26:21.000000000","message":"well i agree we should not log credentials in general but the user can also get teh atachment info form the manila api.\n\nadding this feature would nto prevent users form still geting the atachmet info for the share and mounting it themselve. manilla cannot remvoe this capablity in the futre since it still need to support ironic and stand alone usecase.\n\nthe important thing is that going forwad operators do not need to allow acess to the strage backedn form the tenants network they can restrict it to the openstack contolpalne/storage network so only the compute host can connect to it not the vms.\n\nregarding refeshing them i think a hard reboot should be sufficent.\nthat shoudl unmount and remount the share on the host.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":271,"context_line":"Notifications impact"},{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":275,"context_line":"share to an instance."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Other end user impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3e639610_be360a3d","line":274,"range":{"start_line":274,"start_character":4,"end_line":274,"end_character":17},"updated":"2021-12-14 11:44:52.000000000","message":"nit: versioned notifications","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":271,"context_line":"Notifications impact"},{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":275,"context_line":"share to an instance."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Other end user impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"e8fb7e70_301f634b","line":274,"range":{"start_line":274,"start_character":4,"end_line":274,"end_character":17},"in_reply_to":"3e639610_be360a3d","updated":"2022-01-04 10:53:28.000000000","message":"Ack","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":275,"context_line":"share to an instance."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Other end user impact"},{"line_number":278,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"b524cec2_b881a45c","line":275,"updated":"2021-12-14 11:44:52.000000000","message":"Probably a direct mapping from the ShareMapping to the notification payload would be OK. But we have to think about if we want to expose export_location in the notification payload or not","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":275,"context_line":"share to an instance."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Other end user impact"},{"line_number":278,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"e91b371d_51316fc1","line":275,"in_reply_to":"b524cec2_b881a45c","updated":"2021-12-14 20:26:21.000000000","message":"is this something we would want to filter like teh current filtering we do wit bdms with a config option to choose if its included?\n\nin generall i woudl think we likely do not want to include it by default.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":275,"context_line":"share to an instance."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Other end user impact"},{"line_number":278,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"597c8c43_5ce47293","line":275,"in_reply_to":"e91b371d_51316fc1","updated":"2022-01-04 10:53:28.000000000","message":"Yeah I don\u0027t think we want to include the export_location at all in the payload, I don\u0027t think we include connection_info with bdms.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"15db9a07dcee3773647ec8d38fe879e000d29071","unresolved":true,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":303,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":304,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"Implementation"},{"line_number":307,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"6a792e64_38e74b3c","line":304,"updated":"2021-12-14 10:50:02.000000000","message":"as we agreed on PS2, we just need a note on Manila versioning, but this can be a FUP","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":303,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":304,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"Implementation"},{"line_number":307,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f2e8499_1028aa4f","line":304,"in_reply_to":"30d64f86_073b5595","updated":"2022-01-04 10:53:28.000000000","message":"As above for now I think we can get away with a single trait users can either use in their initial request *or* n-api can use later to ensure n-cpu is able to handle the initial attach request.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":303,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":304,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"Implementation"},{"line_number":307,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"30d64f86_073b5595","line":304,"in_reply_to":"6a792e64_38e74b3c","updated":"2021-12-14 20:26:21.000000000","message":"we likely should also report virtio-fs supprot as a compute capablity trait in addtion to the file backed memory trait i mention previously.\n\nCOMPUTE_STORAGE_VIRTIO_FS\nhttps://github.com/openstack/os-traits/blob/master/os_traits/compute/storage.py\n\nthat way in your vm image or flavor you can requst a host that supprot this feature when booting the vm or moving it in the future.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bc48313887f74e257bb31437e88778b5bcd24646","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":303,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":304,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"Implementation"},{"line_number":307,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5011f1b3_05d7e043","line":304,"in_reply_to":"7f2e8499_1028aa4f","updated":"2022-01-04 11:24:50.000000000","message":"yes if we make reporting COMPUTE_STORAGE_VIRTIO_FS condtional on the libvirt/qemu version and either file backed memory or hugepages then we can have just one trait.\n\ni think having two traits is cleaner but we could always add the second trait later if we want too for file backed memory.\nsince we cant remove traits im ok with deferring the file backed memory trait until we need it for the sake of scope.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":310,"context_line":"-----------"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"Primary assignee:"},{"line_number":313,"context_line":"  lyarwood"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"Other contributors:"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"78117347_2a757952","line":313,"updated":"2021-12-14 11:44:52.000000000","message":"We probably need one extra driver due to Lee\u0027s changing assignments.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"40d2465fad4beb82d77245215c2d1c6a6d135246","unresolved":true,"context_lines":[{"line_number":310,"context_line":"-----------"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"Primary assignee:"},{"line_number":313,"context_line":"  lyarwood"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"Other contributors:"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"8a98f41c_10b0ff53","line":313,"in_reply_to":"78117347_2a757952","updated":"2021-12-14 20:26:21.000000000","message":"yes am we are still trying to determin who will take this over.\n\nif this endup going to next cycle i would not mind picking this up from lee but i likely wont have time to work on it this cycle so i wont commit my name for now.\n\ni expect that we will wait for lee to be back in january to do the hand over and idetify who will work on it with lee this cycle.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":310,"context_line":"-----------"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"Primary assignee:"},{"line_number":313,"context_line":"  lyarwood"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"Other contributors:"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"766aaa75_60c850bd","line":313,"in_reply_to":"8a98f41c_10b0ff53","updated":"2022-01-04 10:53:28.000000000","message":"Yup I\u0027ll try to work that out this week before anything is merged.","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df709e6b58ec62679a1a922167d08dfe0b8f8b28","unresolved":true,"context_lines":[{"line_number":336,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"- Functional libvirt driver and API tests"},{"line_number":339,"context_line":"- Integration Tempest tests"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"Documentation Impact"},{"line_number":342,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"62463d7e_9a233238","line":339,"updated":"2021-12-14 11:44:52.000000000","message":"+100","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ea7956cac532c2a9d079d37852744c0fbea67e4b","unresolved":false,"context_lines":[{"line_number":336,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"- Functional libvirt driver and API tests"},{"line_number":339,"context_line":"- Integration Tempest tests"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"Documentation Impact"},{"line_number":342,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"eea77209_f674cf96","line":339,"in_reply_to":"62463d7e_9a233238","updated":"2022-01-04 10:53:28.000000000","message":"Done","commit_id":"5d73b6fc21858c9cf113e2922f4ed37739ea0c95"}],"specs/yoga/approved/manila.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"62fd2dcf8a6bdfc7c85c9146a8392ad13534b3b5","unresolved":true,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"TODO - break the following into more manageable sections."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"This initial implementation will only provide support for attaching a share"},{"line_number":62,"context_line":"to and later detaching a share from an instance. The ability to express"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c87c2177_d73ef50b","line":59,"updated":"2021-10-22 13:24:51.000000000","message":"How to we track access nova as requested to a share? e.g. create a cephex key?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3ce199a7b1ba6634cda269b5a83af1d23778233","unresolved":false,"context_lines":[{"line_number":94,"context_line":"complex CephFS backends within Manila. Shares will be mapped through to the"},{"line_number":95,"context_line":"underlying libvirt domains using ``virtio-fs``."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"TODO - Add required versions and more details on vhost-user reqs here."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Users will be able to mount the attached shares using a mount tag they either"},{"line_number":100,"context_line":"provide with their request to attach the share or that is auto generated and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c1ef7cf3_ed2253a1","line":97,"range":{"start_line":97,"start_character":0,"end_line":97,"end_character":70},"updated":"2021-10-26 13:07:50.000000000","message":"one of the requirement for vhost-user is that the memory of the vm is mmap shared, preallocated and has an open file descritor.\n\nthere are a few ways to do this but only some are currently supported in openstack.\nyou can use file backed memory which is enabled via the nova config option or you can use hugepage mameory which is enabeld using hw:mem_page_size\u003dlarge\n\nthe qemu/libvirt exampels use memorry backed memfd with access mode shared.\n\nbecause of these reqirements we cannot live add the file share to an existing vm unless they were booted with the correct memory backing\n\ni see a few options to adress this.\n\nfirst we coudl requrie the use of hugepages or file backed memory\nsecond we can extend hw:mem_page_size\n    That could either be done by redefineing hw_mem_page_size\u003dsmall to mean memfd which would be nice as that woudl also \n    allow ovs-dpdk/vhost-user networkign to work without hugepages or we could add a new hw_mem_page_size\u003dmemfd\nthrid we coudl add a new hw:mem_backing_type\u003dannomous|file|memfd|hugepages extra spec to opt into it.\n    hw:mem_backing_type\u003dannomous woudl be effectivly what we have today if you do nothing\n    hw:mem_backing_type\u003dfile would add a required compute capablity trait  to land on a host with file backed memory\n    hw:mem_backing_type\u003dhugepages would just be an alias for hw:mem_page_size\u003dlarge\n    hw:mem_backing_type\u003dmemfd would be this new memory backing and can be used for schduleing via a compute capablity trait.\n\n4 we could just always use memfd when not using file or hugepage backed memory.\n\n\nusing memfd has some minor security consideration in that its much simpler if you have host acess to access the memory fo the guest but if you care about that you should use SEV or similar to encypt the guest.\n\n\n\neach of the 4 options have pros and cons.\n\nrequireign hugepages or file backed memory will be the least amoutn of work but that will also mean that to use this featre your vms must have a numa toplogy  in the case of hugepages even if that is only a numa toplogy of one numa node and will not be able to oversubsibe its memory in both cases.\n\nextending the mem_page_size extra spec/image property with a new memfd value could work but its a little odd since its not related to the memoy size it would still be useing  4k pages and altering the meaning of small to mean memfd means that we could have upgrade/live migration issues so i think that is best avoided.\n\ni thinik adding hw:mem_backing_type is the most explict approch and while it might not be the most intuitive descis to require a new extra spec to be set to use this i think its the cleanest\nmemfd backed guest do not need to have an explict numa toplogy or numa affintiy from a qemu point of view so \nhw:mem_backing_type\u003dmemfd would not need to force numa semantics on the vm. it would avoid any live migration issues\non upgrades but does require the flavors/images to be altered to use this freature which i think is its only real downside.\n\nthe final option of just use memfd always if you dont use hugepage or file backed memory i think is also compleing\nthe main issue that will have is for upgrades. when we upgrade form xena to yoga and live migrate a normal vm with out any extra specs the sorce(xena) host will generate the dest xml without the memfd elements, that will get fixed when the vm is hard rebooted but until then it will not be able to do the attach. we proably can detect that and return an api error (409) indicating that they need to hard reboot the vm and try again but we just need to capture that in this spec and document it for operators if we go this route. the main disadvantage to this si there is no explict schuling in this approch so if you are in a mix xena/yoga env you wont be sure that this will work until you fully upgrade.\n\n\nnot that im not sure \"just using\" memfd will be a viable option as we will have to confirm if that will disable oversubsrciton or not. it will not require us to numa affine the guest but we need to consider if it has any other impact before we just turn it on which is why im leanting towords hw:mem_backing_type unless we have done some testing with memfd and fully understand its behavior.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"dcff993f5caa3b64fecfcb76e2db536c036ab33b","unresolved":true,"context_lines":[{"line_number":94,"context_line":"complex CephFS backends within Manila. Shares will be mapped through to the"},{"line_number":95,"context_line":"underlying libvirt domains using ``virtio-fs``."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"TODO - Add required versions and more details on vhost-user reqs here."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Users will be able to mount the attached shares using a mount tag they either"},{"line_number":100,"context_line":"provide with their request to attach the share or that is auto generated and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"90c0bbdd_a75500be","line":97,"range":{"start_line":97,"start_character":0,"end_line":97,"end_character":70},"in_reply_to":"c1ef7cf3_ed2253a1","updated":"2021-11-03 11:58:33.000000000","message":"For now I think this initial cold attach/detach implementation can just depend on file_backed_memory, I\u0027ll write up mem_backing_type as a separate spec and we could potentially switch to it in the future when we introduce live attach/detach?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"19e430630025a65477a4c703cba3eb02c27212b4","unresolved":true,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Users will be able to mount the attached shares using a mount tag they either"},{"line_number":100,"context_line":"provide with their request to attach the share or that is auto generated and"},{"line_number":101,"context_line":"returned to them in the response of that request."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"A previously discussed ``os-share`` library will not be created with this"},{"line_number":104,"context_line":"initial implementation but could be in the future if the logic required to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"41d5f652_516b1456","line":101,"updated":"2021-10-22 13:13:09.000000000","message":"Nit: would be nice to an example mount command we want the user to do.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"dcff993f5caa3b64fecfcb76e2db536c036ab33b","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Users will be able to mount the attached shares using a mount tag they either"},{"line_number":100,"context_line":"provide with their request to attach the share or that is auto generated and"},{"line_number":101,"context_line":"returned to them in the response of that request."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"A previously discussed ``os-share`` library will not be created with this"},{"line_number":104,"context_line":"initial implementation but could be in the future if the logic required to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"24fe896f_33ef6be9","line":101,"in_reply_to":"41d5f652_516b1456","updated":"2021-11-03 11:58:33.000000000","message":"Done","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"62fd2dcf8a6bdfc7c85c9146a8392ad13534b3b5","unresolved":true,"context_lines":[{"line_number":111,"context_line":"------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"The only alternative is to continue with the current situation where users must"},{"line_number":114,"context_line":"mount the shares within their instances manually."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"REST API impact"},{"line_number":117,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1df20c3f_15a2271e","line":114,"updated":"2021-10-22 13:24:51.000000000","message":"Nit: the downside is requiring users to have access to the storage network.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"dcff993f5caa3b64fecfcb76e2db536c036ab33b","unresolved":false,"context_lines":[{"line_number":111,"context_line":"------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"The only alternative is to continue with the current situation where users must"},{"line_number":114,"context_line":"mount the shares within their instances manually."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"REST API impact"},{"line_number":117,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"549a810b_c69bb66d","line":114,"in_reply_to":"1df20c3f_15a2271e","updated":"2021-11-03 11:58:33.000000000","message":"Ack","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"19e430630025a65477a4c703cba3eb02c27212b4","unresolved":true,"context_lines":[{"line_number":119,"context_line":"A new server level ``os-share_attachments`` API will be introduced under a new"},{"line_number":120,"context_line":"microversion with the following methods:"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* GET ``/servers/{server_id}/os-share_attachments``"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"List all shares attached to an instance."},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e534f709_0ebedb7c","line":122,"updated":"2021-10-22 13:13:09.000000000","message":"Nit: didn\u0027t we want to drop the \"os-\" bit for new things?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":false,"context_lines":[{"line_number":119,"context_line":"A new server level ``os-share_attachments`` API will be introduced under a new"},{"line_number":120,"context_line":"microversion with the following methods:"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* GET ``/servers/{server_id}/os-share_attachments``"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"List all shares attached to an instance."},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f8ed05e7_d0ac2146","line":122,"in_reply_to":"d775bdfa_fcbf7f3b","updated":"2021-11-01 11:39:52.000000000","message":"ACK, yeah I don\u0027t mind dropping it here.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3ce199a7b1ba6634cda269b5a83af1d23778233","unresolved":true,"context_lines":[{"line_number":119,"context_line":"A new server level ``os-share_attachments`` API will be introduced under a new"},{"line_number":120,"context_line":"microversion with the following methods:"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* GET ``/servers/{server_id}/os-share_attachments``"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"List all shares attached to an instance."},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d775bdfa_fcbf7f3b","line":122,"in_reply_to":"e534f709_0ebedb7c","updated":"2021-10-26 13:07:50.000000000","message":"am im not sure if we did or not but i think it makes sense to \nso just\n\nGET ``/servers/{server_id}/share_attachments``\n\ni guess which i think looks nicer","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e9fd027e57eec21b1c7ed2beb38e874ded32d6d9","unresolved":true,"context_lines":[{"line_number":130,"context_line":"    {"},{"line_number":131,"context_line":"        \"shareAttachments\": ["},{"line_number":132,"context_line":"            {"},{"line_number":133,"context_line":"                \"id\": \"227cc671-f30b-4488-96fd-7d0bf13648d8\","},{"line_number":134,"context_line":"                \"serverId\": \"d5e4ae35-ac0e-4311-a8c5-0ee863e951d9\","},{"line_number":135,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":136,"context_line":"                \"status\": \"attached\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"1d2c5fc0_37d21b97","line":133,"updated":"2021-10-22 13:36:09.000000000","message":"Do we need read vs read/write here?\n\nIf we create the cephx key dynamically, does it matter if nova deletes that or someone else deletes that?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    {"},{"line_number":131,"context_line":"        \"shareAttachments\": ["},{"line_number":132,"context_line":"            {"},{"line_number":133,"context_line":"                \"id\": \"227cc671-f30b-4488-96fd-7d0bf13648d8\","},{"line_number":134,"context_line":"                \"serverId\": \"d5e4ae35-ac0e-4311-a8c5-0ee863e951d9\","},{"line_number":135,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":136,"context_line":"                \"status\": \"attached\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"0efac9d6_66ea1119","line":133,"in_reply_to":"1d2c5fc0_37d21b97","updated":"2021-11-01 11:39:52.000000000","message":"AFAICT Manila doesn\u0027t expose anyway of making the actual shares read-only etc so I wasn\u0027t going to allow Nova to somehow control this here. Maybe a fup feature if people need it?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"62fd2dcf8a6bdfc7c85c9146a8392ad13534b3b5","unresolved":true,"context_lines":[{"line_number":134,"context_line":"                \"serverId\": \"d5e4ae35-ac0e-4311-a8c5-0ee863e951d9\","},{"line_number":135,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":136,"context_line":"                \"status\": \"attached\","},{"line_number":137,"context_line":"                \"mount_tag\": \"foo\""},{"line_number":138,"context_line":"            },"},{"line_number":139,"context_line":"            {"},{"line_number":140,"context_line":"                \"id\": \"715335c1-7a00-4dfe-82df-9dc2a67bd8bf\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"dbfbdf13_0f60e45d","line":137,"updated":"2021-10-22 13:24:51.000000000","message":"I like the idea sean suggested, where we always add a tag matching the shareid, very similar to with cinder volumes.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":true,"context_lines":[{"line_number":134,"context_line":"                \"serverId\": \"d5e4ae35-ac0e-4311-a8c5-0ee863e951d9\","},{"line_number":135,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":136,"context_line":"                \"status\": \"attached\","},{"line_number":137,"context_line":"                \"mount_tag\": \"foo\""},{"line_number":138,"context_line":"            },"},{"line_number":139,"context_line":"            {"},{"line_number":140,"context_line":"                \"id\": \"715335c1-7a00-4dfe-82df-9dc2a67bd8bf\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fdc7dd2_d0701946","line":137,"in_reply_to":"497798c4_2e014bab","updated":"2021-11-01 11:39:52.000000000","message":"I need to look into this to ensure we have enough space for the complete UUID when virtiofs passes the label into the guestOS.\n\nIn the past we ran into various libvirt issues when passing the volume UUID in as the serial for block devices etc.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3ce199a7b1ba6634cda269b5a83af1d23778233","unresolved":true,"context_lines":[{"line_number":134,"context_line":"                \"serverId\": \"d5e4ae35-ac0e-4311-a8c5-0ee863e951d9\","},{"line_number":135,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":136,"context_line":"                \"status\": \"attached\","},{"line_number":137,"context_line":"                \"mount_tag\": \"foo\""},{"line_number":138,"context_line":"            },"},{"line_number":139,"context_line":"            {"},{"line_number":140,"context_line":"                \"id\": \"715335c1-7a00-4dfe-82df-9dc2a67bd8bf\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"497798c4_2e014bab","line":137,"in_reply_to":"dbfbdf13_0f60e45d","updated":"2021-10-26 13:07:50.000000000","message":"just wiht may scripting hat on i wonder if we could do share-{uuid}\nso that you could create a udev rule that would just match on share-*\nwith that said that is not actully needed if we also extend the metadata api to include the shares as they can just lookup the uuids and retrive whatever is needed to mount it correctly.\n\n\ni also assumed we would have a tag filed like the deivce role taggain in addtion to the mound_tag\n\ni would prefer if we standardised the mount_tag as share-{uuid} as i noted above but lesft teh seperate tag filed as user specifiable the same way it is for normal device role tagging","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":true,"context_lines":[{"line_number":138,"context_line":"            },"},{"line_number":139,"context_line":"            {"},{"line_number":140,"context_line":"                \"id\": \"715335c1-7a00-4dfe-82df-9dc2a67bd8bf\","},{"line_number":141,"context_line":"                \"serverId\": \"d5e4ae35-ac0e-4311-a8c5-0ee863e951d9\","},{"line_number":142,"context_line":"                \"shareId\": \"e8debdc0-447a-4376-a10a-4cd9122d7986\","},{"line_number":143,"context_line":"                \"status\": \"attached\","},{"line_number":144,"context_line":"                \"mount_tag\": \"bar\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"a5c3df54_b6d9e915","line":141,"range":{"start_line":141,"start_character":16,"end_line":141,"end_character":67},"updated":"2021-11-01 11:39:52.000000000","message":"Given this is in the request URI I guess we *could* drop this here?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"dcff993f5caa3b64fecfcb76e2db536c036ab33b","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            },"},{"line_number":139,"context_line":"            {"},{"line_number":140,"context_line":"                \"id\": \"715335c1-7a00-4dfe-82df-9dc2a67bd8bf\","},{"line_number":141,"context_line":"                \"serverId\": \"d5e4ae35-ac0e-4311-a8c5-0ee863e951d9\","},{"line_number":142,"context_line":"                \"shareId\": \"e8debdc0-447a-4376-a10a-4cd9122d7986\","},{"line_number":143,"context_line":"                \"status\": \"attached\","},{"line_number":144,"context_line":"                \"mount_tag\": \"bar\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"83fc8acd_5aa536b5","line":141,"range":{"start_line":141,"start_character":16,"end_line":141,"end_character":67},"in_reply_to":"a5c3df54_b6d9e915","updated":"2021-11-03 11:58:33.000000000","message":"Done","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"19e430630025a65477a4c703cba3eb02c27212b4","unresolved":true,"context_lines":[{"line_number":146,"context_line":"        ]"},{"line_number":147,"context_line":"    }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* GET ``/servers/{server_id}/os-share_attachments/{share_id}``"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Show details of a specific share attached to an instance."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"54d37555_38726750","line":149,"updated":"2021-10-22 13:13:09.000000000","message":"share_id, which id, attachment id or actually share id?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3ce199a7b1ba6634cda269b5a83af1d23778233","unresolved":true,"context_lines":[{"line_number":146,"context_line":"        ]"},{"line_number":147,"context_line":"    }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* GET ``/servers/{server_id}/os-share_attachments/{share_id}``"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Show details of a specific share attached to an instance."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"de63c046_af18fcb7","line":149,"in_reply_to":"54d37555_38726750","updated":"2021-10-26 13:07:50.000000000","message":"presumable this is the acuall share id but your right i would expect this to be the attachemnt id by rest convention.\n\nif we want this to be share-id then maybe it makes ses to change the resouce name to just shares.\n\nremove the concept of share attachmets entirely and just have a relation ship between servers and shares\n\n\n* GET ``/servers/{server_id}/shares/{share_id}``\n\ni think ^ i would actully be a much more intuitive interface\n\nthe attachment is a concept that is carried over form cinder partly to model on which host the volume is attach but i dont think we need to model tha tin the nova api.\n\nwe might want to have attachmets interanlly to track that but i dont think we should be exposing that implementation detail at the rest api.\n\n\nform the api level we shoudl shares assocated with servers and hide the concept of atachments.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"dcff993f5caa3b64fecfcb76e2db536c036ab33b","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        ]"},{"line_number":147,"context_line":"    }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* GET ``/servers/{server_id}/os-share_attachments/{share_id}``"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Show details of a specific share attached to an instance."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f65ed8b7_f109adb0","line":149,"in_reply_to":"585b0fde_9d19a81b","updated":"2021-11-03 11:58:33.000000000","message":"I\u0027ve decided to meet somewhere in the middle and only expose the attachment UUID to admins.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":true,"context_lines":[{"line_number":146,"context_line":"        ]"},{"line_number":147,"context_line":"    }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* GET ``/servers/{server_id}/os-share_attachments/{share_id}``"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Show details of a specific share attached to an instance."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"585b0fde_9d19a81b","line":149,"in_reply_to":"de63c046_af18fcb7","updated":"2021-11-01 11:39:52.000000000","message":"This should be shareId and I wanted to rename id to AttachmentId to avoid the confusion we had with volume and volume attachment UUIDs.\n\nI really don\u0027t mind what we call the endpoint as long as it returns unique UUIDs for the attachment, server and share. All are required IMHO.\n\n*later* sorry I misunderstood what you were suggesting here. As below I still think attachment UUIDs are valid things to list in the response here.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":true,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* GET ``/servers/{server_id}/os-share_attachments/{share_id}``"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Show details of a specific share attached to an instance."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Return Code(s): 200,400,401,403,404,409"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f1582c2c_e63af50a","line":151,"range":{"start_line":151,"start_character":33,"end_line":151,"end_character":41},"updated":"2021-11-01 11:39:52.000000000","message":"I guess this should be `attaching or attached`?\n\nI might also want to add a status param here.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"62fd2dcf8a6bdfc7c85c9146a8392ad13534b3b5","unresolved":true,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Detach a share from an instance."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Data model impact"},{"line_number":230,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6df65f25_11854e9b","line":227,"updated":"2021-10-22 13:24:51.000000000","message":"Metadata service, we could expose that there, but unsure if its needed...","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":false,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Detach a share from an instance."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Data model impact"},{"line_number":230,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0aefcdd8_3f67b6f2","line":227,"in_reply_to":"6df65f25_11854e9b","updated":"2021-11-01 11:39:52.000000000","message":"Yeah we can, avoids the need for users to make external API requests to find the tag etc. I\u0027ll add this in.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bb71d18558dd769b4a4b36635aef99e473630146","unresolved":true,"context_lines":[{"line_number":247,"context_line":"* ``mount_tag`` - The mount tag to be used by users to mount the share within"},{"line_number":248,"context_line":"                  the instance"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* ``export_location`` - The export location used to attach the share to the"},{"line_number":251,"context_line":"                        underlying host."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"A new base ``ShareMapping`` versioned object will be introduced to encapsulate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af9dd21_3cd84259","line":250,"updated":"2021-10-22 13:56:45.000000000","message":"Will this contain ip addresses / passwords? If yes, then would we recreate the problem we have with the cinder host attachments that they are not easy to update if the infra changes?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"13f348fd112b0f015ec7080d2c2a4c66c281a949","unresolved":false,"context_lines":[{"line_number":247,"context_line":"* ``mount_tag`` - The mount tag to be used by users to mount the share within"},{"line_number":248,"context_line":"                  the instance"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* ``export_location`` - The export location used to attach the share to the"},{"line_number":251,"context_line":"                        underlying host."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"A new base ``ShareMapping`` versioned object will be introduced to encapsulate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4e8799ba_c84590c0","line":250,"in_reply_to":"68f994bb_d68f24df","updated":"2021-11-04 16:49:28.000000000","message":"\u003e Yes it will contain that information but unlike connection_info with volume attachments it will only be used to detach the share. It will not be used to reattach shares during an instance lifecycle, with fresh details been pulled in from Manila.\n\u003e \n\nOK, this sounds good to me.\n\n\u003e We can\u0027t do this during the detach because if these backend details were to change somehow we might not be able to detach the currently attached share. I get that for most backends this wouldn\u0027t be an issue and we could just `umount` but I worried about corner cases with some of the more exotic backends and this seems like a reasonable approach.\n\u003e\n\nack","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3ce199a7b1ba6634cda269b5a83af1d23778233","unresolved":true,"context_lines":[{"line_number":247,"context_line":"* ``mount_tag`` - The mount tag to be used by users to mount the share within"},{"line_number":248,"context_line":"                  the instance"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* ``export_location`` - The export location used to attach the share to the"},{"line_number":251,"context_line":"                        underlying host."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"A new base ``ShareMapping`` versioned object will be introduced to encapsulate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d2abb515_69f630b0","line":250,"in_reply_to":"9af9dd21_3cd84259","updated":"2021-10-26 13:07:50.000000000","message":"as noted above i dont think we should have attachmetns in our api.\nwe should just model the server to share relation ship and the status.\n\ninternally in our db im ok with having an attachment object or binding object but i dont think this should be visable at the api.\n\nto me i think it makes sense for use to also start with a multiplle attachment/binding workflow for move operation so that we can pre bind/attach the share on the destination while its still attach on the source and ensure that work in pre-live migration like we do with multiple port bidnings. i would like the export location to be tracked in a seperate table/object form the assocation of the share and the instance.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":true,"context_lines":[{"line_number":247,"context_line":"* ``mount_tag`` - The mount tag to be used by users to mount the share within"},{"line_number":248,"context_line":"                  the instance"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* ``export_location`` - The export location used to attach the share to the"},{"line_number":251,"context_line":"                        underlying host."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"A new base ``ShareMapping`` versioned object will be introduced to encapsulate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"68f994bb_d68f24df","line":250,"in_reply_to":"d2abb515_69f630b0","updated":"2021-11-01 11:39:52.000000000","message":"Yes it will contain that information but unlike connection_info with volume attachments it will only be used to detach the share. It will not be used to reattach shares during an instance lifecycle, with fresh details been pulled in from Manila.\n\nWe can\u0027t do this during the detach because if these backend details were to change somehow we might not be able to detach the currently attached share. I get that for most backends this wouldn\u0027t be an issue and we could just `umount` but I worried about corner cases with some of the more exotic backends and this seems like a reasonable approach.\n\nAs for removing the concept of an attachment from the API I really disagree . It has worked well with volumes and helps users, admins and developers to understand which specific attachments are recorded without having to map the generic server and share UUIDs to something else within the DB etc.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3ce199a7b1ba6634cda269b5a83af1d23778233","unresolved":true,"context_lines":[{"line_number":267,"context_line":"This should improve the security model of using Manila by removing the datapath"},{"line_number":268,"context_line":"from tenant networks while also removing the need for users to know details of"},{"line_number":269,"context_line":"the underlying storage environment."},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"Notifications impact"},{"line_number":272,"context_line":"--------------------"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"18d29984_da0cb79f","line":270,"updated":"2021-10-26 13:07:50.000000000","message":"the use of vhost-user rquires that the guest memroy is mmaped shared and its accable via an open file discriptor in stead of mapped as annomous. This will allow read/write access to the guest memory form the host if you have the currect user/group access. not this is alreay true for filebacked memroy and hugepages so this is a minor securtiy regression and its a feature that is sometime used by securtiy scanning tools to detech malious guests in the case of file backed memory already so it has some advantacge too since it makes the eaiser without the performce hit that can happen with file backed memory.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"62fd2dcf8a6bdfc7c85c9146a8392ad13534b3b5","unresolved":true,"context_lines":[{"line_number":287,"context_line":"Other deployer impact"},{"line_number":288,"context_line":"---------------------"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"TODO - Discuss that we now require datapath access on the computes."},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Developer impact"},{"line_number":293,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"286fcc58_31080840","line":290,"updated":"2021-10-22 13:24:51.000000000","message":"Virt-io resize, does the kernel see those changes? Does it really matter?","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":false,"context_lines":[{"line_number":287,"context_line":"Other deployer impact"},{"line_number":288,"context_line":"---------------------"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"TODO - Discuss that we now require datapath access on the computes."},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Developer impact"},{"line_number":293,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ec73f9c5_181580a0","line":290,"in_reply_to":"286fcc58_31080840","updated":"2021-11-01 11:39:52.000000000","message":"Resize isn\u0027t covered by this spec.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"09d5224e0fe7bdfbbea7d3397784205da415137f","unresolved":true,"context_lines":[{"line_number":330,"context_line":"For live attach and detach we are waiting on the following libvirt work:"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"https://listman.redhat.com/archives/libvir-list/2021-October/msg00097.html"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"Testing"},{"line_number":336,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"eea56551_f8fa8dc8","line":333,"updated":"2021-10-22 13:28:00.000000000","message":"Note to self: we normally wait for libvirt release before merging the spec.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5029f54ccf5e46546ba0b19fa2539071ff1e282e","unresolved":false,"context_lines":[{"line_number":330,"context_line":"For live attach and detach we are waiting on the following libvirt work:"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"https://listman.redhat.com/archives/libvir-list/2021-October/msg00097.html"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"Testing"},{"line_number":336,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba8802b5_3949c1eb","line":333,"in_reply_to":"eea56551_f8fa8dc8","updated":"2021-11-01 11:39:52.000000000","message":"Yup and note this is about future work for live attach etc, something not covered as part of this spec.","commit_id":"81dc09f43401f05d4f6436be6f6e1eece8aaec21"}]}
