)]}'
{"specs/xena/spec-lite-add-human-readable-export-locations.rst":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"38c472af247a5bc3e2f3b993c08f47e6ba82aaca","unresolved":true,"context_lines":[{"line_number":8,"context_line":"-----------------------------------------------------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":":problem: Export locations are usually too difficult to memorize."},{"line_number":11,"context_line":"          Currently, there is no way to interfere the export location creation,"},{"line_number":12,"context_line":"          so users wait until the share creation request gets completed, and"},{"line_number":13,"context_line":"          then they check the export locations to mount the share."},{"line_number":14,"context_line":"          The generated export locations are often not human readable and it"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4814ea27_36e9e383","line":11,"range":{"start_line":11,"start_character":40,"end_line":11,"end_character":51},"updated":"2021-06-23 23:23:04.000000000","message":"infer, deduce, determine the export location before the share is created, ...  \"interfere\" would be to block or get in the way of the process.","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":8,"context_line":"-----------------------------------------------------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":":problem: Export locations are usually too difficult to memorize."},{"line_number":11,"context_line":"          Currently, there is no way to interfere the export location creation,"},{"line_number":12,"context_line":"          so users wait until the share creation request gets completed, and"},{"line_number":13,"context_line":"          then they check the export locations to mount the share."},{"line_number":14,"context_line":"          The generated export locations are often not human readable and it"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e11a73e5_662ddc7e","line":11,"range":{"start_line":11,"start_character":40,"end_line":11,"end_character":51},"in_reply_to":"4814ea27_36e9e383","updated":"2021-06-24 15:06:43.000000000","message":"Nice... Thank you for the suggestions, Tom :)","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"38c472af247a5bc3e2f3b993c08f47e6ba82aaca","unresolved":true,"context_lines":[{"line_number":12,"context_line":"          so users wait until the share creation request gets completed, and"},{"line_number":13,"context_line":"          then they check the export locations to mount the share."},{"line_number":14,"context_line":"          The generated export locations are often not human readable and it"},{"line_number":15,"context_line":"          is hard to memorize and control them."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":":solution: We could introduce a new field for shares where users would be able"},{"line_number":18,"context_line":"           to specify a custom export location in the share creation. It should"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f074c3df_2bb12b2c","line":15,"updated":"2021-06-23 23:23:04.000000000","message":"Nice problem statement.","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":12,"context_line":"          so users wait until the share creation request gets completed, and"},{"line_number":13,"context_line":"          then they check the export locations to mount the share."},{"line_number":14,"context_line":"          The generated export locations are often not human readable and it"},{"line_number":15,"context_line":"          is hard to memorize and control them."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":":solution: We could introduce a new field for shares where users would be able"},{"line_number":18,"context_line":"           to specify a custom export location in the share creation. It should"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c025ac35_2a22c00d","line":15,"in_reply_to":"f074c3df_2bb12b2c","updated":"2021-06-24 15:06:43.000000000","message":"Thanks :)","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"38c472af247a5bc3e2f3b993c08f47e6ba82aaca","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":":solution: We could introduce a new field for shares where users would be able"},{"line_number":18,"context_line":"           to specify a custom export location in the share creation. It should"},{"line_number":19,"context_line":"           be"},{"line_number":20,"context_line":"           easier for them to memorize the export location of the share, in"},{"line_number":21,"context_line":"           case there is need to mount the share again. If this field is"},{"line_number":22,"context_line":"           specified during the creation request, the backends that supports"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fcd2e770_cd3cd411","line":19,"updated":"2021-06-23 23:23:04.000000000","message":"nit: line wrap and justification","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":":solution: We could introduce a new field for shares where users would be able"},{"line_number":18,"context_line":"           to specify a custom export location in the share creation. It should"},{"line_number":19,"context_line":"           be"},{"line_number":20,"context_line":"           easier for them to memorize the export location of the share, in"},{"line_number":21,"context_line":"           case there is need to mount the share again. If this field is"},{"line_number":22,"context_line":"           specified during the creation request, the backends that supports"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1df4ef1b_78516f62","line":19,"in_reply_to":"fcd2e770_cd3cd411","updated":"2021-06-24 15:06:43.000000000","message":"Done","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"38c472af247a5bc3e2f3b993c08f47e6ba82aaca","unresolved":true,"context_lines":[{"line_number":19,"context_line":"           be"},{"line_number":20,"context_line":"           easier for them to memorize the export location of the share, in"},{"line_number":21,"context_line":"           case there is need to mount the share again. If this field is"},{"line_number":22,"context_line":"           specified during the creation request, the backends that supports"},{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."}],"source_content_type":"text/x-rst","patch_set":1,"id":"432047c6_e225601f","line":22,"updated":"2021-06-23 23:23:04.000000000","message":"nit: backends support","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":19,"context_line":"           be"},{"line_number":20,"context_line":"           easier for them to memorize the export location of the share, in"},{"line_number":21,"context_line":"           case there is need to mount the share again. If this field is"},{"line_number":22,"context_line":"           specified during the creation request, the backends that supports"},{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."}],"source_content_type":"text/x-rst","patch_set":1,"id":"8cdb354a_bc61a096","line":22,"in_reply_to":"432047c6_e225601f","updated":"2021-06-24 15:06:43.000000000","message":"Done","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3d9778039d8cb6c1c9ce68b27ef2c0c1224fa15e","unresolved":true,"context_lines":[{"line_number":22,"context_line":"           specified during the creation request, the backends that supports"},{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept illegal"},{"line_number":28,"context_line":"           characters and if they are received, they are going to be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"eeba15ec_52413c94","line":25,"range":{"start_line":25,"start_character":11,"end_line":25,"end_character":79},"updated":"2021-06-24 01:07:07.000000000","message":"A share can be exported on multiple networks at the same time; consider a DHSS\u003dFalse NetApp vServer with two data LIFs. In addition, we allow the possibility of an \"admin\" network for share migration. \n\nWould the human readable export be created on each of the networks configured?","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":22,"context_line":"           specified during the creation request, the backends that supports"},{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept illegal"},{"line_number":28,"context_line":"           characters and if they are received, they are going to be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"88ad9967_b6d79986","line":25,"range":{"start_line":25,"start_character":11,"end_line":25,"end_character":79},"in_reply_to":"eeba15ec_52413c94","updated":"2021-06-24 15:06:43.000000000","message":"Yeah, that\u0027s the initial idea... It can increase the amount of export locations a lot in scenarios where there are lots of lifs, but we\u0027d be allowing users to be mounting the shares using each one of them...","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3d9778039d8cb6c1c9ce68b27ef2c0c1224fa15e","unresolved":true,"context_lines":[{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept illegal"},{"line_number":28,"context_line":"           characters and if they are received, they are going to be"},{"line_number":29,"context_line":"           transformed into underscores. The value for this field can not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"84215bfb_c3f456c3","line":26,"range":{"start_line":26,"start_character":40,"end_line":26,"end_character":60},"updated":"2021-06-24 01:07:07.000000000","message":"This can default to the name of the share if not specified? Or are you expecting to not create human readable exports if this isn\u0027t provided?","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept illegal"},{"line_number":28,"context_line":"           characters and if they are received, they are going to be"},{"line_number":29,"context_line":"           transformed into underscores. The value for this field can not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"288d8635_529dc31c","line":26,"range":{"start_line":26,"start_character":40,"end_line":26,"end_character":60},"in_reply_to":"84215bfb_c3f456c3","updated":"2021-06-24 15:06:43.000000000","message":"Initially, I\u0027m expecting to not create if the mount_point_name was not specified... In this way, users would be free to decide it...\nAlso because I thought about the following scenario:\nUser accidentally creates a share using a name that is currently being used by other share, and coincidentally the same share server/backend (in the DHSS\u003dFalse case) is chosen by manila... If we were to reuse the name to create the human readable export location, a request that currently works perfectly would fail...","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"38c472af247a5bc3e2f3b993c08f47e6ba82aaca","unresolved":true,"context_lines":[{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept illegal"},{"line_number":28,"context_line":"           characters and if they are received, they are going to be"},{"line_number":29,"context_line":"           transformed into underscores. The value for this field can not"},{"line_number":30,"context_line":"           exceed 255 characters, otherwise the request will be denied."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bcf76e82_aedac2c2","line":27,"updated":"2021-06-23 23:23:04.000000000","message":"Do we have a clear definition of these?","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept illegal"},{"line_number":28,"context_line":"           characters and if they are received, they are going to be"},{"line_number":29,"context_line":"           transformed into underscores. The value for this field can not"},{"line_number":30,"context_line":"           exceed 255 characters, otherwise the request will be denied."}],"source_content_type":"text/x-rst","patch_set":1,"id":"22db1a94_502cce0f","line":27,"in_reply_to":"bcf76e82_aedac2c2","updated":"2021-06-24 15:06:43.000000000","message":"It is good to mention.. but I\u0027d say we should allow only underscores, or maybe if white spaces were provided, we could replace them by underscores.","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3d9778039d8cb6c1c9ce68b27ef2c0c1224fa15e","unresolved":true,"context_lines":[{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept illegal"},{"line_number":28,"context_line":"           characters and if they are received, they are going to be"},{"line_number":29,"context_line":"           transformed into underscores. The value for this field can not"},{"line_number":30,"context_line":"           exceed 255 characters, otherwise the request will be denied."},{"line_number":31,"context_line":"           An export location must be unique in a share server so it can work"},{"line_number":32,"context_line":"           properly. So, when creating the share, Manila will also validate if"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ce446dde_156e3c2d","line":29,"range":{"start_line":28,"start_character":48,"end_line":29,"end_character":39},"updated":"2021-06-24 01:07:07.000000000","message":"We shouldn\u0027t be transforming these; validating and returning a HTTP BadRequest instead would be better user experience","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept illegal"},{"line_number":28,"context_line":"           characters and if they are received, they are going to be"},{"line_number":29,"context_line":"           transformed into underscores. The value for this field can not"},{"line_number":30,"context_line":"           exceed 255 characters, otherwise the request will be denied."},{"line_number":31,"context_line":"           An export location must be unique in a share server so it can work"},{"line_number":32,"context_line":"           properly. So, when creating the share, Manila will also validate if"}],"source_content_type":"text/x-rst","patch_set":1,"id":"63b133d7_4ef250cf","line":29,"range":{"start_line":28,"start_character":48,"end_line":29,"end_character":39},"in_reply_to":"ce446dde_156e3c2d","updated":"2021-06-24 15:06:43.000000000","message":"Agreed...","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"0f07c0fee558525ac93c554b890f2dacd3a065c4","unresolved":true,"context_lines":[{"line_number":33,"context_line":"           shares within the same share server have the same value set. In case"},{"line_number":34,"context_line":"           the operating driver mode is ``DHSS\u003dFalse``, we must make sure that"},{"line_number":35,"context_line":"           all shares within the same backend stanza do not have the same"},{"line_number":36,"context_line":"           ``mount_point_name``. Otherwise, the share creation must fail."},{"line_number":37,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":38,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":39,"context_line":"           current drivers."}],"source_content_type":"text/x-rst","patch_set":1,"id":"249ba7a0_81c56116","line":36,"range":{"start_line":36,"start_character":33,"end_line":36,"end_character":73},"updated":"2021-06-24 11:58:32.000000000","message":"What could go wrong with other shares operations like: replica and promotion of replica, share migration, etc. Could this new share attribute block those operations if not supported? Or just continue with the operation and the remove the custom export name if not supported (or in conflict with another existing export location, in the same share server).","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":33,"context_line":"           shares within the same share server have the same value set. In case"},{"line_number":34,"context_line":"           the operating driver mode is ``DHSS\u003dFalse``, we must make sure that"},{"line_number":35,"context_line":"           all shares within the same backend stanza do not have the same"},{"line_number":36,"context_line":"           ``mount_point_name``. Otherwise, the share creation must fail."},{"line_number":37,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":38,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":39,"context_line":"           current drivers."}],"source_content_type":"text/x-rst","patch_set":1,"id":"f96170d3_a184cd0a","line":36,"range":{"start_line":36,"start_character":33,"end_line":36,"end_character":73},"in_reply_to":"249ba7a0_81c56116","updated":"2021-06-24 15:06:43.000000000","message":"In the case of replicas and promotion of replicas I think it should be okay, considering that active and inactive replicas wouldn\u0027t usually reside in different backend storages (i.e. wouldn\u0027t create a replica of my NetApp share in a Dell backend)\nBut for share migration, it would be nice to have this in the share type and possibly being reported by the backend, otherwise if a share is migrated from a backend that supports custom export locations to another that doesn\u0027t, the latter wouldn\u0027t be able to create the custom export location. In that case, I\u0027d say we have two approaches:\n1. Error the migration, claiming that the destination backend does not support such thing\n2. Allow the migration to happen but add a LOG alleging that the custom export location won\u0027t be available in the destination.\nI\u0027d say I\u0027m in favor of 2... Considering that we can not enforce all driver vendors to implement this because we are unsure that all of them would support such functionality.","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"38c472af247a5bc3e2f3b993c08f47e6ba82aaca","unresolved":true,"context_lines":[{"line_number":34,"context_line":"           the operating driver mode is ``DHSS\u003dFalse``, we must make sure that"},{"line_number":35,"context_line":"           all shares within the same backend stanza do not have the same"},{"line_number":36,"context_line":"           ``mount_point_name``. Otherwise, the share creation must fail."},{"line_number":37,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":38,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":39,"context_line":"           current drivers."},{"line_number":40,"context_line":"           So in a share creation scenario, the users will be able to create"}],"source_content_type":"text/x-rst","patch_set":1,"id":"aa271571_c919c46f","line":37,"updated":"2021-06-23 23:23:04.000000000","message":"I\u0027m a bit concerned about the user experience here.  They will provide a custom_export_location at create time and get no error.  But it may be ignored depending on which back end is scheduled for the share creation.\n\nAlso, they may get an error later on if the custom_export_location that they have chosen is already in use on the scheduled back end.","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":true,"context_lines":[{"line_number":34,"context_line":"           the operating driver mode is ``DHSS\u003dFalse``, we must make sure that"},{"line_number":35,"context_line":"           all shares within the same backend stanza do not have the same"},{"line_number":36,"context_line":"           ``mount_point_name``. Otherwise, the share creation must fail."},{"line_number":37,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":38,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":39,"context_line":"           current drivers."},{"line_number":40,"context_line":"           So in a share creation scenario, the users will be able to create"}],"source_content_type":"text/x-rst","patch_set":1,"id":"789bb495_64697917","line":37,"in_reply_to":"55e9793c_ae46e164","updated":"2021-06-24 15:06:43.000000000","message":"Yeah, the UX will be a bit modified in the creation... But we can mitigate this with share type extra spec and the capability. We can fail a bit earlier if a mount_path_name was specified, and the share type says there\u0027s not support for it on its extra specs, but in case it matches the extra spec but there\u0027s no backend to handle it, it would fail in the scheduler. Still, it\u0027s earlier than the initial idea...\nYeah... Project renames shouldn\u0027t happen so often, and I think we can hazard relying on it...\nFor DHSS\u003dFalse, we could avoid giving much details in the user message and get to a consensus...","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3d9778039d8cb6c1c9ce68b27ef2c0c1224fa15e","unresolved":true,"context_lines":[{"line_number":34,"context_line":"           the operating driver mode is ``DHSS\u003dFalse``, we must make sure that"},{"line_number":35,"context_line":"           all shares within the same backend stanza do not have the same"},{"line_number":36,"context_line":"           ``mount_point_name``. Otherwise, the share creation must fail."},{"line_number":37,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":38,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":39,"context_line":"           current drivers."},{"line_number":40,"context_line":"           So in a share creation scenario, the users will be able to create"}],"source_content_type":"text/x-rst","patch_set":1,"id":"55e9793c_ae46e164","line":37,"in_reply_to":"aa271571_c919c46f","updated":"2021-06-24 01:07:07.000000000","message":"I guess I assumed the UX to be a little different here; isn\u0027t it possible to introduce \"human_readable_export_location_support\" as a new tenant visible capability and ensure that this is set in the share type so that we can only schedule to backends where this workflow is possible?\n\nAnother concern is multitenancy - I see no problems with DHSS\u003dTrue consumers being told \"there\u0027s already an export with the name you\u0027re creating, so try another name\" via an asynchronous user message; but, for DHSS\u003dFalse, divulging this information is problematic. Is it possible to add some deduplication structure?\n\nProject names are unique within a domain and known/friendly to end-users and can be used (however, you can rename projects - only the IDs are really unique - project renames don\u0027t happen every day though; so we can probably hazard using names?)","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"0f07c0fee558525ac93c554b890f2dacd3a065c4","unresolved":true,"context_lines":[{"line_number":40,"context_line":"           So in a share creation scenario, the users will be able to create"},{"line_number":41,"context_line":"           shares like::"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"                $ manila create nfs 1 --name share_name --export-location-name custom_export_location"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"           And users will be able to mount shares using the custom export"},{"line_number":46,"context_line":"           location, as in this example::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e352c0f5_23b6168e","line":43,"range":{"start_line":43,"start_character":56,"end_line":43,"end_character":76},"updated":"2021-06-24 11:58:32.000000000","message":"is there a requirement for more than one custom export location? or at this moment, just one is enough?","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3d9778039d8cb6c1c9ce68b27ef2c0c1224fa15e","unresolved":true,"context_lines":[{"line_number":40,"context_line":"           So in a share creation scenario, the users will be able to create"},{"line_number":41,"context_line":"           shares like::"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"                $ manila create nfs 1 --name share_name --export-location-name custom_export_location"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"           And users will be able to mount shares using the custom export"},{"line_number":46,"context_line":"           location, as in this example::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e2ce9cae_4ca19aa7","line":43,"range":{"start_line":43,"start_character":58,"end_line":43,"end_character":78},"updated":"2021-06-24 01:07:07.000000000","message":"we can keep this as mount-point-name here as well?","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":40,"context_line":"           So in a share creation scenario, the users will be able to create"},{"line_number":41,"context_line":"           shares like::"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"                $ manila create nfs 1 --name share_name --export-location-name custom_export_location"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"           And users will be able to mount shares using the custom export"},{"line_number":46,"context_line":"           location, as in this example::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a25e4b1a_b35a233e","line":43,"range":{"start_line":43,"start_character":58,"end_line":43,"end_character":78},"in_reply_to":"e2ce9cae_4ca19aa7","updated":"2021-06-24 15:06:43.000000000","message":"Yeah, sure... Sounds better","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":40,"context_line":"           So in a share creation scenario, the users will be able to create"},{"line_number":41,"context_line":"           shares like::"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"                $ manila create nfs 1 --name share_name --export-location-name custom_export_location"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"           And users will be able to mount shares using the custom export"},{"line_number":46,"context_line":"           location, as in this example::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7bf13a3f_efa8b2da","line":43,"range":{"start_line":43,"start_character":56,"end_line":43,"end_character":76},"in_reply_to":"e352c0f5_23b6168e","updated":"2021-06-24 15:06:43.000000000","message":"I\u0027d say just one should be enough, considering that we will have this and also the export locations that are already being created by the share Drivers...","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"0f07c0fee558525ac93c554b890f2dacd3a065c4","unresolved":true,"context_lines":[{"line_number":60,"context_line":"              - Contributor guide"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"          - Database Impact"},{"line_number":63,"context_line":"              - A new field called ``mount_point_name`` will be added to"},{"line_number":64,"context_line":"                the ``shares`` model."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"          - Python-manilaclient impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fe85accf_46540a72","line":63,"range":{"start_line":63,"start_character":37,"end_line":63,"end_character":53},"updated":"2021-06-24 11:58:32.000000000","message":"\u0027export_location_name\u0027 perhaps","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":60,"context_line":"              - Contributor guide"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"          - Database Impact"},{"line_number":63,"context_line":"              - A new field called ``mount_point_name`` will be added to"},{"line_number":64,"context_line":"                the ``shares`` model."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"          - Python-manilaclient impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"69085062_4245014a","line":63,"range":{"start_line":63,"start_character":37,"end_line":63,"end_character":53},"in_reply_to":"fe85accf_46540a72","updated":"2021-06-24 15:06:43.000000000","message":"Hmm, that\u0027s hard to name this... At least for me, when I say `export_location_name` out loud, it sounds like something I can relate to the entire export location, like `10.0.1.2:/my_share`, not to only a piece of it... The initial idea was mount_point_name because it really sounds like a configurable piece of an export location...\nDon\u0027t know if this makes sense to you...\nWe can have more thoughts on this :)","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3d9778039d8cb6c1c9ce68b27ef2c0c1224fa15e","unresolved":true,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":":alternative: As an alternative, drivers could reuse the name and the"},{"line_number":74,"context_line":"              description of shares and generate human readable export"},{"line_number":75,"context_line":"              locations, but that does not leaves freedom to users creating"},{"line_number":76,"context_line":"              the shares."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":":timeline: Include in Xena release."},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f9c8092_70e44949","line":76,"range":{"start_line":75,"start_character":25,"end_line":76,"end_character":24},"updated":"2021-06-24 01:07:07.000000000","message":"why not :) users determine the names of shares","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"897a315074368961fe9c59b8b3142c547def47ff","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":":alternative: As an alternative, drivers could reuse the name and the"},{"line_number":74,"context_line":"              description of shares and generate human readable export"},{"line_number":75,"context_line":"              locations, but that does not leaves freedom to users creating"},{"line_number":76,"context_line":"              the shares."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":":timeline: Include in Xena release."},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f6c157ff_6cdeb92a","line":76,"range":{"start_line":75,"start_character":25,"end_line":76,"end_character":24},"in_reply_to":"7f9c8092_70e44949","updated":"2021-06-24 15:06:43.000000000","message":"yeah, they do... the only concern here would be duplicated names then...","commit_id":"42b5df447a3c3e59bb05e311c56beab9fb569984"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c49e19aed9a8d55f27ee6ca4aa09eca3b1035aac","unresolved":true,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":":problem: Export locations are usually too difficult to memorize."},{"line_number":11,"context_line":"          Currently, there is no way to determine the export location before"},{"line_number":12,"context_line":"          the share is created creation, so users wait until the share creation"},{"line_number":13,"context_line":"          request gets completed, and then they check the export locations to"},{"line_number":14,"context_line":"          mount the share."},{"line_number":15,"context_line":"          The generated export locations are often not human readable and it"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5387f210_19ee12cf","line":12,"range":{"start_line":12,"start_character":30,"end_line":12,"end_character":39},"updated":"2021-06-24 18:55:20.000000000","message":"remove","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4cb891f5ee01944778d2d22d72f90e1a872c1d48","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":":problem: Export locations are usually too difficult to memorize."},{"line_number":11,"context_line":"          Currently, there is no way to determine the export location before"},{"line_number":12,"context_line":"          the share is created creation, so users wait until the share creation"},{"line_number":13,"context_line":"          request gets completed, and then they check the export locations to"},{"line_number":14,"context_line":"          mount the share."},{"line_number":15,"context_line":"          The generated export locations are often not human readable and it"}],"source_content_type":"text/x-rst","patch_set":2,"id":"4fea9d39_f6470bd6","line":12,"range":{"start_line":12,"start_character":30,"end_line":12,"end_character":39},"in_reply_to":"5387f210_19ee12cf","updated":"2021-06-24 20:29:49.000000000","message":"Done","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c49e19aed9a8d55f27ee6ca4aa09eca3b1035aac","unresolved":true,"context_lines":[{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores and white spaces. If white spaces"},{"line_number":29,"context_line":"           were provided, Manila will replace them by underscores and if they"},{"line_number":30,"context_line":"           are received, Manila is going to raise HTTP BadRequest, warning that"},{"line_number":31,"context_line":"           such characters should not be provided. The value for this field"},{"line_number":32,"context_line":"           can not exceed 255 characters, otherwise the request will be denied."},{"line_number":33,"context_line":"           An export location must be unique in a share server so it can work"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d6a1f661_8b0fbe11","line":30,"range":{"start_line":29,"start_character":66,"end_line":30,"end_character":23},"updated":"2021-06-24 18:55:20.000000000","message":"If special characters other than the mentioned are received, ...","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"be484c0c8e8158a1d305d7aba5a67a2ad332ec16","unresolved":true,"context_lines":[{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores and white spaces. If white spaces"},{"line_number":29,"context_line":"           were provided, Manila will replace them by underscores and if they"},{"line_number":30,"context_line":"           are received, Manila is going to raise HTTP BadRequest, warning that"},{"line_number":31,"context_line":"           such characters should not be provided. The value for this field"},{"line_number":32,"context_line":"           can not exceed 255 characters, otherwise the request will be denied."},{"line_number":33,"context_line":"           An export location must be unique in a share server so it can work"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa29261c_4568b662","line":30,"range":{"start_line":29,"start_character":66,"end_line":30,"end_character":23},"in_reply_to":"d6a1f661_8b0fbe11","updated":"2021-06-24 19:12:10.000000000","message":"Why not disallow white spaces as well, rather than converting them?","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4cb891f5ee01944778d2d22d72f90e1a872c1d48","unresolved":false,"context_lines":[{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores and white spaces. If white spaces"},{"line_number":29,"context_line":"           were provided, Manila will replace them by underscores and if they"},{"line_number":30,"context_line":"           are received, Manila is going to raise HTTP BadRequest, warning that"},{"line_number":31,"context_line":"           such characters should not be provided. The value for this field"},{"line_number":32,"context_line":"           can not exceed 255 characters, otherwise the request will be denied."},{"line_number":33,"context_line":"           An export location must be unique in a share server so it can work"}],"source_content_type":"text/x-rst","patch_set":2,"id":"03471471_99ea5bf5","line":30,"range":{"start_line":29,"start_character":66,"end_line":30,"end_character":23},"in_reply_to":"fa29261c_4568b662","updated":"2021-06-24 20:29:49.000000000","message":"yeah, makes sense just prohibiting them...","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"be484c0c8e8158a1d305d7aba5a67a2ad332ec16","unresolved":true,"context_lines":[{"line_number":43,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":44,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":45,"context_line":"           created."},{"line_number":46,"context_line":"           In case of a share migration, if the destination backend does not"},{"line_number":47,"context_line":"           support creating custom export locations, a log message will be"},{"line_number":48,"context_line":"           added and the migration will not fail."},{"line_number":49,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":50,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":51,"context_line":"           current drivers."}],"source_content_type":"text/x-rst","patch_set":2,"id":"2b40b0c1_1d843964","line":48,"range":{"start_line":46,"start_character":11,"end_line":48,"end_character":49},"updated":"2021-06-24 19:12:10.000000000","message":"If the destination/new share type has \"human_readable_export_location_support\u003dTrue\", the migration will fail in the scheduler if the chosen destination backend doesn\u0027t support it. \n\nIf the destination backend supports it, but there\u0027s a conflict, we\u0027ve to deal with it as a failure during phase 1, don\u0027t you think? I don\u0027t see a possibility where you can ignore this failure\n\nIf the destination/new share type has no \"human_readable_export_location_support\" extra-spec or if it is set to False, we can safely pop off the mount_point_name from the destination share.","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"74a206fb82b9d54572dc4fb89e51da40811ac0ca","unresolved":true,"context_lines":[{"line_number":43,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":44,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":45,"context_line":"           created."},{"line_number":46,"context_line":"           In case of a share migration, if the destination backend does not"},{"line_number":47,"context_line":"           support creating custom export locations, a log message will be"},{"line_number":48,"context_line":"           added and the migration will not fail."},{"line_number":49,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":50,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":51,"context_line":"           current drivers."}],"source_content_type":"text/x-rst","patch_set":2,"id":"baf9312b_22d50bfe","line":48,"range":{"start_line":46,"start_character":11,"end_line":48,"end_character":49},"in_reply_to":"2b40b0c1_1d843964","updated":"2021-06-24 19:34:27.000000000","message":"\u0027If the destination/new share type has no \"human_readable_export_location_support\" extra-spec or if it is set to False, we can safely pop off the mount_point_name from the destination share.\u0027\n - another idea would be: add a new \u0027--new-mount-point-name\u0027 parameter to share-migration api, and then can be used to 1) set a new name to solve a conflict or 2) set to a empty string/None, meaning remove mount_point_name from the destination share.\n\nMigrating to a new share-type that doesn\u0027t have the new extra-spec could lead to an unwanted mount_point_name removal too, instead of just failing in the first phase. Admins may want to know that they will need to drop mount_point_name before continuing with the migration.","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"67619576ab36de2e7947ef99dcf73a13b926c180","unresolved":false,"context_lines":[{"line_number":43,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":44,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":45,"context_line":"           created."},{"line_number":46,"context_line":"           In case of a share migration, if the destination backend does not"},{"line_number":47,"context_line":"           support creating custom export locations, a log message will be"},{"line_number":48,"context_line":"           added and the migration will not fail."},{"line_number":49,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":50,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":51,"context_line":"           current drivers."}],"source_content_type":"text/x-rst","patch_set":2,"id":"0a27e82a_68a94e7f","line":48,"range":{"start_line":46,"start_character":11,"end_line":48,"end_character":49},"in_reply_to":"72f77e29_285fde52","updated":"2021-06-24 22:40:50.000000000","message":"Switching the field value to None makes sense... We can do it after the migration succeded...","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4cb891f5ee01944778d2d22d72f90e1a872c1d48","unresolved":true,"context_lines":[{"line_number":43,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":44,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":45,"context_line":"           created."},{"line_number":46,"context_line":"           In case of a share migration, if the destination backend does not"},{"line_number":47,"context_line":"           support creating custom export locations, a log message will be"},{"line_number":48,"context_line":"           added and the migration will not fail."},{"line_number":49,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":50,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":51,"context_line":"           current drivers."}],"source_content_type":"text/x-rst","patch_set":2,"id":"8ff659e4_15b400c0","line":48,"range":{"start_line":46,"start_character":11,"end_line":48,"end_character":49},"in_reply_to":"8d287d7f_de41bcd5","updated":"2021-06-24 20:29:49.000000000","message":"\u003e \u003e  - another idea would be: add a new \u0027--new-mount-point-name\u0027 parameter to share-migration api, and then can be used to 1) set a new name to solve a conflict or 2) set to a empty string/None, meaning remove mount_point_name from the destination share.\n\u003e \n\u003e +1\n\u003e \n\u003e \u003e Migrating to a new share-type that doesn\u0027t have the new extra-spec could lead to an unwanted mount_point_name removal too, instead of just failing in the first phase. Admins may want to know that they will need to drop mount_point_name before continuing with the migration.\n\u003e \n\u003e So you\u0027re suggesting that we check the source share for the \"mount_point_name\" and fail the migration-start API request if a \"--new-mount-point-name None\" is not provided? But they\u0027re explicitly moving to a share type that doesn\u0027t have support for that feature; so we wouldn\u0027t be dropping anything - just not creating new human readable export locations.\n\nIMO the new parameter for the migration-start sounds like a good idea specially in case we are migrating beteen share types that support the same capability, but at the same time sounds like some sort of redundancy if someone specifies a share type that does not support human readable export locations, and we make them specify the --new-mount-point-name","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"8e2ce9e7e5484dc807940dec560b9ef3bb904ab5","unresolved":true,"context_lines":[{"line_number":43,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":44,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":45,"context_line":"           created."},{"line_number":46,"context_line":"           In case of a share migration, if the destination backend does not"},{"line_number":47,"context_line":"           support creating custom export locations, a log message will be"},{"line_number":48,"context_line":"           added and the migration will not fail."},{"line_number":49,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":50,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":51,"context_line":"           current drivers."}],"source_content_type":"text/x-rst","patch_set":2,"id":"72f77e29_285fde52","line":48,"range":{"start_line":46,"start_character":11,"end_line":48,"end_character":49},"in_reply_to":"8ff659e4_15b400c0","updated":"2021-06-24 21:16:34.000000000","message":"- So you\u0027re suggesting that we check the source share for the \"mount_point_name\" and fail the migration-start API request if a \"--new-mount-point-name None\" is not provided? But they\u0027re explicitly moving to a share type that doesn\u0027t have support for that feature; so we wouldn\u0027t be dropping anything - just not creating new human readable export locations.\nIf during a share-migration, the new instance is created in the destination without the readable export location, we should drop the \u0027mount_point_name\u0027 from share\u0027s db entry, or it will be inconsistent.\nNot sure if this embedded logic on share-type extra-specs, which I also think that is reasonable, is clear for the cloud admin. That\u0027s why I raised that question.","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b27dfed29e9b11af83976cada499ff50bfb4cfbf","unresolved":true,"context_lines":[{"line_number":43,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":44,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":45,"context_line":"           created."},{"line_number":46,"context_line":"           In case of a share migration, if the destination backend does not"},{"line_number":47,"context_line":"           support creating custom export locations, a log message will be"},{"line_number":48,"context_line":"           added and the migration will not fail."},{"line_number":49,"context_line":"           If a backend does not support adding the custom export location to"},{"line_number":50,"context_line":"           the share, it can just not act on it, causing no impact in the"},{"line_number":51,"context_line":"           current drivers."}],"source_content_type":"text/x-rst","patch_set":2,"id":"8d287d7f_de41bcd5","line":48,"range":{"start_line":46,"start_character":11,"end_line":48,"end_character":49},"in_reply_to":"baf9312b_22d50bfe","updated":"2021-06-24 20:13:17.000000000","message":"\u003e  - another idea would be: add a new \u0027--new-mount-point-name\u0027 parameter to share-migration api, and then can be used to 1) set a new name to solve a conflict or 2) set to a empty string/None, meaning remove mount_point_name from the destination share.\n\n+1\n\n\u003e Migrating to a new share-type that doesn\u0027t have the new extra-spec could lead to an unwanted mount_point_name removal too, instead of just failing in the first phase. Admins may want to know that they will need to drop mount_point_name before continuing with the migration.\n\nSo you\u0027re suggesting that we check the source share for the \"mount_point_name\" and fail the migration-start API request if a \"--new-mount-point-name None\" is not provided? But they\u0027re explicitly moving to a share type that doesn\u0027t have support for that feature; so we wouldn\u0027t be dropping anything - just not creating new human readable export locations.","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"be484c0c8e8158a1d305d7aba5a67a2ad332ec16","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"          - REST API Impact."},{"line_number":66,"context_line":"              - A microversion bump to the share API."},{"line_number":67,"context_line":"              - The API will accept the field ``mount_point_name``."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"          - Documentation Impact"},{"line_number":70,"context_line":"              - User guide"}],"source_content_type":"text/x-rst","patch_set":2,"id":"2613ee30_e4ec727a","line":67,"range":{"start_line":67,"start_character":66,"end_line":67,"end_character":67},"updated":"2021-06-24 19:12:10.000000000","message":"and return it in share, share_instance and share_replica resource objects","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4cb891f5ee01944778d2d22d72f90e1a872c1d48","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"          - REST API Impact."},{"line_number":66,"context_line":"              - A microversion bump to the share API."},{"line_number":67,"context_line":"              - The API will accept the field ``mount_point_name``."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"          - Documentation Impact"},{"line_number":70,"context_line":"              - User guide"}],"source_content_type":"text/x-rst","patch_set":2,"id":"4cc58a20_06039408","line":67,"range":{"start_line":67,"start_character":66,"end_line":67,"end_character":67},"in_reply_to":"2613ee30_e4ec727a","updated":"2021-06-24 20:29:49.000000000","message":"Done","commit_id":"b37a950632a657a1ca18f0623e6d6fd3e6863c2f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f2f120d3ab337ff7599c86fb65a18e18077afcb7","unresolved":true,"context_lines":[{"line_number":22,"context_line":"           specified during the creation request, the backends that support"},{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores. If special characters other than"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e6a6772d_0d5c7aa6","line":25,"range":{"start_line":25,"start_character":67,"end_line":25,"end_character":78},"updated":"2021-06-25 00:40:36.000000000","message":"others if they exist. It\u0027s possible backends that implement this feature may only be able to provide one export path.","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"           specified during the creation request, the backends that support"},{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores. If special characters other than"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7b712d0b_751220a5","line":25,"range":{"start_line":25,"start_character":67,"end_line":25,"end_character":78},"in_reply_to":"e6a6772d_0d5c7aa6","updated":"2021-06-25 12:31:19.000000000","message":"Done","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"04875c31c7c50b3badfcc051a6a01659412afd57","unresolved":true,"context_lines":[{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores. If special characters other than"},{"line_number":29,"context_line":"           underscores are provided, Manila is going to raise HTTP BadRequest,"},{"line_number":30,"context_line":"           warning that such characters are not allowed. The value for this"}],"source_content_type":"text/x-rst","patch_set":3,"id":"47828e95_45db333f","line":27,"range":{"start_line":26,"start_character":65,"end_line":27,"end_character":39},"updated":"2021-06-25 02:13:56.000000000","message":"if user create share replica, different share instance has different export location, and one share may have more than one share instance. so i think this field should add to the ShareInstanceExportLocations model. and when share manage layer tell driver to create share instance, the \u0027mount_point_name\u0027 should passed to the driver layer, the driver must use it to create a new export_location for share instance. then `mount_point_name` will be a part of path attribute of ShareInstanceExportLocations model.\n\nThese are my personal opinions","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"           such functionality would be able to create multiple export locations"},{"line_number":24,"context_line":"           for a given share, and users would be able to mount the shares"},{"line_number":25,"context_line":"           either using the human readable export location, or the default one."},{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores. If special characters other than"},{"line_number":29,"context_line":"           underscores are provided, Manila is going to raise HTTP BadRequest,"},{"line_number":30,"context_line":"           warning that such characters are not allowed. The value for this"}],"source_content_type":"text/x-rst","patch_set":3,"id":"69e233e5_2bda1f97","line":27,"range":{"start_line":26,"start_character":65,"end_line":27,"end_character":39},"in_reply_to":"47828e95_45db333f","updated":"2021-06-25 12:31:19.000000000","message":"I think our current design already covers this, considering that in a share creation scenario, the export location objects are being created after the request to the driver to create the share succeeds...\n\nThe return for create_share call in the driver already returns the export locations, so we\u0027d just need to add this custom export location to the list and the share manager would create this export location in the database as wel...\n\nAbout the share replicas: Not all inactive share instances might have export locations attached to it. This is true when the replication type is Readable or Writable, but not strictly true when the replication type is DR.\n\nBut if we want to have this export locations also created for the share replicas, we just need to add it to the replica ref and manila will take care of the rest...","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f2f120d3ab337ff7599c86fb65a18e18077afcb7","unresolved":true,"context_lines":[{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores. If special characters other than"},{"line_number":29,"context_line":"           underscores are provided, Manila is going to raise HTTP BadRequest,"},{"line_number":30,"context_line":"           warning that such characters are not allowed. The value for this"},{"line_number":31,"context_line":"           field can not exceed 255 characters, otherwise the request will be"},{"line_number":32,"context_line":"           denied. An export location must be unique in a share server so it"}],"source_content_type":"text/x-rst","patch_set":3,"id":"83931e70_d49584b7","line":29,"range":{"start_line":29,"start_character":37,"end_line":29,"end_character":43},"updated":"2021-06-25 00:40:36.000000000","message":"the manila api service","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"           The new field will be called ``mount_point_name`` and it will"},{"line_number":27,"context_line":"           be added to the shares model. This field will not accept special"},{"line_number":28,"context_line":"           characters other than underscores. If special characters other than"},{"line_number":29,"context_line":"           underscores are provided, Manila is going to raise HTTP BadRequest,"},{"line_number":30,"context_line":"           warning that such characters are not allowed. The value for this"},{"line_number":31,"context_line":"           field can not exceed 255 characters, otherwise the request will be"},{"line_number":32,"context_line":"           denied. An export location must be unique in a share server so it"}],"source_content_type":"text/x-rst","patch_set":3,"id":"135631f6_5875c56a","line":29,"range":{"start_line":29,"start_character":37,"end_line":29,"end_character":43},"in_reply_to":"83931e70_d49584b7","updated":"2021-06-25 12:31:19.000000000","message":"Done","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f2f120d3ab337ff7599c86fb65a18e18077afcb7","unresolved":true,"context_lines":[{"line_number":31,"context_line":"           field can not exceed 255 characters, otherwise the request will be"},{"line_number":32,"context_line":"           denied. An export location must be unique in a share server so it"},{"line_number":33,"context_line":"           can work properly. So, when creating the share in ``DHSS\u003dTrue``"},{"line_number":34,"context_line":"           driver mode, Manila will also validate if shares within the same"},{"line_number":35,"context_line":"           share server have the same value set. In case the operating driver"},{"line_number":36,"context_line":"           mode is ``DHSS\u003dFalse``, we must check within the tenant if there are"},{"line_number":37,"context_line":"           duplicated ``mount_point_name`` for the chosen host. Otherwise, the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a6f624ad_2ec63c9c","line":34,"range":{"start_line":34,"start_character":24,"end_line":34,"end_character":30},"updated":"2021-06-25 00:40:36.000000000","message":"the manila share service","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"           field can not exceed 255 characters, otherwise the request will be"},{"line_number":32,"context_line":"           denied. An export location must be unique in a share server so it"},{"line_number":33,"context_line":"           can work properly. So, when creating the share in ``DHSS\u003dTrue``"},{"line_number":34,"context_line":"           driver mode, Manila will also validate if shares within the same"},{"line_number":35,"context_line":"           share server have the same value set. In case the operating driver"},{"line_number":36,"context_line":"           mode is ``DHSS\u003dFalse``, we must check within the tenant if there are"},{"line_number":37,"context_line":"           duplicated ``mount_point_name`` for the chosen host. Otherwise, the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"92221d9d_a92c2f9d","line":34,"range":{"start_line":34,"start_character":24,"end_line":34,"end_character":30},"in_reply_to":"a6f624ad_2ec63c9c","updated":"2021-06-25 12:31:19.000000000","message":"Done","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f2f120d3ab337ff7599c86fb65a18e18077afcb7","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           denied. An export location must be unique in a share server so it"},{"line_number":33,"context_line":"           can work properly. So, when creating the share in ``DHSS\u003dTrue``"},{"line_number":34,"context_line":"           driver mode, Manila will also validate if shares within the same"},{"line_number":35,"context_line":"           share server have the same value set. In case the operating driver"},{"line_number":36,"context_line":"           mode is ``DHSS\u003dFalse``, we must check within the tenant if there are"},{"line_number":37,"context_line":"           duplicated ``mount_point_name`` for the chosen host. Otherwise, the"},{"line_number":38,"context_line":"           share creation must fail. Not having duplicated shares\u0027"},{"line_number":39,"context_line":"           ``mount_point_name`` is not a guarantee that the creation will"},{"line_number":40,"context_line":"           succeed in case the driver mode is ``DHSS\u003dFalse``."},{"line_number":41,"context_line":"           The driver may fail if there a share from another tenant created"},{"line_number":42,"context_line":"           with the same value for this field. A succinct user message will be"},{"line_number":43,"context_line":"           added in this case."},{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"}],"source_content_type":"text/x-rst","patch_set":3,"id":"78996f1b_b01c1bcc","line":43,"range":{"start_line":35,"start_character":49,"end_line":43,"end_character":30},"updated":"2021-06-25 00:40:36.000000000","message":"I don\u0027t understand this; and i can see it becoming confusing to end users that sometimes the share creation would succeed and sometimes it won\u0027t. \n\nInstead, can\u0027t we set the expectation that the human readable export location will always have the project name prefixed to it?\n\nFor example, if \nusername: carloss\nproject_name: netapp\nproject_id: 54c1f452936d4a71a9845d0daf357a98 \n\ncreates a share and sets the \"mount_point_name\" to \"my_secret_store\", \nthe manila API service will prefix the project_name to the mount_point_name and stores it as \"netapp_my_secret_store\"\n\nThat way, you can always divulge to end users that there\u0027s already a share mounted at that path, and the name cannot be used with the share network subnet (for DHSS\u003dTrue) or share type (for DHSS\u003dFalse).","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"           denied. An export location must be unique in a share server so it"},{"line_number":33,"context_line":"           can work properly. So, when creating the share in ``DHSS\u003dTrue``"},{"line_number":34,"context_line":"           driver mode, Manila will also validate if shares within the same"},{"line_number":35,"context_line":"           share server have the same value set. In case the operating driver"},{"line_number":36,"context_line":"           mode is ``DHSS\u003dFalse``, we must check within the tenant if there are"},{"line_number":37,"context_line":"           duplicated ``mount_point_name`` for the chosen host. Otherwise, the"},{"line_number":38,"context_line":"           share creation must fail. Not having duplicated shares\u0027"},{"line_number":39,"context_line":"           ``mount_point_name`` is not a guarantee that the creation will"},{"line_number":40,"context_line":"           succeed in case the driver mode is ``DHSS\u003dFalse``."},{"line_number":41,"context_line":"           The driver may fail if there a share from another tenant created"},{"line_number":42,"context_line":"           with the same value for this field. A succinct user message will be"},{"line_number":43,"context_line":"           added in this case."},{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b3b82413_bc96c05c","line":43,"range":{"start_line":35,"start_character":49,"end_line":43,"end_character":30},"in_reply_to":"583c896b_9a9f22e8","updated":"2021-06-25 12:31:19.000000000","message":"I liked the idea... Modified the text to reflect it... Thank you!","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"04875c31c7c50b3badfcc051a6a01659412afd57","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           denied. An export location must be unique in a share server so it"},{"line_number":33,"context_line":"           can work properly. So, when creating the share in ``DHSS\u003dTrue``"},{"line_number":34,"context_line":"           driver mode, Manila will also validate if shares within the same"},{"line_number":35,"context_line":"           share server have the same value set. In case the operating driver"},{"line_number":36,"context_line":"           mode is ``DHSS\u003dFalse``, we must check within the tenant if there are"},{"line_number":37,"context_line":"           duplicated ``mount_point_name`` for the chosen host. Otherwise, the"},{"line_number":38,"context_line":"           share creation must fail. Not having duplicated shares\u0027"},{"line_number":39,"context_line":"           ``mount_point_name`` is not a guarantee that the creation will"},{"line_number":40,"context_line":"           succeed in case the driver mode is ``DHSS\u003dFalse``."},{"line_number":41,"context_line":"           The driver may fail if there a share from another tenant created"},{"line_number":42,"context_line":"           with the same value for this field. A succinct user message will be"},{"line_number":43,"context_line":"           added in this case."},{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"}],"source_content_type":"text/x-rst","patch_set":3,"id":"583c896b_9a9f22e8","line":43,"range":{"start_line":35,"start_character":49,"end_line":43,"end_character":30},"in_reply_to":"78996f1b_b01c1bcc","updated":"2021-06-25 02:13:56.000000000","message":"i think this is a good idea, then end user will not have to worry about their own `mount_point_name` being duplicated with the user\u0027s Settings under other projects,\nJust consider not repeating values set by other users under your own project.\neven you can prefix the  project_name and user name to the mount_point_name and stores it as \"netapp_carloss_my_secret_store\"","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"288740a065edc77d6c82984092fa6b334bc04e27","unresolved":false,"context_lines":[{"line_number":32,"context_line":"           denied. An export location must be unique in a share server so it"},{"line_number":33,"context_line":"           can work properly. So, when creating the share in ``DHSS\u003dTrue``"},{"line_number":34,"context_line":"           driver mode, Manila will also validate if shares within the same"},{"line_number":35,"context_line":"           share server have the same value set. In case the operating driver"},{"line_number":36,"context_line":"           mode is ``DHSS\u003dFalse``, we must check within the tenant if there are"},{"line_number":37,"context_line":"           duplicated ``mount_point_name`` for the chosen host. Otherwise, the"},{"line_number":38,"context_line":"           share creation must fail. Not having duplicated shares\u0027"},{"line_number":39,"context_line":"           ``mount_point_name`` is not a guarantee that the creation will"},{"line_number":40,"context_line":"           succeed in case the driver mode is ``DHSS\u003dFalse``."},{"line_number":41,"context_line":"           The driver may fail if there a share from another tenant created"},{"line_number":42,"context_line":"           with the same value for this field. A succinct user message will be"},{"line_number":43,"context_line":"           added in this case."},{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9d711748_4356bc55","line":43,"range":{"start_line":35,"start_character":49,"end_line":43,"end_character":30},"in_reply_to":"b3b82413_bc96c05c","updated":"2021-06-26 00:23:53.000000000","message":"haixin: having the user name may not be helpful, since we don\u0027t really accord any special significance to the user in manila; when a user creates a share, by default the share is accessible across the project; Keystone developers believe that users are impermanent compared to projects - so while working on Secure RBAC, we were told to not rely on user data (user_name and user_id), since \n\n1) users are not unique - they can belong to multiple projects (or no project at all)\n2) users can be removed from projects or deleted more frequently leaving orphaned resources","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f2f120d3ab337ff7599c86fb65a18e18077afcb7","unresolved":true,"context_lines":[{"line_number":41,"context_line":"           The driver may fail if there a share from another tenant created"},{"line_number":42,"context_line":"           with the same value for this field. A succinct user message will be"},{"line_number":43,"context_line":"           added in this case."},{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"},{"line_number":47,"context_line":"           such extra spec set to ``True``, so the scheduler can filter out"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ca9e2e38_a186bf9e","line":44,"range":{"start_line":44,"start_character":17,"end_line":44,"end_character":27},"updated":"2021-06-25 00:40:36.000000000","message":"nit: back end capability","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"           The driver may fail if there a share from another tenant created"},{"line_number":42,"context_line":"           with the same value for this field. A succinct user message will be"},{"line_number":43,"context_line":"           added in this case."},{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"},{"line_number":47,"context_line":"           such extra spec set to ``True``, so the scheduler can filter out"}],"source_content_type":"text/x-rst","patch_set":3,"id":"929149b3_e474890c","line":44,"range":{"start_line":44,"start_character":17,"end_line":44,"end_character":27},"in_reply_to":"ca9e2e38_a186bf9e","updated":"2021-06-25 12:31:19.000000000","message":"Done","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f2f120d3ab337ff7599c86fb65a18e18077afcb7","unresolved":true,"context_lines":[{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"},{"line_number":47,"context_line":"           such extra spec set to ``True``, so the scheduler can filter out"},{"line_number":48,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":49,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":50,"context_line":"           created."}],"source_content_type":"text/x-rst","patch_set":3,"id":"943fe0c8_528f68f7","line":47,"range":{"start_line":47,"start_character":42,"end_line":47,"end_character":43},"updated":"2021-06-25 00:40:36.000000000","message":"Since the API service needs to behave differently when this extra-spec is present, we should call out that this back end capability when set as a share type extra-spec is always tenant-visible.","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"},{"line_number":47,"context_line":"           such extra spec set to ``True``, so the scheduler can filter out"},{"line_number":48,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":49,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":50,"context_line":"           created."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7c911b7a_9a923e1a","line":47,"range":{"start_line":47,"start_character":42,"end_line":47,"end_character":43},"in_reply_to":"73567c62_6ee77693","updated":"2021-06-25 12:31:19.000000000","message":"Yeah, this should be an easy implementation to all the storage systems, but we do not have modifications foreseen to all share back end drivers, so vendors that want to implement this will need to modify their drivers to benefit from this functionality.\nIf they do not have this backend capability set, this can become misleading, considering the following scenario:\n\n1. User request a share to be created, and specifies a --mount-point-name\n2. Request is accepted\n3. We forward it to the scheduler but it won\u0027t check any backend capability wrt this\n4. The request is forwarded to a back end driver that didn\u0027t implement this functionality yet\n5. The back end driver do not create the custom export location\n6. Share becomes available, it has the `mount_point_name` field set, but it is not in the list of the shares\u0027 export locations.\n7. User tries to mount the share using the mount_path_name but it doesn\u0027t work\n\nIt won\u0027t work because the share driver may not modified to handle such functionality, and we aren\u0027t going to be raising errors, neither telling the user that the custom export location couldn\u0027t be created.\n\nThe driver capability would be a way to distinguish drivers that support it and have implemented this functionality.\n\nSo this is one of the concerns that leads us to add this backend capability. It allows driver maintainers to explictly say if their drivers support such functionality and is expected that they modified their driver behavior to have this working.\nAlso, with this backend capability, we are able to fail earlier in the scheduler, in case a share type with such extra spec was provided, and there aren\u0027t backends that support such functionality.","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"04875c31c7c50b3badfcc051a6a01659412afd57","unresolved":true,"context_lines":[{"line_number":44,"context_line":"           A new capability called ``human_readable_export_location_support``"},{"line_number":45,"context_line":"           will be added and drivers that support such capability should report"},{"line_number":46,"context_line":"           it as ``True``. Administrators will need to create share types with"},{"line_number":47,"context_line":"           such extra spec set to ``True``, so the scheduler can filter out"},{"line_number":48,"context_line":"           backends that support it. If the creation fails due to duplicate"},{"line_number":49,"context_line":"           ``mount_point_name`` in a share server, a user message will be"},{"line_number":50,"context_line":"           created."}],"source_content_type":"text/x-rst","patch_set":3,"id":"73567c62_6ee77693","line":47,"range":{"start_line":47,"start_character":42,"end_line":47,"end_character":43},"in_reply_to":"943fe0c8_528f68f7","updated":"2021-06-25 02:13:56.000000000","message":"i think back end capability `human_readable_export_location_support` is not a hard work for backend storage, To implement this function, just need to use new mount_point_name In place of share_instance_id when create share dir. so i think we can assume that all storage supports this feature. do we really need this new back end capability?\nwe just need to update function of `create_share` and `create_replica` in driver.\n\nThese just my personal opinions","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f2f120d3ab337ff7599c86fb65a18e18077afcb7","unresolved":true,"context_lines":[{"line_number":88,"context_line":"                the ``shares`` model."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"          - Python-manilaclient impact"},{"line_number":91,"context_line":"              - The ``manila create`` command will be modified to accept the"},{"line_number":92,"context_line":"                ``--export-location-name`` parameter in the shares creation."},{"line_number":93,"context_line":"              - The ``migration-start`` command will be modified to accept the"},{"line_number":94,"context_line":"                ``--new-mount-point-name`` parameter."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3bc59f0a_f93a3111","line":91,"range":{"start_line":91,"start_character":22,"end_line":91,"end_character":35},"updated":"2021-06-25 00:40:36.000000000","message":"We should make changes to the OSC command in parallel","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                the ``shares`` model."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"          - Python-manilaclient impact"},{"line_number":91,"context_line":"              - The ``manila create`` command will be modified to accept the"},{"line_number":92,"context_line":"                ``--export-location-name`` parameter in the shares creation."},{"line_number":93,"context_line":"              - The ``migration-start`` command will be modified to accept the"},{"line_number":94,"context_line":"                ``--new-mount-point-name`` parameter."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5d6fc81f_2aba4dd1","line":91,"range":{"start_line":91,"start_character":22,"end_line":91,"end_character":35},"in_reply_to":"3bc59f0a_f93a3111","updated":"2021-06-25 12:31:19.000000000","message":"Done","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f2f120d3ab337ff7599c86fb65a18e18077afcb7","unresolved":true,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"          - Python-manilaclient impact"},{"line_number":91,"context_line":"              - The ``manila create`` command will be modified to accept the"},{"line_number":92,"context_line":"                ``--export-location-name`` parameter in the shares creation."},{"line_number":93,"context_line":"              - The ``migration-start`` command will be modified to accept the"},{"line_number":94,"context_line":"                ``--new-mount-point-name`` parameter."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"d9d67a7d_2b53462b","line":92,"range":{"start_line":92,"start_character":20,"end_line":92,"end_character":35},"updated":"2021-06-25 00:40:36.000000000","message":"mount-point","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"df4fedcb284c838c93b5631c0a5f2b2b0ee8fae7","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"          - Python-manilaclient impact"},{"line_number":91,"context_line":"              - The ``manila create`` command will be modified to accept the"},{"line_number":92,"context_line":"                ``--export-location-name`` parameter in the shares creation."},{"line_number":93,"context_line":"              - The ``migration-start`` command will be modified to accept the"},{"line_number":94,"context_line":"                ``--new-mount-point-name`` parameter."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7040a618_86d6c8d0","line":92,"range":{"start_line":92,"start_character":20,"end_line":92,"end_character":35},"in_reply_to":"d9d67a7d_2b53462b","updated":"2021-06-25 12:31:19.000000000","message":"Done","commit_id":"00fb8e450566aa6107541ad775c8b8bd6bdce933"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"de87b1ddcae84b5a88b155d7e0d52e0f4358d1e4","unresolved":true,"context_lines":[{"line_number":30,"context_line":"           characters other than underscores. If special characters other than"},{"line_number":31,"context_line":"           underscores are provided, the manila api service is going to raise"},{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. The"},{"line_number":33,"context_line":"           value for this field can not exceed 255 characters, otherwise the"},{"line_number":34,"context_line":"           request will be denied. An export location must be unique in a share"},{"line_number":35,"context_line":"           server so it can work properly. So, when a request to create a share"},{"line_number":36,"context_line":"           is received, if a ``mount_point_name`` was provided, the manila"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9643c8fb_958952c4","line":33,"updated":"2021-06-26 14:08:09.000000000","message":"Is the 255 character limit for the field without the project name appended, or with it appended?","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"8463a7e28f19f67574c6a6eeddcc7146c300fa5c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"           characters other than underscores. If special characters other than"},{"line_number":31,"context_line":"           underscores are provided, the manila api service is going to raise"},{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. The"},{"line_number":33,"context_line":"           value for this field can not exceed 255 characters, otherwise the"},{"line_number":34,"context_line":"           request will be denied. An export location must be unique in a share"},{"line_number":35,"context_line":"           server so it can work properly. So, when a request to create a share"},{"line_number":36,"context_line":"           is received, if a ``mount_point_name`` was provided, the manila"}],"source_content_type":"text/x-rst","patch_set":4,"id":"8adcd387_9ba4e70a","line":33,"in_reply_to":"9643c8fb_958952c4","updated":"2021-06-27 13:54:17.000000000","message":"I\u0027m thinking about accounting the project name with the characters, so I think it\u0027s better to clarify here.","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"de87b1ddcae84b5a88b155d7e0d52e0f4358d1e4","unresolved":true,"context_lines":[{"line_number":34,"context_line":"           request will be denied. An export location must be unique in a share"},{"line_number":35,"context_line":"           server so it can work properly. So, when a request to create a share"},{"line_number":36,"context_line":"           is received, if a ``mount_point_name`` was provided, the manila"},{"line_number":37,"context_line":"           share api will append the project name to it, and the manila share"},{"line_number":38,"context_line":"           service will check if there are duplicate values for this mount"},{"line_number":39,"context_line":"           point name. In this way, we can guarantee that the manila share"},{"line_number":40,"context_line":"           service will always fail in case of duplicated custom mount point"}],"source_content_type":"text/x-rst","patch_set":4,"id":"18886f0d_9af56f48","line":37,"updated":"2021-06-26 14:08:09.000000000","message":"Do we need to consider the possibility of the same project name for two projects in different domains?  I think the keystone API only returns a 409 CONFLICT for duplicate project names *in the same domain*.","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"8463a7e28f19f67574c6a6eeddcc7146c300fa5c","unresolved":true,"context_lines":[{"line_number":34,"context_line":"           request will be denied. An export location must be unique in a share"},{"line_number":35,"context_line":"           server so it can work properly. So, when a request to create a share"},{"line_number":36,"context_line":"           is received, if a ``mount_point_name`` was provided, the manila"},{"line_number":37,"context_line":"           share api will append the project name to it, and the manila share"},{"line_number":38,"context_line":"           service will check if there are duplicate values for this mount"},{"line_number":39,"context_line":"           point name. In this way, we can guarantee that the manila share"},{"line_number":40,"context_line":"           service will always fail in case of duplicated custom mount point"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5927fbde_284f0369","line":37,"in_reply_to":"18886f0d_9af56f48","updated":"2021-06-27 13:54:17.000000000","message":"IIRC correctly two projects with the same name in different domains is a possible thing.\nI think we need to consider that as well... Even though I think the odds are low, it could lead to an issue in a DHSS\u003dFalse scenario, if we take to consideration that we could have two projects with the same name in different domains, and users from such projects could coincidently specify the same mount point name while creating shares.\nIn this case, we wouldn\u0027t be able to prevent issues in the share manager level as we intend to do now...\nI need to think more about possible approaches to a scenario like this...\nI was wondering if this is a scenario where we could take as acceptable to let the share go to an error state, considering that we might be querying tenant shares in a user context and we won\u0027t be able to oversee domains...\nAlso, we\u0027ll need to be much careful in the user message in case there\u0027s need to have one.","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"de87b1ddcae84b5a88b155d7e0d52e0f4358d1e4","unresolved":true,"context_lines":[{"line_number":36,"context_line":"           is received, if a ``mount_point_name`` was provided, the manila"},{"line_number":37,"context_line":"           share api will append the project name to it, and the manila share"},{"line_number":38,"context_line":"           service will check if there are duplicate values for this mount"},{"line_number":39,"context_line":"           point name. In this way, we can guarantee that the manila share"},{"line_number":40,"context_line":"           service will always fail in case of duplicated custom mount point"},{"line_number":41,"context_line":"           names. A user message will be added in case duplicated values were"},{"line_number":42,"context_line":"           found."}],"source_content_type":"text/x-rst","patch_set":4,"id":"2b89b8ac_d2f147eb","line":39,"updated":"2021-06-26 14:08:09.000000000","message":"I think it\u0027s worth pointing out that human users can naturally be expected to remember their project name so that this is a better choice than an ID, which they would probably need to look up, defeating the main goal.","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"8463a7e28f19f67574c6a6eeddcc7146c300fa5c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"           is received, if a ``mount_point_name`` was provided, the manila"},{"line_number":37,"context_line":"           share api will append the project name to it, and the manila share"},{"line_number":38,"context_line":"           service will check if there are duplicate values for this mount"},{"line_number":39,"context_line":"           point name. In this way, we can guarantee that the manila share"},{"line_number":40,"context_line":"           service will always fail in case of duplicated custom mount point"},{"line_number":41,"context_line":"           names. A user message will be added in case duplicated values were"},{"line_number":42,"context_line":"           found."}],"source_content_type":"text/x-rst","patch_set":4,"id":"25d6129f_d4af675f","line":39,"in_reply_to":"2b89b8ac_d2f147eb","updated":"2021-06-27 13:54:17.000000000","message":"Good idea...","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"de87b1ddcae84b5a88b155d7e0d52e0f4358d1e4","unresolved":true,"context_lines":[{"line_number":46,"context_line":"           Administrators will need to create share types with such extra spec"},{"line_number":47,"context_line":"           set to ``True``. As the manila share API will perform validations"},{"line_number":48,"context_line":"           using this extra spec, it must be always tenant-visible. By having"},{"line_number":49,"context_line":"           this extra-spec, the scheduler can also filter out backends that"},{"line_number":50,"context_line":"           support such functionality."},{"line_number":51,"context_line":"           In case of a share migration, if a new share type is provided, and"},{"line_number":52,"context_line":"           it has ``human_readable_export_location_support\u003dTrue``, the"},{"line_number":53,"context_line":"           migration will fail in the scheduler if the chosen destination"}],"source_content_type":"text/x-rst","patch_set":4,"id":"d830f21d_7cf49234","line":50,"range":{"start_line":49,"start_character":51,"end_line":50,"end_character":38},"updated":"2021-06-26 14:08:09.000000000","message":"filter *out* backendsthat do *not* support this functionality.","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"8463a7e28f19f67574c6a6eeddcc7146c300fa5c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"           Administrators will need to create share types with such extra spec"},{"line_number":47,"context_line":"           set to ``True``. As the manila share API will perform validations"},{"line_number":48,"context_line":"           using this extra spec, it must be always tenant-visible. By having"},{"line_number":49,"context_line":"           this extra-spec, the scheduler can also filter out backends that"},{"line_number":50,"context_line":"           support such functionality."},{"line_number":51,"context_line":"           In case of a share migration, if a new share type is provided, and"},{"line_number":52,"context_line":"           it has ``human_readable_export_location_support\u003dTrue``, the"},{"line_number":53,"context_line":"           migration will fail in the scheduler if the chosen destination"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bb77b0c2_4a3973d1","line":50,"range":{"start_line":49,"start_character":51,"end_line":50,"end_character":38},"in_reply_to":"d830f21d_7cf49234","updated":"2021-06-27 13:54:17.000000000","message":"Done","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"de87b1ddcae84b5a88b155d7e0d52e0f4358d1e4","unresolved":true,"context_lines":[{"line_number":69,"context_line":"           And users will be able to mount shares using the custom export"},{"line_number":70,"context_line":"           location, as in this example::"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"                $ sudo mount -t nfs 10.1.0.2:/custom_export_location /mnt/my_share"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":":impacts:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"49cbde74_830fe24e","line":72,"updated":"2021-06-26 14:08:09.000000000","message":"Since the export location is a combination of IP address and path, shouldn\u0027t this be \"custom_export_path\" or something like that?  It would be good to show explicitly how the path is constructed.  I am guessing that you are going to join the mount point name to the project name using \u0027_\u0027 but that\u0027s a guess.","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"8463a7e28f19f67574c6a6eeddcc7146c300fa5c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"           And users will be able to mount shares using the custom export"},{"line_number":70,"context_line":"           location, as in this example::"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"                $ sudo mount -t nfs 10.1.0.2:/custom_export_location /mnt/my_share"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":":impacts:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fcc5ebdf_097a8f82","line":72,"in_reply_to":"49cbde74_830fe24e","updated":"2021-06-27 13:54:17.000000000","message":"Yeah, it is good to give an idea of how it\u0027s going to look like. Modified the text! Thank you for the suggestion","commit_id":"1467ad4e309305586ea7b39152052fb6544a0f79"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"fccbe9345199a951ec861ed76242e32eaeb9b940","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be appended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e9f8f2e7_b4030221","line":35,"range":{"start_line":35,"start_character":46,"end_line":35,"end_character":55},"updated":"2021-06-27 13:50:22.000000000","message":"nit: prepended","commit_id":"964d6101513dbdccbba9ea27c377fc22367b7d79"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a200f8508d8abbbafe3027ebaf7647bb2ae5daea","unresolved":false,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be appended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7673ef18_abed5708","line":35,"range":{"start_line":35,"start_character":46,"end_line":35,"end_character":55},"in_reply_to":"e9f8f2e7_b4030221","updated":"2021-06-27 15:32:46.000000000","message":"Done","commit_id":"964d6101513dbdccbba9ea27c377fc22367b7d79"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f53dcfe38a2fd49c8551d22c058a95af8889be3f","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be prepended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3ae9f499_09b2de73","line":35,"range":{"start_line":35,"start_character":21,"end_line":35,"end_character":61},"updated":"2021-06-28 21:22:05.000000000","message":"thought about this a bit more, and realized that keystone doesn\u0027t have many rules around project names - they have an option to make project names \"url safe\", but that configuration option is turned off by default. So, it\u0027s definitely possible that there are some url unsafe project names in the wild. For example, tried creating a project like this:\n\n\n openstack --debug project create \"hey there this shouldn\u0027t work\"\n +-------------+----------------------------------+\n | Field       | Value                            |\n +-------------+----------------------------------+\n | description |                                  |\n | domain_id   | default                          |\n | enabled     | True                             |\n | id          | 612d53ddca774836bb1002de89f3b5f8 |\n | is_domain   | False                            |\n | name        | hey there this shouldn\u0027t work    |\n | options     | {}                               |\n | parent_id   | default                          |\n | tags        | []                               |\n +-------------+----------------------------------+\n\nSo ¯\\_(ツ)_/¯\n\nMaybe, in the share api, if we see that context.project_name has unacceptable characters, we can fall back to using the project_id? Or I dunno if we should just rely on using the ID in the path - defeats \"human readability\", but preserves determinability.","commit_id":"baf6209da8e5b472280241d21feeb705925550df"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e381c08565c09a0041acf0c6e08bdeee840ae06f","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be prepended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":6,"id":"837b3105_0a58bcba","line":35,"range":{"start_line":35,"start_character":21,"end_line":35,"end_character":61},"in_reply_to":"0626ef5e_026e7583","updated":"2021-06-29 22:41:05.000000000","message":"OKay, lets take this concern to code review; and update this spec with whatever we decide","commit_id":"baf6209da8e5b472280241d21feeb705925550df"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"0f0ab89c3a5280a9bcbd5a25daea6cb6ea7c5241","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be prepended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a761949_d5d1c3f9","line":35,"range":{"start_line":35,"start_character":21,"end_line":35,"end_character":61},"in_reply_to":"3ae9f499_09b2de73","updated":"2021-06-28 22:29:28.000000000","message":"The whole point of the spec is human memorability/readability.  Any non-human program can just use the API to get the original export location.  So I\u0027d be wary of a development circle that leads us to some point that doesn\u0027t solve the problem statement in the spec.","commit_id":"baf6209da8e5b472280241d21feeb705925550df"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d2b3609ebef0df0457399216e707c75b6c10c026","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be prepended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ca35a609_d4630f7c","line":35,"range":{"start_line":35,"start_character":21,"end_line":35,"end_character":61},"in_reply_to":"837b3105_0a58bcba","updated":"2021-06-29 22:42:51.000000000","message":"Pretty nice idea! Thank you for the suggestion","commit_id":"baf6209da8e5b472280241d21feeb705925550df"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cb5e745fec51694ffb59f19a6c25cab3473e8394","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be prepended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c8dec379_37223d64","line":35,"range":{"start_line":35,"start_character":21,"end_line":35,"end_character":61},"in_reply_to":"9a761949_d5d1c3f9","updated":"2021-06-29 00:37:28.000000000","message":"Good catch, Goutham... Indeed, adding the project id to it defeats the human readability and preserves determinability...\n\nIt is a considerable thing to have the project id...\n\nAnother way to avoid unsafe names would be to check for special characters or spaces in the project name, and if there is any, replace it by underscores, but I don\u0027t know how acceptable that would be...\nFor instance, the scenario you added...\nIf we had something like:\nproject_name \u003d \"hey there this shouldn\u0027t work\"\nThe output would be:\n\"hey_there_this_shouldnt_work_mount_path_name\"\n\nStill sounds like something that would not be much painful to memorize, unless the project name is too big and has lots of special characters, which does not sound a lot normal...\n\nJust another way to work around this problem... Will keep thinking of ways to work around until we get to a final conclusion","commit_id":"baf6209da8e5b472280241d21feeb705925550df"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fb0fecf3a29184e5dfc1b87dcf498c2b4ccdf20a","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be prepended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0626ef5e_026e7583","line":35,"range":{"start_line":35,"start_character":21,"end_line":35,"end_character":61},"in_reply_to":"c8dec379_37223d64","updated":"2021-06-29 21:28:23.000000000","message":"Nope, don\u0027t like transforms 😞 they tend to surprise users, and force them to learn the rules of the transformation. \n\nI agree this is about human memorability/readability. How about we make this configurable, and exposed to end users? We can allow a templating extra-spec \"human_readable_export_location_prefix\" or \"human_readable_export_location_prefix\" which will be set to \"%{project_name}s\" if unspecified. This way, we allow administrators to control this spec, and end users to read/memorize it.","commit_id":"baf6209da8e5b472280241d21feeb705925550df"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"1bb240bbc6257d02ec6b907825eeb088ae70ca13","unresolved":true,"context_lines":[{"line_number":32,"context_line":"           HTTP BadRequest, warning that such characters are not allowed. An"},{"line_number":33,"context_line":"           export location must be unique in a share server. So, when a request"},{"line_number":34,"context_line":"           to create a share is received, if a ``mount_point_name`` was"},{"line_number":35,"context_line":"           provided, the project name will be prepended to it. The number of"},{"line_number":36,"context_line":"           characters provided by the user added to the number of characters in"},{"line_number":37,"context_line":"           the project name can not exceed 255 characters, otherwise the"},{"line_number":38,"context_line":"           request will be denied. It is reasonable to think that the project"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7c9b2f70_25159cf8","line":35,"range":{"start_line":35,"start_character":21,"end_line":35,"end_character":61},"in_reply_to":"ca35a609_d4630f7c","updated":"2021-06-30 11:37:51.000000000","message":"+1, Carlos can think more about it during the development ;)","commit_id":"baf6209da8e5b472280241d21feeb705925550df"}]}
