)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"35ffdb46e7e03ddc1d212869b46972abb2ae6dc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"747afce5_0e245e87","updated":"2022-04-21 08:26:14.000000000","message":"Added a request (and some hints) about the notification work we agreed on the PTG","commit_id":"c3f1a90051fe1c12be3fcbe285551d10e626e02f"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"76554dc7_91f4d440","updated":"2022-05-06 17:21:29.000000000","message":"Answering Gibi questions.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"67ddf382_169a0054","updated":"2022-05-09 10:33:29.000000000","message":"Thanks for the answers. Responded inline","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"39b769ddd8627e5cb4f788be00b09cdd93eb422d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5e542aee_13733fd0","updated":"2022-05-04 08:23:51.000000000","message":"rth","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"93e17ddf_ee5db193","updated":"2022-05-19 08:48:12.000000000","message":"I still feel bad about the user experience about this feature. ","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c8c680b7181fb6b4cdcff9a0c13e69d816a7feb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"383fbcac_514337c3","updated":"2022-06-30 16:06:46.000000000","message":"Can\u0027t wait for the next revision as I think we have a consensus by now.","commit_id":"8f8ea7265a785706d6199cec70a3c5b10080294b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6db24656f15f070a65d65b2fb07b910a3fbc35da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c692ba69_72bdcd9d","updated":"2022-06-02 15:54:57.000000000","message":"Just making a procedural -1 as we have an open design question that has a visible user impact.","commit_id":"8f8ea7265a785706d6199cec70a3c5b10080294b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2bfeeeac7283ee1f11b5522b65c2d3ad0da4e6da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"3ca077a0_9b4b7937","updated":"2022-07-05 08:01:23.000000000","message":"I still have comments but I don\u0027t want to hold this spec, so +2 for me.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0605d574_f88b7a12","updated":"2022-07-05 12:12:47.000000000","message":"Looks food to me. I hold +A to let Sean look at it.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"eedf750c_f9f075aa","updated":"2022-07-05 15:55:02.000000000","message":"im happy to adress the comment in a followup if we agree on changign the reqest attribute form tag to mount_tag","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"}],"doc/source/conf.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":19,"context_line":"    \u0027openstackdocstheme\u0027,"},{"line_number":20,"context_line":"    \u0027yasfb\u0027,"},{"line_number":21,"context_line":"    \u0027sphinxcontrib.seqdiag\u0027,"},{"line_number":22,"context_line":"    \u0027sphinx.ext.graphviz\u0027"},{"line_number":23,"context_line":"]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"todo_include_todos \u003d True"}],"source_content_type":"text/x-python","patch_set":3,"id":"842fcd72_3bf38b08","line":22,"updated":"2022-05-03 14:40:50.000000000","message":"It seems this has a dependency to the graphviz package that is not a python dependency. So probably we need to add it to our bindep.txt \n\nhttps://github.com/openstack/requirements/blob/master/bindep.txt","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2237a81d84b8b450d7e13b93f89e82f285c3c2e8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    \u0027openstackdocstheme\u0027,"},{"line_number":20,"context_line":"    \u0027yasfb\u0027,"},{"line_number":21,"context_line":"    \u0027sphinxcontrib.seqdiag\u0027,"},{"line_number":22,"context_line":"    \u0027sphinx.ext.graphviz\u0027"},{"line_number":23,"context_line":"]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"todo_include_todos \u003d True"}],"source_content_type":"text/x-python","patch_set":3,"id":"b0793a83_ca979bd9","line":22,"in_reply_to":"842fcd72_3bf38b08","updated":"2022-05-03 16:55:24.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8cff17b30d106366673b9afb45002935d30b603b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    \u0027openstackdocstheme\u0027,"},{"line_number":20,"context_line":"    \u0027yasfb\u0027,"},{"line_number":21,"context_line":"    \u0027sphinxcontrib.seqdiag\u0027,"},{"line_number":22,"context_line":"    \u0027sphinx.ext.graphviz\u0027"},{"line_number":23,"context_line":"]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"todo_include_todos \u003d True"}],"source_content_type":"text/x-python","patch_set":3,"id":"0c58be55_d9b194a2","line":22,"in_reply_to":"9dd421ab_dd4e7df8","updated":"2022-05-11 09:43:12.000000000","message":"im -1 on adding graphviz by the way.\n\ni really dont like the generated diagram and i dont liek the plain text way its defiend really.\n\ni woudl prefer if you split it up into a serise fo seqence diagrams for the differnt operation or perferable just care an ascii diagram","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"39b769ddd8627e5cb4f788be00b09cdd93eb422d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    \u0027openstackdocstheme\u0027,"},{"line_number":20,"context_line":"    \u0027yasfb\u0027,"},{"line_number":21,"context_line":"    \u0027sphinxcontrib.seqdiag\u0027,"},{"line_number":22,"context_line":"    \u0027sphinx.ext.graphviz\u0027"},{"line_number":23,"context_line":"]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"todo_include_todos \u003d True"}],"source_content_type":"text/x-python","patch_set":3,"id":"9dd421ab_dd4e7df8","line":22,"in_reply_to":"b0793a83_ca979bd9","updated":"2022-05-04 08:23:51.000000000","message":"thanks. the diagram looks good now in the generated doc","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"}],"specs/zed/approved/libvirt-virtiofs-attach-manila-shares.rst":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3fadabac480915b5352cb3c5d72e427aa7a37bb","unresolved":true,"context_lines":[{"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"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6c89c225_799de66c","line":56,"updated":"2022-04-05 10:49:14.000000000","message":"while we only have technical limitation for the shelve offload, as unshelve after it would be a move, I agree to reject shelve as offloading might be automatic and therefore not directly user visible.","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"7d35b0521927eb55d646161834422be430f89a10","unresolved":false,"context_lines":[{"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"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fd400154_979a9b4e","line":56,"in_reply_to":"6c89c225_799de66c","updated":"2022-04-05 12:51:11.000000000","message":"Ack","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3fadabac480915b5352cb3c5d72e427aa7a37bb","unresolved":true,"context_lines":[{"line_number":89,"context_line":"Additionally this initial implementation will require that the associated"},{"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":"Two new compute compatibility traits will be introduced to model an individual"},{"line_number":95,"context_line":"compute\u0027s support for virtio-fs and file backed memory."}],"source_content_type":"text/x-rst","patch_set":1,"id":"158a1335_7a371a27","line":92,"updated":"2022-04-05 10:49:14.000000000","message":"Also by looking at the link I\u0027m not sure I got why vhostuser needs huge pages or file backed memory?","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"7d35b0521927eb55d646161834422be430f89a10","unresolved":true,"context_lines":[{"line_number":89,"context_line":"Additionally this initial implementation will require that the associated"},{"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":"Two new compute compatibility traits will be introduced to model an individual"},{"line_number":95,"context_line":"compute\u0027s support for virtio-fs and file backed memory."}],"source_content_type":"text/x-rst","patch_set":1,"id":"378c057b_b807ba50","line":92,"in_reply_to":"158a1335_7a371a27","updated":"2022-04-05 12:51:11.000000000","message":"Yep, it is explained in the other link https://libvirt.org/kbase/virtiofs.html#other-options-for-vhost-user-memory-setup\nI\u0027ll modify the spec to make this less confusing.","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"87785b1bd11696c41d86abeeaccc232e89a7957a","unresolved":false,"context_lines":[{"line_number":89,"context_line":"Additionally this initial implementation will require that the associated"},{"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":"Two new compute compatibility traits will be introduced to model an individual"},{"line_number":95,"context_line":"compute\u0027s support for virtio-fs and file backed memory."}],"source_content_type":"text/x-rst","patch_set":1,"id":"97d96c7f_e9723bf9","line":92,"in_reply_to":"378c057b_b807ba50","updated":"2022-04-06 13:35:34.000000000","message":"Done","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3fadabac480915b5352cb3c5d72e427aa7a37bb","unresolved":true,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"These will then be used along with the flavor and image metadata associated"},{"line_number":102,"context_line":"with the instance to ensure the above requirements are met during a request to"},{"line_number":103,"context_line":"attach a share."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":106,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"}],"source_content_type":"text/x-rst","patch_set":1,"id":"40679077_8bea70fc","line":103,"updated":"2022-04-05 10:49:14.000000000","message":"I guess we can already check for huge pages via the host numa topology, hence no huge page specific capability.","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"32cbabc80347641e5b4678d4be7417f89d8b5569","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"These will then be used along with the flavor and image metadata associated"},{"line_number":102,"context_line":"with the instance to ensure the above requirements are met during a request to"},{"line_number":103,"context_line":"attach a share."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":106,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5421fe0c_48c9e15c","line":103,"in_reply_to":"40679077_8bea70fc","updated":"2022-05-02 16:54:05.000000000","message":"Done","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3fadabac480915b5352cb3c5d72e427aa7a37bb","unresolved":true,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":".. note::"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"   ``tag`` will be an optional request parameter, when not provided it"},{"line_number":214,"context_line":"   will be the shareId as always provided in the request."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bac3d071_09ec7a02","line":213,"range":{"start_line":213,"start_character":22,"end_line":213,"end_character":48},"updated":"2022-04-05 10:49:14.000000000","message":"in the POST body I assume and not as a query parameter","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"7d35b0521927eb55d646161834422be430f89a10","unresolved":true,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":".. note::"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"   ``tag`` will be an optional request parameter, when not provided it"},{"line_number":214,"context_line":"   will be the shareId as always provided in the request."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c6f86bd0_dcf6ba79","line":213,"range":{"start_line":213,"start_character":22,"end_line":213,"end_character":48},"in_reply_to":"bac3d071_09ec7a02","updated":"2022-04-05 12:51:11.000000000","message":"Yes, I interpreted it in that way too (body).","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"87785b1bd11696c41d86abeeaccc232e89a7957a","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":".. note::"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"   ``tag`` will be an optional request parameter, when not provided it"},{"line_number":214,"context_line":"   will be the shareId as always provided in the request."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":1,"id":"51253f73_5c4fefd7","line":213,"range":{"start_line":213,"start_character":22,"end_line":213,"end_character":48},"in_reply_to":"c6f86bd0_dcf6ba79","updated":"2022-04-06 13:35:34.000000000","message":"Done","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3fadabac480915b5352cb3c5d72e427aa7a37bb","unresolved":true,"context_lines":[{"line_number":293,"context_line":"--------------------"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":296,"context_line":"share to an instance."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Other end user impact"},{"line_number":299,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"eb8e7223_adcc3ab8","line":296,"updated":"2022-04-05 10:49:14.000000000","message":"Do we also want to extend the existing instance notifications to show the attached shares? (we already show attached BDMs there)","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0e54bf85958c837b31cb4d5b516fcdc9f539250d","unresolved":true,"context_lines":[{"line_number":293,"context_line":"--------------------"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":296,"context_line":"share to an instance."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Other end user impact"},{"line_number":299,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4fe95ec5_ff1914e0","line":296,"in_reply_to":"3ab5ca16_32294b6a","updated":"2022-04-07 16:13:01.000000000","message":"So far I\u0027m not familiar with the notifications. But I tend to say yes.","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"32cbabc80347641e5b4678d4be7417f89d8b5569","unresolved":false,"context_lines":[{"line_number":293,"context_line":"--------------------"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":296,"context_line":"share to an instance."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Other end user impact"},{"line_number":299,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"af310fb3_253de068","line":296,"in_reply_to":"4d74301a_143a62c6","updated":"2022-05-02 16:54:05.000000000","message":"Done","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"35ffdb46e7e03ddc1d212869b46972abb2ae6dc3","unresolved":true,"context_lines":[{"line_number":293,"context_line":"--------------------"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":296,"context_line":"share to an instance."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Other end user impact"},{"line_number":299,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9871ff61_22920f80","line":296,"in_reply_to":"4fe95ec5_ff1914e0","updated":"2022-04-21 08:26:14.000000000","message":"So on the PTG we agreed to\n* add new notifications for share attach and share detach\n* extend the instance update notification with the share mapping information.\n\nHere are the patches that added the volume attach/detach versioned notification https://review.opendev.org/c/openstack/nova/+/401992 / https://review.opendev.org/c/openstack/nova/+/408676\n\nAnd here are the patch that added the BDM to the instance notifications https://review.opendev.org/c/openstack/nova/+/448779 . Note that later this code was fixed not to re-load the BDM from the DB if the BDM is already available in the calling context: https://review.opendev.org/q/topic:bug%252F1718226\n\nAs we shortly discussed in the PTG we might want to follow the pattern that make the share mapping optional in the instance payload via a config option if providing the share_mapping information needs an extra DB query just for the notification payload.\n\nAlso here are some background information about versioned notifications\n* https://www.youtube.com/watch?v\u003dWFq5JWXa9AM\n* https://docs.openstack.org/nova/latest/admin/notifications.html\n* https://specs.openstack.org/openstack/nova-specs/specs/mitaka/implemented/versioned-notification-api.html\n\nI think for this spec we need to define the payload model of the share attach / detach notification and state what new field(s) will be added to the existing instance payload.","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bb53955b054dfd13ad9e7c202c0103f90ad5892f","unresolved":true,"context_lines":[{"line_number":293,"context_line":"--------------------"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":296,"context_line":"share to an instance."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Other end user impact"},{"line_number":299,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4d74301a_143a62c6","line":296,"in_reply_to":"9871ff61_22920f80","updated":"2022-04-22 10:02:28.000000000","message":"I talked this through with Rene. I\u0027m totally OK to outscope the notification impact from this spec to a later one to keep the scope of the feature manageable.","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bf5917f760b7d30764680c04eff4c9a6c50d0ff2","unresolved":true,"context_lines":[{"line_number":293,"context_line":"--------------------"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"New notifications will be added to represent the attaching and detaching of a"},{"line_number":296,"context_line":"share to an instance."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Other end user impact"},{"line_number":299,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ab5ca16_32294b6a","line":296,"in_reply_to":"eb8e7223_adcc3ab8","updated":"2022-04-07 09:52:05.000000000","message":"i.e. https://github.com/openstack/nova/blob/449aa39a964bf01d6cd39e79122c6c37d9a2c9f7/nova/notifications/objects/instance.py#L125-L128","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3fadabac480915b5352cb3c5d72e427aa7a37bb","unresolved":true,"context_lines":[{"line_number":331,"context_line":"-----------"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"Primary assignee:"},{"line_number":334,"context_line":"  lyarwood"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"Other contributors:"},{"line_number":337,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"35c95a92_c202d33a","line":334,"updated":"2022-04-05 10:49:14.000000000","message":"Let\u0027s update this","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"87785b1bd11696c41d86abeeaccc232e89a7957a","unresolved":false,"context_lines":[{"line_number":331,"context_line":"-----------"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"Primary assignee:"},{"line_number":334,"context_line":"  lyarwood"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"Other contributors:"},{"line_number":337,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"00e7a978_40b2627b","line":334,"in_reply_to":"35c95a92_c202d33a","updated":"2022-04-06 13:35:34.000000000","message":"Done","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3fadabac480915b5352cb3c5d72e427aa7a37bb","unresolved":true,"context_lines":[{"line_number":339,"context_line":"---------------"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"Feature liaison:"},{"line_number":342,"context_line":"  lyarwood"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"Work Items"},{"line_number":345,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"96ebd6df_7bc6ffc5","line":342,"updated":"2022-04-05 10:49:14.000000000","message":"Let\u0027s update this, you can list me here if you wish","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"87785b1bd11696c41d86abeeaccc232e89a7957a","unresolved":false,"context_lines":[{"line_number":339,"context_line":"---------------"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"Feature liaison:"},{"line_number":342,"context_line":"  lyarwood"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"Work Items"},{"line_number":345,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"06097579_dfce9236","line":342,"in_reply_to":"96ebd6df_7bc6ffc5","updated":"2022-04-06 13:35:34.000000000","message":"Done","commit_id":"122f6c0fc7bb93f146ac2313aa4309ea693404e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":"(ref: `vhost-user documentation`__)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Two new compute compatibility traits and filters will be introduced to model an"},{"line_number":96,"context_line":"individual compute\u0027s support for virtio-fs and file backed memory."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e712f9a2_6b9589f1","line":95,"range":{"start_line":95,"start_character":16,"end_line":95,"end_character":29},"updated":"2022-05-03 14:40:50.000000000","message":"capability?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":"(ref: `vhost-user documentation`__)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Two new compute compatibility traits and filters will be introduced to model an"},{"line_number":96,"context_line":"individual compute\u0027s support for virtio-fs and file backed memory."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff295378_da80a769","line":95,"range":{"start_line":95,"start_character":16,"end_line":95,"end_character":29},"in_reply_to":"c9b5288a_e7dcd293","updated":"2022-05-09 10:33:29.000000000","message":"Yeah probably both true, as it is about compatible capabilities. So my question is more about will these be traits that the virt driver report via the virt driver generic capabilities functionality? E.g.: https://github.com/openstack/nova/blob/972c06c608f0b00e9066d7f581fd81197065cf49/nova/virt/driver.py#L103","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":"(ref: `vhost-user documentation`__)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Two new compute compatibility traits and filters will be introduced to model an"},{"line_number":96,"context_line":"individual compute\u0027s support for virtio-fs and file backed memory."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f064f119_4a50387c","line":95,"range":{"start_line":95,"start_character":16,"end_line":95,"end_character":29},"in_reply_to":"e4f9f2f4_cb5c41a7","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":"(ref: `vhost-user documentation`__)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Two new compute compatibility traits and filters will be introduced to model an"},{"line_number":96,"context_line":"individual compute\u0027s support for virtio-fs and file backed memory."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c9b5288a_e7dcd293","line":95,"range":{"start_line":95,"start_character":16,"end_line":95,"end_character":29},"in_reply_to":"e712f9a2_6b9589f1","updated":"2022-05-06 17:21:29.000000000","message":"This is from the initial spec. I guess this is \"compatibility\" in the sense that those traits are used to express that the host is compatible with virtiosfs.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":92,"context_line":"to communicate directly with the underlying guest."},{"line_number":93,"context_line":"(ref: `vhost-user documentation`__)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Two new compute compatibility traits and filters will be introduced to model an"},{"line_number":96,"context_line":"individual compute\u0027s support for virtio-fs and file backed memory."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e4f9f2f4_cb5c41a7","line":95,"range":{"start_line":95,"start_character":16,"end_line":95,"end_character":29},"in_reply_to":"ff295378_da80a769","updated":"2022-05-10 16:13:07.000000000","message":"we generally call these capability traits\n\nso that would be the prefered terminology to use.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"3e58f585_ba063e99","line":102,"range":{"start_line":102,"start_character":42,"end_line":102,"end_character":58},"updated":"2022-05-03 14:40:50.000000000","message":"File backed memory is not something a nova instance directly requests. Today it is a compute configuration option to enable file backing. I\u0027m not sure we want to expose file backing directly to the end user via extra spec. Even if we want to that feels to be an independent spec.\n\nDo you have some explanation why these are need to be exposed to the extra_specs for the manila use case?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"bb60d6dd_2ba5d5f3","line":102,"range":{"start_line":102,"start_character":25,"end_line":102,"end_character":33},"updated":"2022-05-03 14:40:50.000000000","message":"What would requesting virtiofs for an instance mean in general?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f0c23cf_edd10112","line":102,"range":{"start_line":102,"start_character":42,"end_line":102,"end_character":58},"in_reply_to":"08850aa9_3f762204","updated":"2022-05-09 10:33:29.000000000","message":"I need others to chime in here. I\u0027m OK to report these capabilities as traits. What I\u0027m not sure about is that we want to allow them to be requested via flavor extra_spec. As today the file backed memory feature is just a compute configuration and there is no way to ask it explicitly via the flavor. So the proposed change would affect the https://docs.openstack.org/nova/latest/admin/file-backed-memory.html feature of nova too.\n\nAs of requesting COMPUTE_STORAGE_VIRTIO_FS capability via flavor extra_spec. Why the creator of the flavor would ever request that? What would be the use case there?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"aae5d396_bbd2c38b","line":102,"range":{"start_line":102,"start_character":25,"end_line":102,"end_character":33},"in_reply_to":"1c456602_ce9301f0","updated":"2022-05-18 16:09:51.000000000","message":"Ack","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"08850aa9_3f762204","line":102,"range":{"start_line":102,"start_character":42,"end_line":102,"end_character":58},"in_reply_to":"3e58f585_ba063e99","updated":"2022-05-06 17:21:29.000000000","message":"What I did so far.\nIf you have the correct level of qemu and libvirt it is detected by the libvirt drv  and it enables the trait COMPUTE_STORAGE_VIRTIO_FS.\nIf you configure file backing memory on the host it is detected by the libvirt drv  and it enables the trait COMPUTE_MEM_BACKING_FILE.\n\nThen if you add the corresponding extra_spec, it allows the instance to be scheduled to a host with the both traits enabled, making sure you could use virtiofs.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"fe3e197b_554244e8","line":102,"range":{"start_line":102,"start_character":42,"end_line":102,"end_character":58},"in_reply_to":"3f0c23cf_edd10112","updated":"2022-05-10 16:13:07.000000000","message":"we shoudl not expose ``virtiofs`` and ``mem_backing_file`` as extra spec in the api.\nthat is not the correct abstraction.\n\nif you want to land on a host with virtio fs supprot or file backed memroy supprot you will used\n\ntraits:required\u003dCOMPUTE_STORAGE_VIRTIO_FS\nor\ntraits:required\u003dCOMPUTE_MEM_BACKING_FILE\nin the flavor or image","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"1c456602_ce9301f0","line":102,"range":{"start_line":102,"start_character":25,"end_line":102,"end_character":33},"in_reply_to":"62dc71b8_8eb025b0","updated":"2022-05-10 16:13:07.000000000","message":"no we need both to be able to do the detection from the api correctly.\n\na singel COMPUTE_SHARE_ATTACH trait cant cater for both file backed memory and hugepage.\n\nwe cant make COMPUTE_SHARE_ATTACH depending on file backed memory being configered and i dont think we should make it depent on hugepages beign configured.\n\nwe technially could make it check of either one or the other + the required libvirt version  but i woudl prefer to put logic in the api not the compute\n\nthe file backed memorey trait is potentially somehtign you want to scheduler on independelty. of this feature.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"d4ec8e5d_b57098ae","line":102,"range":{"start_line":102,"start_character":25,"end_line":102,"end_character":33},"in_reply_to":"bb60d6dd_2ba5d5f3","updated":"2022-05-06 17:21:29.000000000","message":"It ensure you have the correct qemu/libvirt level.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"62dc71b8_8eb025b0","line":102,"range":{"start_line":102,"start_character":25,"end_line":102,"end_character":33},"in_reply_to":"d4ec8e5d_b57098ae","updated":"2022-05-09 10:33:29.000000000","message":"If the two capabilities COMPUTE_MEM_BACKING_FILE and COMPUTE_STORAGE_VIRTIO_FS are only added to nova to make sure that manila shares can be attached to the VM then I think it would be better to create a single, manila share specific extra spec. Then nova can translate that to requesting COMPUTE_MEM_BACKING_FILE and COMPUTE_STORAGE_VIRTIO_FS trait request internally. That would make a better user experience. As with the current proposal the user needs to know that if she wants to use manila shares she has to ask for mem_backing and virtiofs extra specs. \n\n//later\n\nMy above idea would only work if the manila share requirements would be virt driver agnostic. But they probably aren\u0027t.\n\nHm. Should we instead expose a COMPUTE_SHARE_ATTACH capability trait from the libvirt driver? That capability is generic enough that we each virt driver can either report it or not (only libvirt will report it now). And also we can pair it with a \"share_attach\" extra spec that is a lot less cryptic for the end user than the currently proposed virtio and mem_backing extra specs.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Associated extra_specs ``virtiofs`` and ``mem_backing_file`` will be added."},{"line_number":103,"context_line":"So instances with ``virtiofs`` and ``mem_backing_file`` or "},{"line_number":104,"context_line":"``virtiofs`` and ``hw:mem_page_size`` (huge pages) will be scheduled on"},{"line_number":105,"context_line":"compute hosts supporting these functionalities. "}],"source_content_type":"text/x-rst","patch_set":3,"id":"99132958_2702d5e6","line":102,"range":{"start_line":102,"start_character":42,"end_line":102,"end_character":58},"in_reply_to":"fe3e197b_554244e8","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":133,"context_line":".. __: https://github.com/openstack/nova/blob/8f250f50446ca2d7aa84609d5144088aa4cded78/nova/virt/libvirt/volume/mount.py#L152-L174"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Share mapping states:"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. graphviz::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"019da8da_85f64dae","line":136,"updated":"2022-05-03 14:40:50.000000000","message":"Is this a state that nova will track for each manial share? Is it independent of the status of the share on the Manila API?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":133,"context_line":".. __: https://github.com/openstack/nova/blob/8f250f50446ca2d7aa84609d5144088aa4cded78/nova/virt/libvirt/volume/mount.py#L152-L174"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Share mapping states:"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. graphviz::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9cbdfa79_b01c07ca","line":136,"in_reply_to":"019da8da_85f64dae","updated":"2022-05-06 17:21:29.000000000","message":"yep it is the state of the share mapping. So the state of the association between an instance and a share.\n\nShare as a state in manila that is the status/availability of it. BTW today I\u0027m not checking that the state of the share is fine before associating it. I need to add that.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":133,"context_line":".. __: https://github.com/openstack/nova/blob/8f250f50446ca2d7aa84609d5144088aa4cded78/nova/virt/libvirt/volume/mount.py#L152-L174"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Share mapping states:"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. graphviz::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f7d31a01_dbed5145","line":136,"in_reply_to":"12aca32d_6829e5de","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":133,"context_line":".. __: https://github.com/openstack/nova/blob/8f250f50446ca2d7aa84609d5144088aa4cded78/nova/virt/libvirt/volume/mount.py#L152-L174"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Share mapping states:"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. graphviz::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"12aca32d_6829e5de","line":136,"in_reply_to":"9cbdfa79_b01c07ca","updated":"2022-05-09 10:33:29.000000000","message":"Thanks. Could you add a sentence explaining that this state is independent from the status of the Manial share.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":158,"context_line":"    inactive -\u003e none [label\u003d\"Delete share or delete VM\"]"},{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"335bc23c_e43bc3cd","line":161,"range":{"start_line":161,"start_character":30,"end_line":161,"end_character":55},"updated":"2022-05-03 14:40:50.000000000","message":"Do we want to wait mounting the share to the host until the VM the share is attached is started? I think we can go ahead and mount the share when the share attach API call is received and accepted. Or you want to avoid and extra RPC down to the compute during share attach? I could create the possible scenario that the mount failure is only detected during VM start and therefore will be harder to correlate with the share attach request that actually causing the failure. Also if we ever want to support attaching shares to an ACTIVE VM then we cannot avoid that extra RPC call to the compute during share attach","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":158,"context_line":"    inactive -\u003e none [label\u003d\"Delete share or delete VM\"]"},{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e2ac54a0_578fa854","line":161,"range":{"start_line":161,"start_character":30,"end_line":161,"end_character":55},"in_reply_to":"335bc23c_e43bc3cd","updated":"2022-05-06 17:21:29.000000000","message":"To be honest I stick to what Lee told me. Basically that the create/destroy of share mapping are purely DB operations and a kind of noop on the compute.\n\nCurrently I think this mechanism is simpler because it don\u0027t require to change to compute API. If you don\u0027t mind I would like to keep it like this for the first iteration not to add complexity not needed right now.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":158,"context_line":"    inactive -\u003e none [label\u003d\"Delete share or delete VM\"]"},{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"af523fa4_277559c4","line":161,"range":{"start_line":161,"start_character":30,"end_line":161,"end_character":55},"in_reply_to":"7f03c321_243cac8b","updated":"2022-05-10 16:13:07.000000000","message":"ya i dont think we shoudl ahve any new rpcs for the attach/detach on stop/start\n\nthat shoudl be internal to the libvirt driver.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    inactive -\u003e none [label\u003d\"Delete share or delete VM\"]"},{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b37bd246_5952519a","line":161,"range":{"start_line":161,"start_character":30,"end_line":161,"end_character":55},"in_reply_to":"af523fa4_277559c4","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":158,"context_line":"    inactive -\u003e none [label\u003d\"Delete share or delete VM\"]"},{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f03c321_243cac8b","line":161,"range":{"start_line":161,"start_character":30,"end_line":161,"end_character":55},"in_reply_to":"e2ac54a0_578fa854","updated":"2022-05-09 10:33:29.000000000","message":"OK. Please add a sentence noting that we are intentionally attaching shares to the compute when the VM is started to avoid the need of an RPC call during share attach API. And that this could lead to situation where the VM start operation fails as an underlying share attach fails.\n\nWe also need to mention this in the end user doc that a positive share attach API response does not guarantee that the share will be successfully attached to the host and therefore to the VM during the VM start API operation.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e098e906_d488db12","line":162,"updated":"2022-05-03 14:40:50.000000000","message":"Does \"Create share\" is the Manila API operation: POST /v2/shares ? If yes then we have a problem as that will not result in a ShareMapping object created in Nova. So I guess this is action i more like the POST /servers/{server_id}/shares on the Nova API instead but then the name I would name this \"Attach share\".","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8eb53edc_890ebb3b","line":162,"in_reply_to":"2b9efe33_eaf1afad","updated":"2022-05-09 10:33:29.000000000","message":"OK","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c0277867_67482ea7","line":162,"in_reply_to":"8eb53edc_890ebb3b","updated":"2022-05-10 16:13:07.000000000","message":"this is not create share.\nits \"attach share\".","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f3bc84e8_4b835fea","line":162,"in_reply_to":"c0277867_67482ea7","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":159,"context_line":"    active -\u003e none  [label\u003d\"Delete VM\"]"},{"line_number":160,"context_line":"    active -\u003e inactive [label\u003d\"Stop VM\\nShare unmounted\"]"},{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"2b9efe33_eaf1afad","line":162,"in_reply_to":"e098e906_d488db12","updated":"2022-05-06 17:21:29.000000000","message":"I will clarify the schema based on your inputs, but \"Create share\" is POST /servers/{server_id}/shares, so creating a share mapping.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"},{"line_number":166,"context_line":"  }"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"667cb8c6_fd6592c0","line":164,"range":{"start_line":164,"start_character":14,"end_line":164,"end_character":19},"updated":"2022-05-03 14:40:50.000000000","message":"Is there any way to get out from the ERROR state? I.e. how can an deployer recover from a situation when an instance has a share in error state? Will nova allow detaching the share from the instance in this state so that the attach can be retried?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"},{"line_number":166,"context_line":"  }"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"a26dafa8_1ea39e53","line":164,"range":{"start_line":164,"start_character":14,"end_line":164,"end_character":19},"in_reply_to":"0e23a9e1_3265926c","updated":"2022-05-09 10:33:29.000000000","message":"The remaining question is what will be the VM state if nova fails to mount a share the VM needs? Do we put the VM in ERROR state? Or we just switch it back to STOPPED? \n\nSTOPPED would be better as it allows retrying the start operation either with the same shares or by removing the problematic share first.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"},{"line_number":166,"context_line":"  }"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"0e23a9e1_3265926c","line":164,"range":{"start_line":164,"start_character":14,"end_line":164,"end_character":19},"in_reply_to":"667cb8c6_fd6592c0","updated":"2022-05-06 17:21:29.000000000","message":"Yep it is missing on the schema, but deleting the share mapping or the VM will remove the entry in the DB then you will be able to associate it again and retry. So we are not stuck.\nHowever these actions can be done only if the instance is STOPPED.\nSo maybe I need to add the ERROR/DELETE state allowing to dissociate the share if the instance is not fine.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"},{"line_number":166,"context_line":"  }"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"8b78b4da_58c0349c","line":164,"range":{"start_line":164,"start_character":14,"end_line":164,"end_character":19},"in_reply_to":"8590e351_8fcb1188","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    inactive -\u003e active [label\u003d\"Start VM\\nShare mounted\"]"},{"line_number":162,"context_line":"    none -\u003e inactive [label\u003d\"Create share\"]"},{"line_number":163,"context_line":"    inactive -\u003e error [label\u003d\"Start VM\\nFail to mount\"]"},{"line_number":164,"context_line":"    active -\u003e error [label\u003d\"Stop VM\\nFail to umount\"]"},{"line_number":165,"context_line":"    active -\u003e active [label\u003d\"Reboot VM\"]"},{"line_number":166,"context_line":"  }"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"8590e351_8fcb1188","line":164,"range":{"start_line":164,"start_character":14,"end_line":164,"end_character":19},"in_reply_to":"a26dafa8_1ea39e53","updated":"2022-05-10 16:13:07.000000000","message":"you would hard reboot to get out of error right?\nor maybe detach share and hard reboot.\n\nwe need to always be able to detach the share even if the vm is in error.\n\nthis is imporant for evacuation or other maintance activites.\nfailing to unmount cant reulst in teh inablity to do anything with the vm other then delete it.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":172,"context_line":"server, then it will attempt to mount it and a warning will be logged that"},{"line_number":173,"context_line":"the share was already mounted."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Umount operation will be really done when the share is mounted and not used"},{"line_number":176,"context_line":"anymore by another server."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The share will be mounted on the compute host using read/write mode."},{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"}],"source_content_type":"text/x-rst","patch_set":3,"id":"792b3d2c_901c4a90","line":176,"range":{"start_line":175,"start_character":0,"end_line":176,"end_character":26},"updated":"2022-05-03 14:40:50.000000000","message":"So I assume we will do this by asking the DB for ShareMapping objects in active state for the same Manila share and an instance that is schedule to the same host. Am I correct?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":172,"context_line":"server, then it will attempt to mount it and a warning will be logged that"},{"line_number":173,"context_line":"the share was already mounted."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Umount operation will be really done when the share is mounted and not used"},{"line_number":176,"context_line":"anymore by another server."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The share will be mounted on the compute host using read/write mode."},{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f969c29a_3601fd59","line":176,"range":{"start_line":175,"start_character":0,"end_line":176,"end_character":26},"in_reply_to":"0b2bfe63_9a6ea7d5","updated":"2022-05-10 16:13:07.000000000","message":"i think we likely shoudl be storing this in memroy in the driver\nsimialr to the pci tracker or resouce tracker in general.\n\nstoping a vm should not require a db lookup form the driver to determine if the share shoudl be unmapped or not.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":172,"context_line":"server, then it will attempt to mount it and a warning will be logged that"},{"line_number":173,"context_line":"the share was already mounted."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Umount operation will be really done when the share is mounted and not used"},{"line_number":176,"context_line":"anymore by another server."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The share will be mounted on the compute host using read/write mode."},{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1e17952d_f0eed92b","line":176,"range":{"start_line":175,"start_character":0,"end_line":176,"end_character":26},"in_reply_to":"1b5c57a7_821c50ed","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":172,"context_line":"server, then it will attempt to mount it and a warning will be logged that"},{"line_number":173,"context_line":"the share was already mounted."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Umount operation will be really done when the share is mounted and not used"},{"line_number":176,"context_line":"anymore by another server."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The share will be mounted on the compute host using read/write mode."},{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"}],"source_content_type":"text/x-rst","patch_set":3,"id":"0b2bfe63_9a6ea7d5","line":176,"range":{"start_line":175,"start_character":0,"end_line":176,"end_character":26},"in_reply_to":"4788f177_e1cc8547","updated":"2022-05-09 10:33:29.000000000","message":"I think we are after the same thing. :) \n\nI agree that we need to take care of the case when two VMs needs the same share on the same host. \n\nI\u0027m only after the precise semantic of when we consider a share (that is currently mounted to the host) is not used any more. So I think a share can be unmounted when there are no ShareMapping objects in the DB that points to a VM currently scheduled to the current compute host. Do you agree?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":172,"context_line":"server, then it will attempt to mount it and a warning will be logged that"},{"line_number":173,"context_line":"the share was already mounted."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Umount operation will be really done when the share is mounted and not used"},{"line_number":176,"context_line":"anymore by another server."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The share will be mounted on the compute host using read/write mode."},{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"}],"source_content_type":"text/x-rst","patch_set":3,"id":"4788f177_e1cc8547","line":176,"range":{"start_line":175,"start_character":0,"end_line":176,"end_character":26},"in_reply_to":"792b3d2c_901c4a90","updated":"2022-05-06 17:21:29.000000000","message":"Not sure I catch it.\nI would like to highlight is that if a share is mounted on 2 instances on the same host.\nIf you destroy the first instance it will not umount the share as it is used by the other one.\nThen if you destroy the second instance, the share on the host is not needed anymore and removed.\n\nTo be honest this is not something I have written, it is something already written probably by Lee based on a singleton mechanism if I understood it well.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"724cf7842bde0e19475eb4d8facf6bb2005981e7","unresolved":true,"context_lines":[{"line_number":172,"context_line":"server, then it will attempt to mount it and a warning will be logged that"},{"line_number":173,"context_line":"the share was already mounted."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Umount operation will be really done when the share is mounted and not used"},{"line_number":176,"context_line":"anymore by another server."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"The share will be mounted on the compute host using read/write mode."},{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1b5c57a7_821c50ed","line":176,"range":{"start_line":175,"start_character":0,"end_line":176,"end_character":26},"in_reply_to":"f969c29a_3601fd59","updated":"2022-05-10 17:49:00.000000000","message":"Yeah, if we have the semantic agreed then I\u0027m fine implementing a cache in memory to avoid excessive DB lookups.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"},{"line_number":180,"context_line":"and read/write at the same time. If the user wants to mount the share"},{"line_number":181,"context_line":"read-only, it will have to do it in the VM fstab."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Alternatives"},{"line_number":184,"context_line":"------------"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"0c294657_60a04641","line":182,"updated":"2022-05-03 14:40:50.000000000","message":"This made me realize that I\u0027m not sure what will happen when a Manila share that is attached to an instance is deleted via the Manial API. Is there a way to prevent such delete? Can we indicate to Manila that the share is being used?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"},{"line_number":180,"context_line":"and read/write at the same time. If the user wants to mount the share"},{"line_number":181,"context_line":"read-only, it will have to do it in the VM fstab."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Alternatives"},{"line_number":184,"context_line":"------------"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7cc76468_f8c95721","line":182,"in_reply_to":"0c294657_60a04641","updated":"2022-05-06 17:21:29.000000000","message":"Excellent question. I have not the answer so far. But I think you could probably not delete the share if it is mounted, but it needs to be verified.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"},{"line_number":180,"context_line":"and read/write at the same time. If the user wants to mount the share"},{"line_number":181,"context_line":"read-only, it will have to do it in the VM fstab."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Alternatives"},{"line_number":184,"context_line":"------------"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"f37d604d_af13982e","line":182,"in_reply_to":"624b28ee_8f6c1879","updated":"2022-05-10 16:13:07.000000000","message":"it really should not be possibel to do that but i guess since manilla is not aware the vm is attached to a vm they cant prevent that.\n\nso we should docuemnt it as unsupproted but liek with neutron we shoudl have an external event for share-delete that manilly shoudl send whena share is deleted which willl will sued to detach the share form all services.\n\nif we dont do that it will cause the vms to lock up if they try to do file io.\n\nso ya what gibi said :)","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"},{"line_number":180,"context_line":"and read/write at the same time. If the user wants to mount the share"},{"line_number":181,"context_line":"read-only, it will have to do it in the VM fstab."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Alternatives"},{"line_number":184,"context_line":"------------"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"624b28ee_8f6c1879","line":182,"in_reply_to":"7cc76468_f8c95721","updated":"2022-05-09 10:33:29.000000000","message":"Yeah lets check this with the Manila folks. In case of cinder volumes nova indicates to the cinder API the the volume is used so it cannot be deleted. In case of ports nova indicates that a port is used by a host but neutron still allow the port delete even if a port is bound to a host. In this scenario neutron sends a network-vif-deleted external event to nova, and nova will handle that in a similar way that if the port is detached from the VM by the user. \n\nI would prefer if nova could somehow prevent Manila share deletion when the share is mounted to a compute host.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"},{"line_number":180,"context_line":"and read/write at the same time. If the user wants to mount the share"},{"line_number":181,"context_line":"read-only, it will have to do it in the VM fstab."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Alternatives"},{"line_number":184,"context_line":"------------"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"a2321359_6f2babfa","line":182,"in_reply_to":"c5543856_35d4727a","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"724cf7842bde0e19475eb4d8facf6bb2005981e7","unresolved":true,"context_lines":[{"line_number":179,"context_line":"Read-only will not be supported as a share could not be mounted read-only"},{"line_number":180,"context_line":"and read/write at the same time. If the user wants to mount the share"},{"line_number":181,"context_line":"read-only, it will have to do it in the VM fstab."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Alternatives"},{"line_number":184,"context_line":"------------"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"c5543856_35d4727a","line":182,"in_reply_to":"f37d604d_af13982e","updated":"2022-05-10 17:49:00.000000000","message":"If we need to change Manila (e.g. to send an external event) then I would vote to add some attachment state management in Manila instead of an external event. So that nova can tell Manila that the share is attached and therefore cannot be deleted.\n\nBut I\u0027m fine if in the first release we only document that it is not supported to delete a share while nova using it. We can probably provide a nova API query in the doc to decide if a certain Manila share is being used or not by Nova so that the user can decide when to safe to delete a share.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":307,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":310,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":313,"context_line":"  the instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c62c9631_45057dc2","line":310,"updated":"2022-05-03 14:40:50.000000000","message":"So basically:\nactive: the share is successfully mounted to a compute host\ninactive: the share is associated with the instance but not mounted on the host the instance is scheduled to\nerror: failed to mount / unmount of the share on the host","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"724cf7842bde0e19475eb4d8facf6bb2005981e7","unresolved":true,"context_lines":[{"line_number":307,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":310,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":313,"context_line":"  the instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ebe53142_96efd881","line":310,"in_reply_to":"36606124_2baf4b57","updated":"2022-05-10 17:49:00.000000000","message":"Are these Manial shares we talking about shared between tenants? I thought the end user creates a share and the the same end user attaches the share to his/her VM. If multiple tenants can use the same share then we _need_ to implement proper attachment management in Manial to prevent that one tenant deletes a share the other tenant still uses.\n\nAbout the information leak, go point. If sharing of shares (sic!) is possible then the leak is real. So then the only option is to lie. If VM1 is restarted SM1 becomes active, but the meaning of \"active\" is that the Manila share is attached to the host, so by this definition now the SM2 state should be active too. :/ So either we lie in out state management or we leak information(if sharing shares is possible)","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bf1cc19d5e5d64fe728faf88c4758e3cc1d6ced9","unresolved":true,"context_lines":[{"line_number":307,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":310,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":313,"context_line":"  the instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"618e1d86_3d98effd","line":310,"in_reply_to":"460cbd37_0c242772","updated":"2022-05-11 11:46:47.000000000","message":"Thanks Sean. I think what you suggest make sense. Let\u0027s decouple the host mount state of the share and the status of the SM (ShareMapping). This means that we need to redefine the possible states of the SM as you suggested above.\n\nThen we have to think again when a share can be unmounted from a host. I think we have two options:\na) unmount if there are no SM objects(whit any status) pointing to an instance that is scheduled to this host. (When we will implement move operations for VMs with shares we probably need to extend this logic to look for instances with active migration records and the source and dest hosts in there)\n\nb) unmount if the only SM objects related to this host (via instances as in #a)) are all in reserved or error status. I.e. unmount if no other active SM on this host.\n\nThe #a) is definitely simpler to implement but it keeps the share mounted even if only reserved or error SMs are \"using\" it. Which is probably not a problem but worth mentioning.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":307,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":310,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":313,"context_line":"  the instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fb237552_b8dda508","line":310,"in_reply_to":"618e1d86_3d98effd","updated":"2022-05-18 16:09:51.000000000","message":"Ack","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34a222de42086d06689a3bf0dcfc003b1506ed42","unresolved":true,"context_lines":[{"line_number":307,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":310,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":313,"context_line":"  the instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b337d50a_18bb072a","line":310,"in_reply_to":"a3a3ef4a_f06aff9c","updated":"2022-05-09 10:33:29.000000000","message":"I was not after changing the name, sorry. I wasn\u0027t clear. I just wanted to make sure we agree on the meaning of the states. Based on your answer I think we agree. But I have a follow up question. \n\nAs the state is tight to the compute host but also the state is stored per instance-share association we need to care about batch update of states. \n\nI.e.: \nThere are two stopped VMs (VM1, VM2) on the same host. User attach the share same to both VMs. Both ShareMapping (SM1, SM2) objects will be in inactive state. Then the user starts the VM1. Nova attaches the share to the compute host successfully. Nova updates SM1.state to active. Nova nova needs to also update SM2.state to active as the underlying share is now mounted to the host, even though the VM2 is still STOPPED.\n\nDo you agree?","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":307,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":310,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":313,"context_line":"  the instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"36606124_2baf4b57","line":310,"in_reply_to":"b337d50a_18bb072a","updated":"2022-05-10 16:13:07.000000000","message":"no this would leak info potenitally across tenants depending on how manilas rbac is defiend.\n\nso starting vm1 should not affect vm2","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":307,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":310,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":313,"context_line":"  the instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a3a3ef4a_f06aff9c","line":310,"in_reply_to":"c62c9631_45057dc2","updated":"2022-05-06 17:21:29.000000000","message":"Artom and I had chosen active/inactive because\nmount / umount are related to the host, not the VM.\nOn the VM, the fs is \"mapped\" using virtios.\nSo we thought that the wording was more \"neutral\".\n\nAs you know, naming is one of the more complex stuff in computing.\nSo, to be honest, I would like to find the appropriate wording that everybody agrees not the change it multiple times.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8cff17b30d106366673b9afb45002935d30b603b","unresolved":true,"context_lines":[{"line_number":307,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":310,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":313,"context_line":"  the instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"460cbd37_0c242772","line":310,"in_reply_to":"ebe53142_96efd881","updated":"2022-05-11 09:43:12.000000000","message":"well i dont consider it a lie since that vm is not currently using the share if its stoped.\n\nby the way i think active, reserved and error woudl be close to what we use for neutron.\n\nits active when its attached to a running instnace.\nits reserved when its a logically attached to a stop instance.\n\nwe shoudl remove the implication of what the host state is form teh meaning of the states.\n\nfor example if qemu got the ablitt to say attach an nfs share or cephfs share out hostmount and we wanted to use that in the futrue we should not have to redefine the meaning of the statest to do that.\n\nthe fact its host mounted or not is an implementaiton detail that we shoudl be hiding not making part of the api defintion of the states.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":354,"context_line":"  information."},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"Share mapping in the instance payload will be optional and controlled via the"},{"line_number":357,"context_line":"``share_mapping`` notification configuration parameter. It will be disabled by"},{"line_number":358,"context_line":"default."},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"Proposed payload for attached and detached notification will be the same as"}],"source_content_type":"text/x-rst","patch_set":3,"id":"d91ea9cd_57d8c4ee","line":357,"range":{"start_line":357,"start_character":2,"end_line":357,"end_character":15},"updated":"2022-05-03 14:40:50.000000000","message":"[notification]include_share_mappings","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":354,"context_line":"  information."},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"Share mapping in the instance payload will be optional and controlled via the"},{"line_number":357,"context_line":"``share_mapping`` notification configuration parameter. It will be disabled by"},{"line_number":358,"context_line":"default."},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"Proposed payload for attached and detached notification will be the same as"}],"source_content_type":"text/x-rst","patch_set":3,"id":"2ffd1666_c7b5b140","line":357,"range":{"start_line":357,"start_character":2,"end_line":357,"end_character":15},"in_reply_to":"a8c1cf68_fe91874e","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":354,"context_line":"  information."},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"Share mapping in the instance payload will be optional and controlled via the"},{"line_number":357,"context_line":"``share_mapping`` notification configuration parameter. It will be disabled by"},{"line_number":358,"context_line":"default."},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"Proposed payload for attached and detached notification will be the same as"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a8c1cf68_fe91874e","line":357,"range":{"start_line":357,"start_character":2,"end_line":357,"end_character":15},"in_reply_to":"d91ea9cd_57d8c4ee","updated":"2022-05-06 17:21:29.000000000","message":"I\u0027ll fix it thx.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":370,"context_line":"          \"tag\": \"bar\","},{"line_number":371,"context_line":"          \"export_location\": \"server.com/nfs_mount,foo\u003dbar\""},{"line_number":372,"context_line":"      }"},{"line_number":373,"context_line":"  }"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"Proposed instance payload for instance upade, will be the list of share "},{"line_number":376,"context_line":"attached to this instance."}],"source_content_type":"text/x-rst","patch_set":3,"id":"df7a1e35_813fbea9","line":373,"updated":"2022-05-03 14:40:50.000000000","message":"While on the API the instance uuid is visible from the URL in the notification case this information is not available. So I suggest to add an instance_uuid field. So that the notification client will now which instance the share is being attached.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":370,"context_line":"          \"tag\": \"bar\","},{"line_number":371,"context_line":"          \"export_location\": \"server.com/nfs_mount,foo\u003dbar\""},{"line_number":372,"context_line":"      }"},{"line_number":373,"context_line":"  }"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"Proposed instance payload for instance upade, will be the list of share "},{"line_number":376,"context_line":"attached to this instance."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ccd33f1e_0ce9b506","line":373,"in_reply_to":"464d855a_87b6c429","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":370,"context_line":"          \"tag\": \"bar\","},{"line_number":371,"context_line":"          \"export_location\": \"server.com/nfs_mount,foo\u003dbar\""},{"line_number":372,"context_line":"      }"},{"line_number":373,"context_line":"  }"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"Proposed instance payload for instance upade, will be the list of share "},{"line_number":376,"context_line":"attached to this instance."}],"source_content_type":"text/x-rst","patch_set":3,"id":"464d855a_87b6c429","line":373,"in_reply_to":"b7153663_503ec721","updated":"2022-05-10 16:13:07.000000000","message":"+1","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":370,"context_line":"          \"tag\": \"bar\","},{"line_number":371,"context_line":"          \"export_location\": \"server.com/nfs_mount,foo\u003dbar\""},{"line_number":372,"context_line":"      }"},{"line_number":373,"context_line":"  }"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"Proposed instance payload for instance upade, will be the list of share "},{"line_number":376,"context_line":"attached to this instance."}],"source_content_type":"text/x-rst","patch_set":3,"id":"b7153663_503ec721","line":373,"in_reply_to":"df7a1e35_813fbea9","updated":"2022-05-06 17:21:29.000000000","message":"ok make sens.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"744e64738432d4a22feb557c7bab4ab235babf5d","unresolved":true,"context_lines":[{"line_number":395,"context_line":"              \"export_location\": \"server2.com/nfs_mount,foo\u003dbar\""},{"line_number":396,"context_line":"          }"},{"line_number":397,"context_line":"      ]"},{"line_number":398,"context_line":"  }"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"Other end user impact"},{"line_number":401,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bae5d70b_a1f68a6d","line":398,"updated":"2022-05-03 14:40:50.000000000","message":"looks good.","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":false,"context_lines":[{"line_number":395,"context_line":"              \"export_location\": \"server2.com/nfs_mount,foo\u003dbar\""},{"line_number":396,"context_line":"          }"},{"line_number":397,"context_line":"      ]"},{"line_number":398,"context_line":"  }"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"Other end user impact"},{"line_number":401,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"62b21434_3d384c44","line":398,"in_reply_to":"bae5d70b_a1f68a6d","updated":"2022-05-06 17:21:29.000000000","message":"Ack","commit_id":"7f992d5facd058cbade1480bcc3d15fea95d70f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1786dd3bc17913b5d178d0a085a98f83b027a598","unresolved":true,"context_lines":[{"line_number":367,"context_line":"      }"},{"line_number":368,"context_line":"  }"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"Proposed instance payload for instance upade, will be the list of share"},{"line_number":371,"context_line":"attached to this instance."},{"line_number":372,"context_line":""},{"line_number":373,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d5f0571e_7ca79b38","line":370,"range":{"start_line":370,"start_character":39,"end_line":370,"end_character":44},"updated":"2022-05-03 14:46:27.000000000","message":"nit:update","commit_id":"82610d9cc3acf138dd1a480038997760dee26ee8"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":367,"context_line":"      }"},{"line_number":368,"context_line":"  }"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"Proposed instance payload for instance upade, will be the list of share"},{"line_number":371,"context_line":"attached to this instance."},{"line_number":372,"context_line":""},{"line_number":373,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f212a2a_694120f9","line":370,"range":{"start_line":370,"start_character":39,"end_line":370,"end_character":44},"in_reply_to":"729b983b_9252f3f3","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"82610d9cc3acf138dd1a480038997760dee26ee8"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"23daf0568bbb5dcd67c509ee9219ef6407536af0","unresolved":true,"context_lines":[{"line_number":367,"context_line":"      }"},{"line_number":368,"context_line":"  }"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"Proposed instance payload for instance upade, will be the list of share"},{"line_number":371,"context_line":"attached to this instance."},{"line_number":372,"context_line":""},{"line_number":373,"context_line":".. code-block:: json"}],"source_content_type":"text/x-rst","patch_set":5,"id":"729b983b_9252f3f3","line":370,"range":{"start_line":370,"start_character":39,"end_line":370,"end_character":44},"in_reply_to":"d5f0571e_7ca79b38","updated":"2022-05-06 17:21:29.000000000","message":"I\u0027ll fix it.","commit_id":"82610d9cc3acf138dd1a480038997760dee26ee8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"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 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":""},{"line_number":25,"context_line":"An alternative to this is for Nova to mount these shares on the underlying"},{"line_number":26,"context_line":"compute host and then pass through the provided filesystems to the instance,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3043a1ea_d7cc2394","line":23,"range":{"start_line":20,"start_character":1,"end_line":23,"end_character":58},"updated":"2022-05-10 16:13:07.000000000","message":"the requirement to expose share info in the manila api wont go away with this feature. what is changing is the requirement for the operator to ensure that he manila backend storage is routeable form the guest subnets.\n\nmanila needd to still be able to expsose that connection info so that it can be used standalone or with driver like ironic that cant which are not enabled  by this spec and enduser might prefer to manage share attachments without using this feature.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"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 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":""},{"line_number":25,"context_line":"An alternative to this is for Nova to mount these shares on the underlying"},{"line_number":26,"context_line":"compute host and then pass through the provided filesystems to the instance,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d8e90942_458a576a","line":23,"range":{"start_line":20,"start_character":1,"end_line":23,"end_character":58},"in_reply_to":"3043a1ea_d7cc2394","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"An alternative to this is for Nova to mount these shares on the underlying"},{"line_number":26,"context_line":"compute host and then pass through the provided filesystems to the instance,"},{"line_number":27,"context_line":"keeping the datapath outside of any tenant addressable network and without"},{"line_number":28,"context_line":"exposing details about the backend storage infrastructure."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bdf76af6_6548cd4a","line":28,"range":{"start_line":27,"start_character":67,"end_line":28,"end_character":57},"updated":"2022-05-10 16:13:07.000000000","message":"no that is not part of this spec.\n\nthe detail will still be expose however connectivity to that backend can be isolated such that its only accesable via the compute host.\n\nthis paragr is also part of the proposed change not the problem discition\n\nthe Problem description is what you want to change not how so it shoudl not contian descirbe how you will adress the problem.\n\nso i would just remove this entire paragraph lines 25-28","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"An alternative to this is for Nova to mount these shares on the underlying"},{"line_number":26,"context_line":"compute host and then pass through the provided filesystems to the instance,"},{"line_number":27,"context_line":"keeping the datapath outside of any tenant addressable network and without"},{"line_number":28,"context_line":"exposing details about the backend storage infrastructure."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c4fc9262_57d263c7","line":28,"range":{"start_line":27,"start_character":67,"end_line":28,"end_character":57},"in_reply_to":"bdf76af6_6548cd4a","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":40,"context_line":"- As an operator I want the Manila datapath to be separate to any tenant"},{"line_number":41,"context_line":"  accessible networks."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- As an operator I don\u0027t want to expose details of my storage infrastructure to"},{"line_number":44,"context_line":"  users."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"},{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"8d2886fd_23c6d6ac","line":44,"range":{"start_line":43,"start_character":0,"end_line":44,"end_character":8},"updated":"2022-05-10 16:13:07.000000000","message":"this s not something that we can do form nova. the user will still be able to get the share details form teh manila api and that is requried to enable ironic or stanalone manila so its a non goal to remove it.\n\ncan you remove this form the usecases.\n\n- As an operator I want the Manila datapath to be separate to any tenant\n  accessible networks.\n\nis the primary operator usecase.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":40,"context_line":"- As an operator I want the Manila datapath to be separate to any tenant"},{"line_number":41,"context_line":"  accessible networks."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- As an operator I don\u0027t want to expose details of my storage infrastructure to"},{"line_number":44,"context_line":"  users."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"},{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"005a9d6c_4b71788d","line":44,"range":{"start_line":43,"start_character":0,"end_line":44,"end_character":8},"in_reply_to":"8d2886fd_23c6d6ac","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"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"},{"line_number":61,"context_line":"attached or detached."}],"source_content_type":"text/x-rst","patch_set":6,"id":"6a65a20f_21f5b17c","line":58,"updated":"2022-05-10 16:13:07.000000000","message":"these should be rejected with a 409 conflict and apporpate error message","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"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"},{"line_number":61,"context_line":"attached or detached."}],"source_content_type":"text/x-rst","patch_set":6,"id":"acd765e4_9b345d1e","line":58,"in_reply_to":"6a65a20f_21f5b17c","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":131,"context_line":"Share mapping states:"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":".. graphviz::"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"  digraph states {"},{"line_number":137,"context_line":"    graph [pad\u003d\".35\", ranksep\u003d\"0.65\", nodesep\u003d\"0.55\", concentrate\u003dtrue];"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c892c9f2_8ec6689f","line":134,"range":{"start_line":134,"start_character":3,"end_line":134,"end_character":11},"updated":"2022-05-10 16:13:07.000000000","message":"can you replace this eitehr with an ascii diagra or use seqdiag\n\n\ni think sequence diagream are generally more useful the state transition diagrams anyway.\n\nthe endered form of V is not very intunitve to read.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"de24ff93c7b3760a930fa8fedbbaba1a4d6b514d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"Share mapping states:"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":".. graphviz::"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"  digraph states {"},{"line_number":137,"context_line":"    graph [pad\u003d\".35\", ranksep\u003d\"0.65\", nodesep\u003d\"0.55\", concentrate\u003dtrue];"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c7afe699_85932e4e","line":134,"range":{"start_line":134,"start_character":3,"end_line":134,"end_character":11},"in_reply_to":"75c2de13_157a6728","updated":"2022-05-23 17:28:06.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8be7fe91fe9de18aae167a0514af2e612f2dbc50","unresolved":true,"context_lines":[{"line_number":131,"context_line":"Share mapping states:"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":".. graphviz::"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"  digraph states {"},{"line_number":137,"context_line":"    graph [pad\u003d\".35\", ranksep\u003d\"0.65\", nodesep\u003d\"0.55\", concentrate\u003dtrue];"}],"source_content_type":"text/x-rst","patch_set":6,"id":"75c2de13_157a6728","line":134,"range":{"start_line":134,"start_character":3,"end_line":134,"end_character":11},"in_reply_to":"c892c9f2_8ec6689f","updated":"2022-05-23 14:08:21.000000000","message":"im still -1 on supporting this by the way.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":181,"context_line":"The only alternative is to continue with the current situation where users must"},{"line_number":182,"context_line":"mount the shares within their instances manually. The downside being that these"},{"line_number":183,"context_line":"instances must have access to the storage network used by the Manila backends."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"REST API impact"},{"line_number":186,"context_line":"---------------"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"8bcca912_1ea181e7","line":184,"updated":"2022-05-10 16:13:07.000000000","message":"there are other alternitives which si we could track the share attachment also in manilla.\nthat woudl allow them to prevent share deletion when its attached to a vm.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":181,"context_line":"The only alternative is to continue with the current situation where users must"},{"line_number":182,"context_line":"mount the shares within their instances manually. The downside being that these"},{"line_number":183,"context_line":"instances must have access to the storage network used by the Manila backends."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"REST API impact"},{"line_number":186,"context_line":"---------------"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"0f680725_843c7e9e","line":184,"in_reply_to":"8bcca912_1ea181e7","updated":"2022-05-18 16:09:51.000000000","message":"Ack","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":305,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":308,"context_line":"  the instance"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"* ``export_location`` - The export location used to attach the share to the"},{"line_number":311,"context_line":"  underlying host"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c854e407_fe022fe1","line":308,"updated":"2022-05-10 16:13:07.000000000","message":"by the way are there any restrction we need to enforce on this\n\n\nit looks like its just a char* so that generally means it has to be ascii\nhttps://gitlab.com/virtio-fs/linux/-/blob/virtio-fs/fs/fuse/virtio_fs.c#L50\u003d\n\n\ni dont see any refernce to a lenth limit but we likely want to enforce one\n\nsay 64 bytes.\n\nthat enough for a uuid and a resonable lenght for a max string lenght in genreal.\n\ncan we update the spec to include both the max lenght and ascii requireemnt. \n\ninfact i would suggest using this regex to enforce the requirements \"^[a-zA-Z0-9-]{1,64}$\"","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":305,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":308,"context_line":"  the instance"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"* ``export_location`` - The export location used to attach the share to the"},{"line_number":311,"context_line":"  underlying host"}],"source_content_type":"text/x-rst","patch_set":6,"id":"240559ec_72addd7d","line":308,"in_reply_to":"c854e407_fe022fe1","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":316,"context_line":"the above database entries and to be used as the parent class of specific virt"},{"line_number":317,"context_line":"driver implementations."},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"The database field `status` and `share_proto` values will not be enforced"},{"line_number":320,"context_line":"using enums allowing future changes and avoid database migrations."},{"line_number":321,"context_line":"However, to make code more robust, enums will be defined on the object fields."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df98a4c0_3ecd93cf","line":320,"range":{"start_line":319,"start_character":0,"end_line":320,"end_character":66},"updated":"2022-05-10 16:13:07.000000000","message":"ok but we should likely limit the column widths\n\nso String(32) in the db schema?\n\ni dotn think we should use text as we want this to be stored inline in the db table not as a sperate file on disk.\n\n32 should be enough for stats or protocol identifiers.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":316,"context_line":"the above database entries and to be used as the parent class of specific virt"},{"line_number":317,"context_line":"driver implementations."},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"The database field `status` and `share_proto` values will not be enforced"},{"line_number":320,"context_line":"using enums allowing future changes and avoid database migrations."},{"line_number":321,"context_line":"However, to make code more robust, enums will be defined on the object fields."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"a52f2d06_4bbe3ebb","line":320,"range":{"start_line":319,"start_character":0,"end_line":320,"end_character":66},"in_reply_to":"df98a4c0_3ecd93cf","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":332,"context_line":"---------------"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"This should improve the security model of using Manila by removing the datapath"},{"line_number":335,"context_line":"from tenant networks while also removing the need for users to know details of"},{"line_number":336,"context_line":"the underlying storage environment."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"The ``export_location`` JSON blob returned by Manila and used to attach the"},{"line_number":339,"context_line":"share to the underlying host should not be logged by Nova and only accessible"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ebf607c1_65275a8f","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":35},"updated":"2022-05-10 16:13:07.000000000","message":"so this sill still be ableable to user so i would remove this.\nthis spec is really only about the datapalne connectivity change.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":332,"context_line":"---------------"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"This should improve the security model of using Manila by removing the datapath"},{"line_number":335,"context_line":"from tenant networks while also removing the need for users to know details of"},{"line_number":336,"context_line":"the underlying storage environment."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"The ``export_location`` JSON blob returned by Manila and used to attach the"},{"line_number":339,"context_line":"share to the underlying host should not be logged by Nova and only accessible"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ab8beb4f_b991bfee","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":35},"in_reply_to":"ebf607c1_65275a8f","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":336,"context_line":"the underlying storage environment."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"The ``export_location`` JSON blob returned by Manila and used to attach the"},{"line_number":339,"context_line":"share to the underlying host should not be logged by Nova and only accessible"},{"line_number":340,"context_line":"by default through the API by admins."},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"Notifications impact"},{"line_number":343,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"56d57145_66f3ada6","line":340,"range":{"start_line":339,"start_character":62,"end_line":340,"end_character":37},"updated":"2022-05-10 16:13:07.000000000","message":"you described the export_location as \n\n\"The export location used to attach the share to the\n  underlying host\"\n\nthis info should not not be aviable to manila.\nit is only need internally in nova.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":336,"context_line":"the underlying storage environment."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"The ``export_location`` JSON blob returned by Manila and used to attach the"},{"line_number":339,"context_line":"share to the underlying host should not be logged by Nova and only accessible"},{"line_number":340,"context_line":"by default through the API by admins."},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"Notifications impact"},{"line_number":343,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6d71459f_81a65c0e","line":340,"range":{"start_line":339,"start_character":62,"end_line":340,"end_character":37},"in_reply_to":"56d57145_66f3ada6","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":395,"context_line":"Other end user impact"},{"line_number":396,"context_line":"---------------------"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"Users will need to mount the shares within their guestOS using the returned"},{"line_number":399,"context_line":"``tag``."},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"Performance Impact"},{"line_number":402,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1cb9edd0_c67d0105","line":399,"range":{"start_line":398,"start_character":0,"end_line":399,"end_character":6},"updated":"2022-05-10 16:13:07.000000000","message":"i dont see this mentioned anywhere else but i thikn we shoudl be extending the instance metadta to include the shares and mount tags similar to \ndevice role tagging so that a service within the vm could discover that and and auto mount the shares for example.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":395,"context_line":"Other end user impact"},{"line_number":396,"context_line":"---------------------"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"Users will need to mount the shares within their guestOS using the returned"},{"line_number":399,"context_line":"``tag``."},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"Performance Impact"},{"line_number":402,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ad40bd49_b451dbf6","line":399,"range":{"start_line":398,"start_character":0,"end_line":399,"end_character":6},"in_reply_to":"1cb9edd0_c67d0105","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":402,"context_line":"------------------"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"Through the use of ``vhost-user`` ``virtio-fs`` should have near local"},{"line_number":405,"context_line":"(mounted) file system performance within the guestOS."},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"Other deployer impact"},{"line_number":408,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1c5fc9_c69402b4","line":405,"updated":"2022-05-10 16:13:07.000000000","message":"do we want to note that while there will be near local performance between the vm and host the actual performance will be limited by the network performance of the network file share protocol and hardware.","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":402,"context_line":"------------------"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"Through the use of ``vhost-user`` ``virtio-fs`` should have near local"},{"line_number":405,"context_line":"(mounted) file system performance within the guestOS."},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"Other deployer impact"},{"line_number":408,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"caa1ddec_4eac66e0","line":405,"in_reply_to":"1a1c5fc9_c69402b4","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42a6c0bfa4168b616d1ed8b97e7b8ed7baf9a4c8","unresolved":true,"context_lines":[{"line_number":417,"context_line":"Upgrade impact"},{"line_number":418,"context_line":"--------------"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":421,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":422,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":423,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"65b009b7_bea88863","line":420,"range":{"start_line":420,"start_character":34,"end_line":420,"end_character":47},"updated":"2022-05-10 16:13:07.000000000","message":"capability","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9caa200a6f4e31c1313efc40c30a60b6827e4dbf","unresolved":false,"context_lines":[{"line_number":417,"context_line":"Upgrade impact"},{"line_number":418,"context_line":"--------------"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"A new compute service version and compatibility traits will be introduced to"},{"line_number":421,"context_line":"ensure both the compute service and underlying virt stack are new enough to"},{"line_number":422,"context_line":"support attaching a share via ``virtio-fs`` before the request is accepted."},{"line_number":423,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bed9d44e_9e706adc","line":420,"range":{"start_line":420,"start_character":34,"end_line":420,"end_character":47},"in_reply_to":"65b009b7_bea88863","updated":"2022-05-18 16:09:51.000000000","message":"Done","commit_id":"0e762f6d553b00ba0af0361c62de1e97b414bfc7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":89,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Instance will be scheduled on hosts supporting these cababilities using"},{"line_number":94,"context_line":"the following **flavor** or **image** properties."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Either,"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"4407c7f2_63d43c2a","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":49},"updated":"2022-05-19 08:48:12.000000000","message":"I still feel bad about asking the end user to know about such technical details when creating the flavor / image. I as a user only want that the VM supports Manila shares. The rest of the technical details (virtio fs, file backing, huge pages) should be hidden from me as that is implementation detail.\n\n@Sean, rest of the cores: Can we make something about this?","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"995028d7f8178250238d2948a2736b7b8b582289","unresolved":true,"context_lines":[{"line_number":89,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Instance will be scheduled on hosts supporting these cababilities using"},{"line_number":94,"context_line":"the following **flavor** or **image** properties."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Either,"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aab1184_84a86f12","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":49},"in_reply_to":"432d3982_e07c0675","updated":"2022-06-01 09:32:57.000000000","message":"I agree with COMPUTE_STORAGE_VIRTIO_FS, and this can be checked with the compute version once all compute nodes have been upgraded.\n\nFor the current release, I would rather support it explicitly.\nAs hugepage requires a flavor or image property, I would do the same for COMPUTE_MEM_BACKING_FILE.\n\nOf course, it needs to change flavors or image properties, but this is the same method, so a bit simpler.\nAs we can make a check and warn the user when he wants to associate a share, I think this is less error-prone than letting him do the association and then fail to start the VM if it is not on the correct AZ.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":false,"context_lines":[{"line_number":89,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Instance will be scheduled on hosts supporting these cababilities using"},{"line_number":94,"context_line":"the following **flavor** or **image** properties."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Either,"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"effeb132_2d736331","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":49},"in_reply_to":"43cc9081_19c52918","updated":"2022-07-05 12:12:47.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"825939ca1cbfb19f2397c54b4ab70d933ee13abb","unresolved":true,"context_lines":[{"line_number":89,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Instance will be scheduled on hosts supporting these cababilities using"},{"line_number":94,"context_line":"the following **flavor** or **image** properties."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Either,"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"432d3982_e07c0675","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":49},"in_reply_to":"4407c7f2_63d43c2a","updated":"2022-05-23 14:07:48.000000000","message":"so the expecation is that you will not have to set\n\nEither,\n- ``traits:required\u003dCOMPUTE_STORAGE_VIRTIO_FS``\n- ``traits:required\u003dCOMPUTE_MEM_BACKING_FILE``\nor\n- ``traits:required\u003dCOMPUTE_STORAGE_VIRTIO_FS``\n- ``hw:mem_page_size`` (huge pages)\n\nyou can if you want to ensure that the vm is schduled to a host with the ablity to do the manial attach.\n\nbut in general we woudl expect all libvirt hosts to support COMPUTE_STORAGE_VIRTIO_FS once you have upgraded your cloud fully\n\nso the prefilter will simple add that required trait if the instance has a share attached for move operations and either COMPUTE_MEM_BACKING_FILE if no hugepage or relay on the hugepage request.\n\nso since we are not supporting boot with an attached share in this cycle i would not actully expect operator to udate there flavor or image.\n\ni would expect them to crate an AZ wiht file backed memory and or create hugepage flavors.\n\n\nthere is a way to hide this entirely eventurly.\n\nwe just need to add support for mem_fd memory backing.\n\nin an earlier reviosn i noted that we should add\n\nhw:mem_backing_type\u003dram|mem_fd|file|hugepage|pmem\n\nwhere ram is just normaly annomous meory backing we used today\nmem_fd is memory file descrotor which would allow virtio-fs without file backed memory or hugepages.\nfile would just add required\u003dCOMPUTE_MEM_BACKING_FILE automatically\nhugepage would just be an alisa for hw:mem_page_size\u003dlarge\nand pmem would be reserved for supporting vms booted with ram allocated for a persitent memory device in app direct mode in the future when qemu actully supports that.\n\nso if we had that and we could reuse the explict hw:mem_backing_type\u003dmem_fd support implictly if we supported \"openstack server create  ... --share \u003cshare-id\u003e\"\nand hide this from the user.\n\nwe can also support it explcitly.\n\nmem_fd is suficent for dpdk too. it just makes sure the memory of the guest is accelable via an file descriptor whihc qemu passes to the vhost-user backend so it can map the virtio  rings into its adresspace for ipc.\n\nso i dont think we shoudl be encuraging operators to set these required traits today and instad document that they should enable the prifliter an either use flavors with hugepage or create an AZ with file backed memory and next cycle we can evolve this to either transparently use mem_fd or expose the memory backing type extra spec.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0d8388ca5d4de26c85868bde10ac6500b0a546b0","unresolved":true,"context_lines":[{"line_number":89,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Instance will be scheduled on hosts supporting these cababilities using"},{"line_number":94,"context_line":"the following **flavor** or **image** properties."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Either,"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"957565e6_560a49ce","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":49},"in_reply_to":"5aab1184_84a86f12","updated":"2022-06-22 09:18:31.000000000","message":"Flavors are not for end-users, so at least this is a start for asking the traits.\n\nNow, should we be doing an image property ? Not sure about this, maybe we could ask the operators to use a scheduler filter for providing aggregates if they have an image property. Anyway, maybe not really a problem for Zed.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6ea37d4a3dda9a49b39ee0d35d6e5d7c2332a5eb","unresolved":true,"context_lines":[{"line_number":89,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Instance will be scheduled on hosts supporting these cababilities using"},{"line_number":94,"context_line":"the following **flavor** or **image** properties."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Either,"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae608ef_f91ac6bb","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":49},"in_reply_to":"957565e6_560a49ce","updated":"2022-06-22 12:23:57.000000000","message":"we should not be adding either a flavor or image property for manila shares explictly.\n\n\nboth the flavor and image can request traits today.\n\nas an optional schduler prompt to select a valid host (not saying hit for reasons) end users can request the traits in the image or oeprators can specify them in the falvor but this should not be required to use the feature.\n\noperator have other tools at there disposal like aggreates and AZs that the can also use.\n\nsince we do not support live migration between host with file backed memeory to/from host without file backed memory we expect those to be in seperate hostaggretat and ideally azs today.\n\nsimilarly we do not supprot mixign numa and non numa instnace so we expect the hugepage enabled host to alredy be in there own aggreate.\n\nits less of an operational overhead to docuemtn the requirement and allow operators to reuse this existing isolation with aggrate then it is to force them to create new flavors to allow endusers to consome the new feature which is why im being instent that we can document the use of tratis btu we shoudl nto encurage them\nexplcitly.\n\ni hope in the future we can add support for memory backing memfd\nand the hw:mem_backing_type\u003dannomous,memfd,hugepage,file,pmem extra spec/image property that was declard out of scope of this spec.\n\nwith that we woudl simple document that if your only virt backend is libvirt\nto ensure you vm is  capable of manial shares set hw:mem_backing_type or the corresponing image property to one of file, memfd or hugepage\n\n\nas a side note im actully hoping we might be able to make memfd our default memory backing with access mode shared for libvirt in the futrue. this would mean you do not need to specify anything in the flavor for manila share or ovs-dpdk vhost-user interfaces. so moving to memfd by default woudl be of benift to useablity in general we just need to resarch if there are any other implications to that change.\n\nwith memfd all instances on all libvirt host woudl have the ablity to support supprot manila share by defualt and operators and users would not need to do anything in the future to use this feature expct if they had multiple virt drivers.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c8c680b7181fb6b4cdcff9a0c13e69d816a7feb","unresolved":true,"context_lines":[{"line_number":89,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Instance will be scheduled on hosts supporting these cababilities using"},{"line_number":94,"context_line":"the following **flavor** or **image** properties."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Either,"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"43cc9081_19c52918","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":49},"in_reply_to":"97c6373c_32574058","updated":"2022-06-30 16:06:46.000000000","message":"Consensus works for me. Let\u0027s not be prescriptive and rather document how to ask for specific traits in flavors and/or images like we do for vGPUs.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"72470bc72654099dc8926de11f182240bcbc2e71","unresolved":true,"context_lines":[{"line_number":89,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS``"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_MEM_BACKING_FILE``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Instance will be scheduled on hosts supporting these cababilities using"},{"line_number":94,"context_line":"the following **flavor** or **image** properties."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Either,"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"97c6373c_32574058","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":49},"in_reply_to":"bae608ef_f91ac6bb","updated":"2022-06-23 13:59:06.000000000","message":"I agree with Sean here to not prescribe any flavor / image metadata for now. But document that requirements of manila shares for the admins. Also when a share is being attached the traits for the current host can be inspected to see if the manila share can be attached or not.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":false,"context_lines":[{"line_number":187,"context_line":"anymore by another server."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"With the above mount and umount operation, the state is stored in memory and"},{"line_number":190,"context_line":"do not require a lookup in the database."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"The share will be mounted on the compute host using read/write mode."},{"line_number":193,"context_line":"Read-only will not be supported as a share could not be mounted read-only"}],"source_content_type":"text/x-rst","patch_set":7,"id":"b931ece8_71ec6fc3","line":190,"updated":"2022-05-19 08:48:12.000000000","message":"I do believe that we have to look somewhere either look at the hypervisor or to the DB after a compute service restart to know how many VM needs a given share so nova can decide if the last user is gone and the share can be unmounted. Lets continue this discussion in the implementation review. I think It will be easier to argue there.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":194,"context_line":"and read/write at the same time. If the user wants to mount the share"},{"line_number":195,"context_line":"read-only, it will have to do it in the VM fstab."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1b6f73cb_98863b74","line":197,"range":{"start_line":197,"start_character":29,"end_line":197,"end_character":39},"updated":"2022-05-19 08:48:12.000000000","message":"nit: associated","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b379733d6ad467cfba968d9ae851818b3c8b9c0d","unresolved":false,"context_lines":[{"line_number":194,"context_line":"and read/write at the same time. If the user wants to mount the share"},{"line_number":195,"context_line":"read-only, it will have to do it in the VM fstab."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"c3c75389_5b6c1fde","line":197,"range":{"start_line":197,"start_character":29,"end_line":197,"end_character":39},"in_reply_to":"1b6f73cb_98863b74","updated":"2022-05-23 13:31:59.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"39519f6e_bc75db0e","line":199,"updated":"2022-05-19 08:48:12.000000000","message":"De we know what will happen if the operator still go and delete a share in Manila while that is attached to the VM? Will there be a way to recover from that state?","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6db24656f15f070a65d65b2fb07b910a3fbc35da","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"140847d0_facb6820","line":199,"in_reply_to":"0329dd0a_3e021664","updated":"2022-06-02 15:54:57.000000000","message":"Thanks gibi, excellent point raised here.\nMHO is that Nova should somehow call the Manila API when attaching the share in order to make it \"in-use\u0027.\nPoint is, I\u0027m not a Manila specialist and api-ref leaves me puzzled with how to \u0027lock\u0027 a share and consider it \"reserved\".\nSean had a thought on a \"grant access\" share action, maybe this is the best API method to call, or maybe another one, we definitely need Manila contributors help here.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64d08f19652aa880715f5f710b9f35462b557dab","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"aff80ce9_8bfd849f","line":199,"in_reply_to":"140847d0_facb6820","updated":"2022-06-02 17:30:42.000000000","message":"yes so i belive we will need to grant acces sto the share to the compute host ip\nas part of attach so that we can connenect form the host to the share.\n\nand i was hoping an sideffect of that would be that it would make the share be in uses\n\nso perhaps manail can then block the deletion.\n\nnova would have to revoke access form the share too when we disconnect all uses of a share on a host.\n\nand in the future when we support move operation we will have to grant and revoke access in pre/post live migation  and in resize confrim/revert ectra.\n\nunfortunetly this is beyond my knolasge of how manilla work so hopefully manila experts can chime in and advise if ^ makes sense","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e8a5863fe831e8f342fd98e8464280481d8e2ad3","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"6ae9ab3f_0cb86cec","line":199,"in_reply_to":"39519f6e_bc75db0e","updated":"2022-05-23 12:53:02.000000000","message":"No checked yet. I will have alook.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9115575567cce51a4c3a3539f8f74c574c2882f0","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"945c2fc2_c9cd0365","line":199,"in_reply_to":"3aa30696_41bf7faa","updated":"2022-06-22 12:25:14.000000000","message":"yes i think that would work but if you implemnt that in manilla.\n\nto you poing about the protocol limitation that to me is not a limiation for manilla. manilla does not need to know if there is a client that is activly usign the share or not, just that access to the share has been expose and that a clinet could be sueing it shoudl be enough to prevent deleteion.\n\nmy limited under standing of manilla since its been a few year since i even deployed it last is there are two main steps to creating and usign a share\n\nfirst you create a share vai a post to /v2/shares specifying a share network to use for the backign vm/share backend, the share protocol and the size.\n\nthat cause a vm to be spunup with x amount of storage provided by a cinder volume and a neutron port to be created which is used to provide tenant access to the share over the neturon share network.\n\n\nthe second step is granting access.\n\nvia a post to /v2/shares/{share_id}/action\nhttps://docs.openstack.org/api-ref/shared-file-system/?expanded\u003dgrant-access-detail#grant-access\n\nuntil that point nothing should be able to connect to the share as no access has been granted.\n\nso when we call the grant access api to provide rw acces to the ip of the compute host that should hae the effect of marking the share as inuse internally in manilla and manilla shoudl prevent it form being deleted.\n\n\ni say shoudl be cause i dont belive that is what happens today but that is the semantics i woudl like to see implemted ideally.\n\n\nnova can as part of the share attach workflow call manila to ensure that we grant access to the hypervior host by ip (makrign the sare as in use) before we mount the share to the host and then expose it to the guest via virtio fs.\n\nwhen the vm is deleted or the share is detached we can revoke-access api to remove access form the hypervior host.\nhttps://docs.openstack.org/api-ref/shared-file-system/?expanded\u003d#revoke-access\n\n\nwhat shoudl i belive provide all the info to manilla that it need to prevent deleteion fo the share and allow nova to transparenly mange the access so that\nthe tenant shares are only accessblae on a minimal subset of hosts where the share is attached.\n\n\nfrom a secuirty point of view in the futre i actully woudl hope that instead of using the ip access mode we coudl use the cert authentication mode.\nbut that proably is out of scope for this cycle","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"540a15928e8b69258fbfef1fba11c519d13f9d76","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"0329dd0a_3e021664","line":199,"in_reply_to":"64d6a394_f7ee1849","updated":"2022-06-02 09:59:39.000000000","message":"Cool. I\u0027m looking forward to seeing their opinion about this","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"995028d7f8178250238d2948a2736b7b8b582289","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"be2472e2_bc023e11","line":199,"in_reply_to":"6ae9ab3f_0cb86cec","updated":"2022-06-01 09:32:57.000000000","message":"Unfortunately, share can be deleted, which means the data are not accessible anymore. Changing the directory or reading from the share reports a \"Permission denied\". Nothing prevents doing it.\nIt also removes the access-list of the share, causing an issue in the current code when you try to remove the share mapping pointing to the released share.\nThe current code is looking to remove the access list for the VM properly and is not able to find it.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"6d479a017bf1977b3862a5496b472ff843130c21","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"ddaa3924_fb5bafe3","line":199,"in_reply_to":"7c53f9d9_565ed012","updated":"2022-06-24 14:03:29.000000000","message":"FYI, I discussed with Goutham about the above lock mechanism. He suggested that it can be achieved with metadata passed with grant access API.\nI\u0027m just waiting for the metadata definition required from his side. Then I will update the spec and then the code.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"72470bc72654099dc8926de11f182240bcbc2e71","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7c53f9d9_565ed012","line":199,"in_reply_to":"945c2fc2_c9cd0365","updated":"2022-06-23 13:59:06.000000000","message":"Sean\u0027s proposal looks good to me","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"30fbd49c47ac2d32a4123b3770f6c8badb38ca74","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3aa30696_41bf7faa","line":199,"in_reply_to":"a00a2185_bae650bc","updated":"2022-06-21 17:51:34.000000000","message":"Thanks for checking! Currently manila has no feasible way for a share to be \"locked\" to prevent its deletion. A privileged user (project/cloud administrator) can put the share in a maintenance or busy state and effectively make it undeletable. However, this approach isn\u0027t useful in this context.\n\nThe main problem behind manila API not supporting an \"attached\" status is because the underlying NAS protocols cannot discern if a client is actively \"connected\" to a NAS server. \n\n\nHowever, I do like your proposal of adding a tenant driven \"busy\" state. One way of doing so can be via the interactions already being done here. Nova will need to perform an \"access-allow\" operation (POST /shares/\u003cid\u003e/action {\u0027allow_access\u0027: {...}) prior to attaching a share. In this call, if you could pass down some metadata, manila can put a \"lock\" on that share. Later, when a request comes to detach a share (POST /shares/\u003cid\u003e/action {\u0027deny_access\u0027: {\u003cid\u003e}), manila can \"unlock\" the share. \n\nIf this seems fine to you, i can implement this in manila.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"02cf26345551f00fdc9e69ff9c64a497cd41f169","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"a00a2185_bae650bc","line":199,"in_reply_to":"aff80ce9_8bfd849f","updated":"2022-06-08 13:19:24.000000000","message":"Sean, I thought about the same. The current code is doing the manila security allow/deny of the compute ip. But as explained above, the share can be deleted, and the policies will be deleted simultaneously.\nSo I think we can document that for the first iteration, then I guess we will have to work with the manila team to prevent that.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"87e000ff78ea1892a244cc2f2a09b4d309ac8fe5","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"64d6a394_f7ee1849","line":199,"in_reply_to":"be2472e2_bc023e11","updated":"2022-06-01 10:58:04.000000000","message":"I have added Manila contributors to this spec. So we could discuss if there is a way to improve that in the current spec or in the next release.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"aff04fe7_fe9fa647","line":199,"in_reply_to":"d1a5b909_4953a04a","updated":"2022-07-05 15:55:02.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c8c680b7181fb6b4cdcff9a0c13e69d816a7feb","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Deleting the share in Manila assiciated to a VM is not supported by this"},{"line_number":198,"context_line":"specification. Supporting this will require changes in Manila that are"},{"line_number":199,"context_line":"out of scope for this first release."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Instance metadata:"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"d1a5b909_4953a04a","line":199,"in_reply_to":"ddaa3924_fb5bafe3","updated":"2022-06-30 16:06:46.000000000","message":"MHO is that we shouldn\u0027t make this spec dependent on any Manila other spec. Let\u0027s try to provide a lock mechanism by the existing support and if we can\u0027t, let\u0027s document the caveat.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":228,"context_line":"        \"shares\": ["},{"line_number":229,"context_line":"            {"},{"line_number":230,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":231,"context_line":"                \"status\": \"attached\","},{"line_number":232,"context_line":"                \"tag\": \"foo\""},{"line_number":233,"context_line":"            },"},{"line_number":234,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":7,"id":"06a4555b_78de0207","line":231,"updated":"2022-05-19 08:48:12.000000000","message":"Is this \u0027active\u0027 and \u0027inactive\u0027 based on the above state diagram. Will nova translate \u0027active\u0027 to \u0027attached\u0027? If yes then what will be the translation for \u0027inactive\u0027?","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e8a5863fe831e8f342fd98e8464280481d8e2ad3","unresolved":true,"context_lines":[{"line_number":228,"context_line":"        \"shares\": ["},{"line_number":229,"context_line":"            {"},{"line_number":230,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":231,"context_line":"                \"status\": \"attached\","},{"line_number":232,"context_line":"                \"tag\": \"foo\""},{"line_number":233,"context_line":"            },"},{"line_number":234,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5426066d_b747707c","line":231,"in_reply_to":"06a4555b_78de0207","updated":"2022-05-23 12:53:02.000000000","message":"My bad, I forget to update it.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b379733d6ad467cfba968d9ae851818b3c8b9c0d","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        \"shares\": ["},{"line_number":229,"context_line":"            {"},{"line_number":230,"context_line":"                \"shareId\": \"48c16a1a-183f-4052-9dac-0e4fc1e498ad\","},{"line_number":231,"context_line":"                \"status\": \"attached\","},{"line_number":232,"context_line":"                \"tag\": \"foo\""},{"line_number":233,"context_line":"            },"},{"line_number":234,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":7,"id":"60b0d1aa_e22b9fce","line":231,"in_reply_to":"5426066d_b747707c","updated":"2022-05-23 13:31:59.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Attach a share to an instance."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Prerequisite(s): Instance much be in the ``SHUTOFF`` state."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":280,"context_line":"methods to determine when the attachment is complete."}],"source_content_type":"text/x-rst","patch_set":7,"id":"faba6efe_84927af5","line":277,"updated":"2022-05-19 08:48:12.000000000","message":"We need to document the other prerequisites (virto fs, memory backing).\n\nWill nova-api check these prerequisites during the attach API call? I think we should at least try to check it, otherwise there is zero guarantee that the VM can be started up after a share is attached. Probably we can look into the RequestSpec of the VM to decide that it was booted with these requirements.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b379733d6ad467cfba968d9ae851818b3c8b9c0d","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Attach a share to an instance."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Prerequisite(s): Instance much be in the ``SHUTOFF`` state."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":280,"context_line":"methods to determine when the attachment is complete."}],"source_content_type":"text/x-rst","patch_set":7,"id":"d1ee79cf_fc4ee604","line":277,"in_reply_to":"faba6efe_84927af5","updated":"2022-05-23 13:31:59.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Prerequisite(s): Instance much be in the ``SHUTOFF`` state."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":280,"context_line":"methods to determine when the attachment is complete."},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa78ca9_ac35299b","line":280,"range":{"start_line":279,"start_character":29,"end_line":280,"end_character":53},"updated":"2022-05-19 08:48:12.000000000","message":"I would mention (at least in the api ref) that the caller first need to start the VM then poll the GET method to see if the share is successfully attached as polling the GET without starting the VM is pointless.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b379733d6ad467cfba968d9ae851818b3c8b9c0d","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Prerequisite(s): Instance much be in the ``SHUTOFF`` state."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"This is an asynchronous API, callers will need to poll one of the above GET"},{"line_number":280,"context_line":"methods to determine when the attachment is complete."},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"b94a2d08_37ee9c7f","line":280,"range":{"start_line":279,"start_character":29,"end_line":280,"end_character":53},"in_reply_to":"9aa78ca9_ac35299b","updated":"2022-05-23 13:31:59.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":286,"context_line":".. note::"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"   ``tag`` will be an optional request parameter in the request body, when not"},{"line_number":289,"context_line":"   provided it will be the shareId(uuid) as always provided in the request."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"   ``tag`` if povided by the user must be an ascii string with a maximum"},{"line_number":292,"context_line":"   lenght of 64 bytes."}],"source_content_type":"text/x-rst","patch_set":7,"id":"a9614150_76306329","line":289,"range":{"start_line":289,"start_character":35,"end_line":289,"end_character":39},"updated":"2022-05-19 08:48:12.000000000","message":"nit: UUID","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b379733d6ad467cfba968d9ae851818b3c8b9c0d","unresolved":false,"context_lines":[{"line_number":286,"context_line":".. note::"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"   ``tag`` will be an optional request parameter in the request body, when not"},{"line_number":289,"context_line":"   provided it will be the shareId(uuid) as always provided in the request."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"   ``tag`` if povided by the user must be an ascii string with a maximum"},{"line_number":292,"context_line":"   lenght of 64 bytes."}],"source_content_type":"text/x-rst","patch_set":7,"id":"dc2ad719_9a0b3c23","line":289,"range":{"start_line":289,"start_character":35,"end_line":289,"end_character":39},"in_reply_to":"a9614150_76306329","updated":"2022-05-23 13:31:59.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":288,"context_line":"   ``tag`` will be an optional request parameter in the request body, when not"},{"line_number":289,"context_line":"   provided it will be the shareId(uuid) as always provided in the request."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"   ``tag`` if povided by the user must be an ascii string with a maximum"},{"line_number":292,"context_line":"   lenght of 64 bytes."},{"line_number":293,"context_line":""},{"line_number":294,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1ca81679_9b9c365d","line":291,"range":{"start_line":291,"start_character":45,"end_line":291,"end_character":50},"updated":"2022-05-19 08:48:12.000000000","message":"nit: ASCII","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b379733d6ad467cfba968d9ae851818b3c8b9c0d","unresolved":false,"context_lines":[{"line_number":288,"context_line":"   ``tag`` will be an optional request parameter in the request body, when not"},{"line_number":289,"context_line":"   provided it will be the shareId(uuid) as always provided in the request."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"   ``tag`` if povided by the user must be an ascii string with a maximum"},{"line_number":292,"context_line":"   lenght of 64 bytes."},{"line_number":293,"context_line":""},{"line_number":294,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"62dd0e16_1369df31","line":291,"range":{"start_line":291,"start_character":45,"end_line":291,"end_character":50},"in_reply_to":"1ca81679_9b9c365d","updated":"2022-05-23 13:31:59.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"Detach a share from an instance."},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"Prerequisite(s): Instance much be in the ``SHUTOFF`` state."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"423331c8_d66430dc","line":319,"range":{"start_line":319,"start_character":43,"end_line":319,"end_character":50},"updated":"2022-05-19 08:48:12.000000000","message":"I think we allow detaching in ERROR state too (L174)","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b379733d6ad467cfba968d9ae851818b3c8b9c0d","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"Detach a share from an instance."},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"Prerequisite(s): Instance much be in the ``SHUTOFF`` state."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"Return Code(s): 202,400,401,403,404,409"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"b4d1112a_0d248d90","line":319,"range":{"start_line":319,"start_character":43,"end_line":319,"end_character":50},"in_reply_to":"423331c8_d66430dc","updated":"2022-05-23 13:31:59.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"04fdc315a2ef4666d0021a2b2cd39acb02b75e7d","unresolved":true,"context_lines":[{"line_number":334,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":337,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":340,"context_line":"  the instance."}],"source_content_type":"text/x-rst","patch_set":7,"id":"4fec65b7_2a33e7f1","line":337,"updated":"2022-05-19 08:48:12.000000000","message":"The API defines state \u0027attached\u0027 instead of \u0027active\u0027 please define the mapping between the internal and external states or synchronize the state names.","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b379733d6ad467cfba968d9ae851818b3c8b9c0d","unresolved":false,"context_lines":[{"line_number":334,"context_line":"* ``share_id`` - The UUID of the share in Manila"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":337,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":340,"context_line":"  the instance."}],"source_content_type":"text/x-rst","patch_set":7,"id":"f2bb8828_a18b8d25","line":337,"in_reply_to":"4fec65b7_2a33e7f1","updated":"2022-05-23 13:31:59.000000000","message":"Done","commit_id":"4ea6c9d22b9d9dccac5d3984b5236f41a45bb49c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","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 operators need to ensure that Manila"},{"line_number":22,"context_line":"backend storage is routable from the guest subnets."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"b03c21fc_db235a56","line":22,"range":{"start_line":21,"start_character":23,"end_line":22,"end_character":51},"updated":"2022-07-05 15:55:02.000000000","message":"nit: this is really only true in the context of cephfs\n\nfor nfs and cfs(samba/windows share) the way manilla works\nis to request a cinder block device that is a attached to a vm\ncreated by manilla via nova.\n\nthat vm has a port connected to then neutron share network and\nteh vm exports the cinder volume as a nfs/cfs share over that neutron tentant netowrk\n\nso by defualt operatos do not need to make the backend routeable they only need to do this for cephfs since cephfs share are not exported via a vm using  a cinder backing volume they are directly created on the ceph cluster which is why the ceph cluster must be routeable.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":true,"context_lines":[{"line_number":45,"context_line":"Support for move operations once a share is attached will also not"},{"line_number":46,"context_line":"be covered by this spec, any requests to shelve, evacuate, resize, cold migrate"},{"line_number":47,"context_line":"or live migrate an instance with a share attached will be rejected with a"},{"line_number":48,"context_line":"HTTP409 response for the time being."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"A new server ``shares`` API will be introduced under a new microversion. This"},{"line_number":51,"context_line":"will list current shares, show their details and allow a share to be"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ee9dac5f_b0832437","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":8},"updated":"2022-07-05 15:55:02.000000000","message":"ack\n\n409 conlict makes sense\n\n409 is intened to be used when a resouce is in a state that does not allow the action requested to be performed.\n\nin this case the invalid sate for the move operation is an attached manilla share\nso semanticly this is correct.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2bfeeeac7283ee1f11b5522b65c2d3ad0da4e6da","unresolved":true,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Two new compute capability traits and filters will be introduced to model an"},{"line_number":87,"context_line":"individual compute\u0027s support for virtio-fs and file backed memory."},{"line_number":88,"context_line":"And while associating a share to an instance, a check will ensure the host"},{"line_number":89,"context_line":"running the instance will support the"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS`` trait"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7ed17476_531d1cb8","line":88,"range":{"start_line":88,"start_character":45,"end_line":88,"end_character":53},"updated":"2022-07-05 08:01:23.000000000","message":"I guess this will be an API check","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":true,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Two new compute capability traits and filters will be introduced to model an"},{"line_number":87,"context_line":"individual compute\u0027s support for virtio-fs and file backed memory."},{"line_number":88,"context_line":"And while associating a share to an instance, a check will ensure the host"},{"line_number":89,"context_line":"running the instance will support the"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- ``COMPUTE_STORAGE_VIRTIO_FS`` trait"}],"source_content_type":"text/x-rst","patch_set":10,"id":"b27b5fc9_ec27dc21","line":88,"range":{"start_line":88,"start_character":45,"end_line":88,"end_character":53},"in_reply_to":"7ed17476_531d1cb8","updated":"2022-07-05 15:55:02.000000000","message":"yes this is an api check.\n\nit will check that the hsot has the COMPUTE_STORAGE_VIRTIO_FS capablity trait and either COMPUTE_MEM_BACKING_FILE or that the flaovr/image requests hugepages.\n\nthis will be done in the api not the compute node or conductor\n\nthis is covered in more detial below but yes the localcation of the check will be the api service. code wise i expect this to be in the hardware.py module but called form the api.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"or"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"that the instance is configured with ``hw:mem_page_size`` extra spec."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"From an operator\u0027s point of view, it means"},{"line_number":102,"context_line":"``COMPUTE_STORAGE_VIRTIO_FS`` support requires that"}],"source_content_type":"text/x-rst","patch_set":10,"id":"b011806b_ee565300","line":99,"updated":"2022-07-05 12:12:47.000000000","message":"ack, this is what we are agreed on.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"or"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"that the instance is configured with ``hw:mem_page_size`` extra spec."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"From an operator\u0027s point of view, it means"},{"line_number":102,"context_line":"``COMPUTE_STORAGE_VIRTIO_FS`` support requires that"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3c7cd35e_2e17cccf","line":99,"in_reply_to":"b011806b_ee565300","updated":"2022-07-05 15:55:02.000000000","message":"nit it should check the flavor and image not jsut the flavor but its basically the same. we can clarify that in the implementation review and we can address this in a followup patch if we want too later.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2bfeeeac7283ee1f11b5522b65c2d3ad0da4e6da","unresolved":true,"context_lines":[{"line_number":101,"context_line":"From an operator\u0027s point of view, it means"},{"line_number":102,"context_line":"``COMPUTE_STORAGE_VIRTIO_FS`` support requires that"},{"line_number":103,"context_line":"operators must upgrade all their compute nodes to the version supporting"},{"line_number":104,"context_line":"shares using virtiofs."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"}],"source_content_type":"text/x-rst","patch_set":10,"id":"b837c211_101ce2e8","line":104,"updated":"2022-07-05 08:01:23.000000000","message":"LGTM.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":false,"context_lines":[{"line_number":101,"context_line":"From an operator\u0027s point of view, it means"},{"line_number":102,"context_line":"``COMPUTE_STORAGE_VIRTIO_FS`` support requires that"},{"line_number":103,"context_line":"operators must upgrade all their compute nodes to the version supporting"},{"line_number":104,"context_line":"shares using virtiofs."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"}],"source_content_type":"text/x-rst","patch_set":10,"id":"262b6984_5fcac4c9","line":104,"in_reply_to":"b837c211_101ce2e8","updated":"2022-07-05 12:12:47.000000000","message":"or they can keep the already upgraded hosts in a host aggregate and schedule the instances needing share to that aggregate.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2bfeeeac7283ee1f11b5522b65c2d3ad0da4e6da","unresolved":true,"context_lines":[{"line_number":103,"context_line":"operators must upgrade all their compute nodes to the version supporting"},{"line_number":104,"context_line":"shares using virtiofs."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7c7066f6_5049b642","line":107,"range":{"start_line":106,"start_character":0,"end_line":107,"end_character":34},"updated":"2022-07-05 08:01:23.000000000","message":"AFAICU, so RPs related to those compute services will have this trait thanks to your implementation, right?","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":true,"context_lines":[{"line_number":103,"context_line":"operators must upgrade all their compute nodes to the version supporting"},{"line_number":104,"context_line":"shares using virtiofs."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"}],"source_content_type":"text/x-rst","patch_set":10,"id":"0983d698_d5630b14","line":107,"range":{"start_line":106,"start_character":0,"end_line":107,"end_character":34},"in_reply_to":"38eb50ec_9ce4d022","updated":"2022-07-05 15:55:02.000000000","message":"yes the trait will be on the compute RP","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":true,"context_lines":[{"line_number":103,"context_line":"operators must upgrade all their compute nodes to the version supporting"},{"line_number":104,"context_line":"shares using virtiofs."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"}],"source_content_type":"text/x-rst","patch_set":10,"id":"38eb50ec_9ce4d022","line":107,"range":{"start_line":106,"start_character":0,"end_line":107,"end_character":34},"in_reply_to":"7c7066f6_5049b642","updated":"2022-07-05 12:12:47.000000000","message":"I think the COMPUTE_ capability traits will be on the compute RP. but otherwise I agree that the trait will be there so the compute-api can check for it during share attach","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2bfeeeac7283ee1f11b5522b65c2d3ad0da4e6da","unresolved":true,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"},{"line_number":111,"context_line":"by adding ``trait:COMPUTE_MEM_BACKING_FILE\u003drequired`` as an extra spec or"}],"source_content_type":"text/x-rst","patch_set":10,"id":"4691d0cc_5b27c52d","line":108,"range":{"start_line":108,"start_character":28,"end_line":108,"end_character":68},"updated":"2022-07-05 08:01:23.000000000","message":"why an AZ and not just an aggregate ?","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":true,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"},{"line_number":111,"context_line":"by adding ``trait:COMPUTE_MEM_BACKING_FILE\u003drequired`` as an extra spec or"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7bb0aa1f_d2800839","line":108,"range":{"start_line":108,"start_character":28,"end_line":108,"end_character":68},"in_reply_to":"4691d0cc_5b27c52d","updated":"2022-07-05 12:12:47.000000000","message":"both could work","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":true,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"},{"line_number":111,"context_line":"by adding ``trait:COMPUTE_MEM_BACKING_FILE\u003drequired`` as an extra spec or"}],"source_content_type":"text/x-rst","patch_set":10,"id":"cd4972f0_8932859b","line":108,"range":{"start_line":108,"start_character":28,"end_line":108,"end_character":68},"in_reply_to":"7bb0aa1f_d2800839","updated":"2022-07-05 15:55:02.000000000","message":"in general we don\u0027t support changing backend so both could work but without using required traits there is no use selectable way other then an AZ to say i want a file backed host or a non file backed host but there is not strict requiremnt for an az.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2bfeeeac7283ee1f11b5522b65c2d3ad0da4e6da","unresolved":true,"context_lines":[{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"},{"line_number":111,"context_line":"by adding ``trait:COMPUTE_MEM_BACKING_FILE\u003drequired`` as an extra spec or"},{"line_number":112,"context_line":"image property."}],"source_content_type":"text/x-rst","patch_set":10,"id":"f78028a6_d6521fd3","line":109,"range":{"start_line":109,"start_character":9,"end_line":109,"end_character":61},"updated":"2022-07-05 08:01:23.000000000","message":"ahah, I see why then.\nWell, I\u0027m pretty sure operators will prefer to provide some flavors then.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":true,"context_lines":[{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"},{"line_number":111,"context_line":"by adding ``trait:COMPUTE_MEM_BACKING_FILE\u003drequired`` as an extra spec or"},{"line_number":112,"context_line":"image property."}],"source_content_type":"text/x-rst","patch_set":10,"id":"b8bfae6b_168347fc","line":109,"range":{"start_line":109,"start_character":9,"end_line":109,"end_character":61},"in_reply_to":"543e2e9c_c0107a08","updated":"2022-07-05 15:55:02.000000000","message":"if they only have libvirt in there cloud and they already have hugepage flaovr then they can just tell people to use hugepages if they want to support this but ya its really up to them.\n\nif they have a mix of file backed hosts and non file backed hosts i would generally hope they have AZ or host aggregates already in place to separate those sets of host but we are not being perspective here. they are free to take whatever apptoch works best for them such as usign the placment isolated aggreate feature, or aggreate instance extra specs feature or nothing if all there host meet the requiremtnes.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":true,"context_lines":[{"line_number":106,"context_line":"``COMPUTE_MEM_BACKING_FILE`` support requires that operators configure one or"},{"line_number":107,"context_line":"more hosts with file backed memory. Ensuring the instance will land on one of"},{"line_number":108,"context_line":"these hosts can be achieved by creating an AZ englobing these hosts."},{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"},{"line_number":111,"context_line":"by adding ``trait:COMPUTE_MEM_BACKING_FILE\u003drequired`` as an extra spec or"},{"line_number":112,"context_line":"image property."}],"source_content_type":"text/x-rst","patch_set":10,"id":"543e2e9c_c0107a08","line":109,"range":{"start_line":109,"start_character":9,"end_line":109,"end_character":61},"in_reply_to":"f78028a6_d6521fd3","updated":"2022-07-05 12:12:47.000000000","message":"yeah, either AZ, or host aggregate + flavor extra_spec","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":false,"context_lines":[{"line_number":109,"context_line":"And then instruct users to deploy their instances in this AZ."},{"line_number":110,"context_line":"Alternatively, operators can guide the scheduler to choose a suitable host"},{"line_number":111,"context_line":"by adding ``trait:COMPUTE_MEM_BACKING_FILE\u003drequired`` as an extra spec or"},{"line_number":112,"context_line":"image property."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/file-backed-memory.html"},{"line_number":115,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/huge-pages.html"}],"source_content_type":"text/x-rst","patch_set":10,"id":"c8f88979_1423b668","line":112,"updated":"2022-07-05 12:12:47.000000000","message":"+1","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":true,"context_lines":[{"line_number":179,"context_line":"This chart describe the share mapping status (nova), this is independent from"},{"line_number":180,"context_line":"the status of the Manila share."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Share attachment/detachment can only be done if the VM state is ``STOPPED``"},{"line_number":183,"context_line":"or ``ERROR``."},{"line_number":184,"context_line":"These are operations only on the database, and no RPC calls will be required"},{"line_number":185,"context_line":"to the compute API. This is an intentional design for this spec."},{"line_number":186,"context_line":"As a result, this could lead to situation where the VM start operation fails"}],"source_content_type":"text/x-rst","patch_set":10,"id":"a98e6f4a_636c6b37","line":183,"range":{"start_line":182,"start_character":0,"end_line":183,"end_character":13},"updated":"2022-07-05 12:12:47.000000000","message":"I thought we only support detach in ERROR state. And support attach only in STOPPED.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0f92975c7e0ee7d70ffbc50d988082de87370269","unresolved":true,"context_lines":[{"line_number":179,"context_line":"This chart describe the share mapping status (nova), this is independent from"},{"line_number":180,"context_line":"the status of the Manila share."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Share attachment/detachment can only be done if the VM state is ``STOPPED``"},{"line_number":183,"context_line":"or ``ERROR``."},{"line_number":184,"context_line":"These are operations only on the database, and no RPC calls will be required"},{"line_number":185,"context_line":"to the compute API. This is an intentional design for this spec."},{"line_number":186,"context_line":"As a result, this could lead to situation where the VM start operation fails"}],"source_content_type":"text/x-rst","patch_set":10,"id":"8ca8eb31_d6b5235d","line":183,"range":{"start_line":182,"start_character":0,"end_line":183,"end_character":13},"in_reply_to":"5b210693_8e1a04a4","updated":"2022-07-05 16:48:14.000000000","message":"I think I just wanted to emphesize:\n* attach needs VM in STOPPED state\n* detach needs VM in STOPPED or ERROR state\n\nThe sentence might mean this already but it might mean that we support attach in ERROR which I don\u0027t like","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"abf7f25a45de6edb0e30f8c1d9201f89efa2da9f","unresolved":true,"context_lines":[{"line_number":179,"context_line":"This chart describe the share mapping status (nova), this is independent from"},{"line_number":180,"context_line":"the status of the Manila share."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Share attachment/detachment can only be done if the VM state is ``STOPPED``"},{"line_number":183,"context_line":"or ``ERROR``."},{"line_number":184,"context_line":"These are operations only on the database, and no RPC calls will be required"},{"line_number":185,"context_line":"to the compute API. This is an intentional design for this spec."},{"line_number":186,"context_line":"As a result, this could lead to situation where the VM start operation fails"}],"source_content_type":"text/x-rst","patch_set":10,"id":"52a2c360_10cb72dc","line":183,"range":{"start_line":182,"start_character":0,"end_line":183,"end_character":13},"in_reply_to":"8ca8eb31_d6b5235d","updated":"2022-07-05 16:55:40.000000000","message":"oh yes i dont like that either lets clean that workding up.\n\ni did not read it that way but you are corect \n\nattach needs VM in STOPPED state\ndetach needs VM in STOPPED or ERROR state\n\nand attach needs VM in ERROR is not supproted\n\n+1","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":true,"context_lines":[{"line_number":179,"context_line":"This chart describe the share mapping status (nova), this is independent from"},{"line_number":180,"context_line":"the status of the Manila share."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Share attachment/detachment can only be done if the VM state is ``STOPPED``"},{"line_number":183,"context_line":"or ``ERROR``."},{"line_number":184,"context_line":"These are operations only on the database, and no RPC calls will be required"},{"line_number":185,"context_line":"to the compute API. This is an intentional design for this spec."},{"line_number":186,"context_line":"As a result, this could lead to situation where the VM start operation fails"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5b210693_8e1a04a4","line":183,"range":{"start_line":182,"start_character":0,"end_line":183,"end_character":13},"in_reply_to":"a98e6f4a_636c6b37","updated":"2022-07-05 15:55:02.000000000","message":"we should support detach in stopped or error.\n\nand attach is only in stopped.\n\nthe limitation for live attach/detach is a qemu one but we can do it when the vm is stopped.\n\nthe applicaiton in the guest might be unhappy if you did not stop using the sare in it before you stop the instnace but if you did then it shoudl be perfectly safe to support detach during the stopped state.\n\nso i think this is correct as is.\n\n\nare you confusing this with deleteing the share when the vm is runnign perhaps?\nor when the vm is stopped but you have nto detached it form the vm?\n\ndeleting the share when the share is assocated with a runnign or stopped vm woudl be unsupported and will likely result in the entering error when you try to start it. that can be adressed by detaching it in the error state or permetivly detaching it in the stopped state.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2bfeeeac7283ee1f11b5522b65c2d3ad0da4e6da","unresolved":true,"context_lines":[{"line_number":214,"context_line":"If the above Manila change can land in the Zed cycle,"},{"line_number":215,"context_line":"the proposal here is to use the lock mechanism in Nova."},{"line_number":216,"context_line":"Otherwise, clearly document the known issue as unsupported and warn users that"},{"line_number":217,"context_line":"they should take care and avoid this pitfall."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Instance metadata:"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"294d3f3a_2e3d887c","line":217,"updated":"2022-07-05 08:01:23.000000000","message":"++","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":false,"context_lines":[{"line_number":214,"context_line":"If the above Manila change can land in the Zed cycle,"},{"line_number":215,"context_line":"the proposal here is to use the lock mechanism in Nova."},{"line_number":216,"context_line":"Otherwise, clearly document the known issue as unsupported and warn users that"},{"line_number":217,"context_line":"they should take care and avoid this pitfall."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Instance metadata:"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"851156f4_e297aa45","line":217,"in_reply_to":"294d3f3a_2e3d887c","updated":"2022-07-05 12:12:47.000000000","message":"+1","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fde5442519794d32b93ad2bb3a86bab280a7afa3","unresolved":false,"context_lines":[{"line_number":297,"context_line":"Prerequisite(s):"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"- Instance much be in the ``SHUTOFF`` state."},{"line_number":300,"context_line":"- Instance should have the required capabilities to enable"},{"line_number":301,"context_line":"  virtiofs (see above)."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"This is a synchronous API. As a result, the VM share attachement state"}],"source_content_type":"text/x-rst","patch_set":10,"id":"dae74481_f5c908d1","line":300,"range":{"start_line":300,"start_character":2,"end_line":300,"end_character":10},"updated":"2022-07-05 12:12:47.000000000","message":"nit: Actually both the compute the instance is landed on and the instance itself needs to have some capabilities. But it is OK as is. We can make sure the API ref is good in the code review.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"efb747f3a5cb48d2806a74c6562bf734cefa6815","unresolved":true,"context_lines":[{"line_number":362,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":363,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":366,"context_line":"  the instance."},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"* ``export_location`` - The export location used to attach the share to the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"141a467b_4d2e1c8c","line":365,"range":{"start_line":365,"start_character":4,"end_line":365,"end_character":7},"updated":"2022-07-05 15:55:02.000000000","message":"this shoudl be called something else\n\ni suggest mount_tag\n\nthe reason is that we shoudl reserve tag for use in teh context fo device role tagging.\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/virt-device-role-tagging.html#data-model-impact\n\n\n-1 is for this","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"03668430f6a44a0cf06f0478dc314d5549b5f977","unresolved":true,"context_lines":[{"line_number":362,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":363,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":366,"context_line":"  the instance."},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"* ``export_location`` - The export location used to attach the share to the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"c8f8aea5_e62c46f7","line":365,"range":{"start_line":365,"start_character":4,"end_line":365,"end_character":7},"in_reply_to":"141a467b_4d2e1c8c","updated":"2022-07-05 16:03:35.000000000","message":"just to be clear my concern is that the mount_tag is an implemantion detail of our use of virtio_fs\n\nif in the future qemu has native support for cephfs or nfs \nor other virt drivers want to implement support for manilla share but use rdma or some other non virtio-fs backend \n\nthey shoudl still be able to use tag for device_role tagging but shoudl not be burdened with its double usage as the mount tag.\n\nso if there is not a stong objection i woudl like to keep thsese as two independed atibbutes\n\nteh mount_tag being the virtio-fs tag used to mount the filesystem in the guest\nand the tag filed bing a high level tag chossabel by the end user that is independed form the low level implemnation details.\n\ntag should be portable across backend mount_tag would be virtio-fs sepcfic.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"abf7f25a45de6edb0e30f8c1d9201f89efa2da9f","unresolved":true,"context_lines":[{"line_number":362,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":363,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":366,"context_line":"  the instance."},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"* ``export_location`` - The export location used to attach the share to the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"b7ac7438_cb268a68","line":365,"range":{"start_line":365,"start_character":4,"end_line":365,"end_character":7},"in_reply_to":"8f3fe2ff_23bd1fec","updated":"2022-07-05 16:55:40.000000000","message":"im trying to think of a case wehre mount tag and tag would need to be differnt\nand i cant so until a customer asks for it lets assuem you are right and we can just default tag to the shareid and that if you want to give it a high level name you can just set tag in the request.","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0f92975c7e0ee7d70ffbc50d988082de87370269","unresolved":true,"context_lines":[{"line_number":362,"context_line":"* ``status`` - The status of the share attachment within Nova"},{"line_number":363,"context_line":"  (``active``, ``inactive``, ``error``)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"* ``tag`` - The device tag to be used by users to mount the share within"},{"line_number":366,"context_line":"  the instance."},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"* ``export_location`` - The export location used to attach the share to the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"8f3fe2ff_23bd1fec","line":365,"range":{"start_line":365,"start_character":4,"end_line":365,"end_character":7},"in_reply_to":"c8f8aea5_e62c46f7","updated":"2022-07-05 16:48:14.000000000","message":"Hm, can we simply say that \u0027tag\u0027 here is both a high level device tag, and also something that libvirt with virto_fs uses automatically as a mount_tag? Does the user ever need to specify different values for tag and mount tag?","commit_id":"58a313367c52761f13f714637c34787a121bfcc2"}]}
