)]}'
{"specs/newton/volume-type-extra-spec-validation.rst":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"55684b3fe47ba7a305c5dc84760360fbf2008e00","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"If the driver requires backend validation of extra spec, it should override the"},{"line_number":133,"context_line":"default implementation of validate_extra_spec. The driver should validate all"},{"line_number":134,"context_line":"extra spec options it care about. If one or more options are invalid, it should"},{"line_number":135,"context_line":"raise an exception containing a dictionary which maps invalid keys to reject"},{"line_number":136,"context_line":"reasons."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_34499bd1","line":134,"updated":"2016-07-08 21:23:42.000000000","message":"s/care/cares","commit_id":"dac2e1e50f048e5a2aa88278c832f43052977406"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"c3e48f01d541475f73dc8562ea4bed38cb05dd1d","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"If the driver requires backend validation of extra spec, it should override the"},{"line_number":133,"context_line":"default implementation of validate_extra_spec. The driver should validate all"},{"line_number":134,"context_line":"extra spec options it care about. If one or more options are invalid, it should"},{"line_number":135,"context_line":"raise an exception containing a dictionary which maps invalid keys to reject"},{"line_number":136,"context_line":"reasons."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dada55a8_490d9436","line":134,"in_reply_to":"1aa78d24_34499bd1","updated":"2016-07-19 09:07:43.000000000","message":"Done","commit_id":"dac2e1e50f048e5a2aa88278c832f43052977406"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"c59ab63f3bad78dce44e86a0526b7f7c2dd04359","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"* cinder-api and cinder-volume changes to implement the new API"},{"line_number":154,"context_line":"* python-cinderclient changes to invoke the new API from command line"},{"line_number":155,"context_line":"* VMDK driver changes to implement validate_extra_spec driver API"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Dependencies"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e803eabc","line":155,"updated":"2016-07-08 03:21:12.000000000","message":"I would remove the VMDK entry here.   It shouldn\u0027t be part of the spec, it should simple be a potential follow up by the maintainer of the vmdk driver","commit_id":"dac2e1e50f048e5a2aa88278c832f43052977406"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"55684b3fe47ba7a305c5dc84760360fbf2008e00","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"* cinder-api and cinder-volume changes to implement the new API"},{"line_number":154,"context_line":"* python-cinderclient changes to invoke the new API from command line"},{"line_number":155,"context_line":"* VMDK driver changes to implement validate_extra_spec driver API"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Dependencies"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_f425530a","line":155,"in_reply_to":"1aa78d24_e803eabc","updated":"2016-07-08 21:23:42.000000000","message":"Agreed.  Can this be implemented for the LVM driver?","commit_id":"dac2e1e50f048e5a2aa88278c832f43052977406"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"c3e48f01d541475f73dc8562ea4bed38cb05dd1d","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"* cinder-api and cinder-volume changes to implement the new API"},{"line_number":154,"context_line":"* python-cinderclient changes to invoke the new API from command line"},{"line_number":155,"context_line":"* VMDK driver changes to implement validate_extra_spec driver API"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Dependencies"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dada55a8_c919847b","line":155,"in_reply_to":"1aa78d24_e803eabc","updated":"2016-07-19 09:07:43.000000000","message":"Done","commit_id":"dac2e1e50f048e5a2aa88278c832f43052977406"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"c3e48f01d541475f73dc8562ea4bed38cb05dd1d","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"* cinder-api and cinder-volume changes to implement the new API"},{"line_number":154,"context_line":"* python-cinderclient changes to invoke the new API from command line"},{"line_number":155,"context_line":"* VMDK driver changes to implement validate_extra_spec driver API"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Dependencies"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dada55a8_a9b09044","line":155,"in_reply_to":"1aa78d24_f425530a","updated":"2016-07-19 09:07:43.000000000","message":"I too prefer to have a reference implementation, but unfortunately I couldn\u0027t find any extra spec options for the lvm and ceph drivers.","commit_id":"dac2e1e50f048e5a2aa88278c832f43052977406"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"c59ab63f3bad78dce44e86a0526b7f7c2dd04359","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Testing"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Unit tests will be added to cover the changes"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Documentation Impact"},{"line_number":168,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_082ab62c","line":165,"updated":"2016-07-08 03:21:12.000000000","message":"I would also like to see some functional tests of this.  See if there is anything we can validate for the ceph or lvm drivers.","commit_id":"dac2e1e50f048e5a2aa88278c832f43052977406"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"c3e48f01d541475f73dc8562ea4bed38cb05dd1d","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Testing"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Unit tests will be added to cover the changes"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Documentation Impact"},{"line_number":168,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dada55a8_4980f446","line":165,"in_reply_to":"1aa78d24_082ab62c","updated":"2016-07-19 09:07:43.000000000","message":"It makes sense, but I couldn\u0027t find any extra spec options for the lvm and ceph drivers.","commit_id":"dac2e1e50f048e5a2aa88278c832f43052977406"}],"specs/ocata/volume-type-extra-spec-validation.rst":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"7de07bb7ba4836fb7d5dbc993ee90bd8c33ae799","unresolved":false,"context_lines":[{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the API for updating the extra spec. But"},{"line_number":68,"context_line":"this also requires a new driver API to validate the extra spec. Also, the"},{"line_number":69,"context_line":"validation will not be possible if the volume_backend_name is added later or"},{"line_number":70,"context_line":"the backend is down. In the latter case, the extra spec cannot be updated if"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_748005f8","line":67,"range":{"start_line":67,"start_character":49,"end_line":67,"end_character":57},"updated":"2016-10-13 12:08:39.000000000","message":"creating or updating?","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"36e0bfcc9982ba1dcd7dda03103ae59475e797e4","unresolved":false,"context_lines":[{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the API for updating the extra spec. But"},{"line_number":68,"context_line":"this also requires a new driver API to validate the extra spec. Also, the"},{"line_number":69,"context_line":"validation will not be possible if the volume_backend_name is added later or"},{"line_number":70,"context_line":"the backend is down. In the latter case, the extra spec cannot be updated if"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff346bd7_6dcad26d","line":67,"range":{"start_line":67,"start_character":49,"end_line":67,"end_character":57},"in_reply_to":"fa6399be_748005f8","updated":"2017-07-25 22:01:13.000000000","message":"Done","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"7de07bb7ba4836fb7d5dbc993ee90bd8c33ae799","unresolved":false,"context_lines":[{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the API for updating the extra spec. But"},{"line_number":68,"context_line":"this also requires a new driver API to validate the extra spec. Also, the"},{"line_number":69,"context_line":"validation will not be possible if the volume_backend_name is added later or"},{"line_number":70,"context_line":"the backend is down. In the latter case, the extra spec cannot be updated if"},{"line_number":71,"context_line":"the backend is not available, which is not the case currently."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_148fc9cc","line":70,"range":{"start_line":68,"start_character":63,"end_line":70,"end_character":20},"updated":"2016-10-13 12:08:39.000000000","message":"This should happen in the actual proposal shouldn\u0027t it? Furthermore, it doesn\u0027t seem a problem to me. If no volume_backend_name is passed, the flow (in scheduler?) can check all available backends to see if they can validate the volume_type specs. If none of then validade you can either decline the creation or better, give a warning telling that the type is not guaranteed to work.","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"a82ebb27afcc70f93f9592e76f4c7413df500e5c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the API for updating the extra spec. But"},{"line_number":68,"context_line":"this also requires a new driver API to validate the extra spec. Also, the"},{"line_number":69,"context_line":"validation will not be possible if the volume_backend_name is added later or"},{"line_number":70,"context_line":"the backend is down. In the latter case, the extra spec cannot be updated if"},{"line_number":71,"context_line":"the backend is not available, which is not the case currently."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff346bd7_2d1baa81","line":70,"range":{"start_line":68,"start_character":63,"end_line":70,"end_character":20},"in_reply_to":"fa6399be_148fc9cc","updated":"2017-07-25 22:17:00.000000000","message":"Assume that the admin sets an invalid option during extra-spec create, so we print a warning. The admin may decide to reconfigure the backend so that the option becomes valid. The next step would be a recheck to validate the extra-spec which is not possible in this case.","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"36e0bfcc9982ba1dcd7dda03103ae59475e797e4","unresolved":false,"context_lines":[{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the API for updating the extra spec. But"},{"line_number":68,"context_line":"this also requires a new driver API to validate the extra spec. Also, the"},{"line_number":69,"context_line":"validation will not be possible if the volume_backend_name is added later or"},{"line_number":70,"context_line":"the backend is down. In the latter case, the extra spec cannot be updated if"},{"line_number":71,"context_line":"the backend is not available, which is not the case currently."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff346bd7_ad955a42","line":70,"range":{"start_line":68,"start_character":63,"end_line":70,"end_character":20},"in_reply_to":"fa6399be_148fc9cc","updated":"2017-07-25 22:01:13.000000000","message":"Let us get opinion from others on this.","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"9edd222e0b25702152b0560daaac90c0c8475da3","unresolved":false,"context_lines":[{"line_number":79,"context_line":"---------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The following API will be added:"},{"line_number":82,"context_line":"* POST /v3/​{tenant_id}​/types/​{volume_type_id}​/action"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Normal response code"},{"line_number":85,"context_line":"200"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a629dbe_324fef93","line":82,"updated":"2016-11-07 16:50:58.000000000","message":"URL here contains \\u200b zero-width spaces... please remove them.","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"36e0bfcc9982ba1dcd7dda03103ae59475e797e4","unresolved":false,"context_lines":[{"line_number":79,"context_line":"---------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The following API will be added:"},{"line_number":82,"context_line":"* POST /v3/​{tenant_id}​/types/​{volume_type_id}​/action"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Normal response code"},{"line_number":85,"context_line":"200"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff346bd7_8d905650","line":82,"in_reply_to":"9a629dbe_324fef93","updated":"2017-07-25 22:01:13.000000000","message":"Done","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"9edd222e0b25702152b0560daaac90c0c8475da3","unresolved":false,"context_lines":[{"line_number":98,"context_line":" }"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Expected error http response code(s)"},{"line_number":101,"context_line":"400 - one or more extra spec options are invalid"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Security impact"},{"line_number":104,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a629dbe_35043914","line":101,"updated":"2016-11-07 16:50:58.000000000","message":"400 isn\u0027t the correct response code here.  400 indicates a malformed request from the client.  In this case, the request and the result were both as expected:  it provides an answer that \"no, the extra spec options are not valid\".\n\nThis should be treated as a successful operation at the HTTP level.","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"36e0bfcc9982ba1dcd7dda03103ae59475e797e4","unresolved":false,"context_lines":[{"line_number":98,"context_line":" }"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Expected error http response code(s)"},{"line_number":101,"context_line":"400 - one or more extra spec options are invalid"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Security impact"},{"line_number":104,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff346bd7_6d9f725f","line":101,"in_reply_to":"9a629dbe_35043914","updated":"2017-07-25 22:01:13.000000000","message":"Done","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"d1b9b77089f13413a8c643b05827bc8da662a2ee","unresolved":false,"context_lines":[{"line_number":167,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"The API reference should be updated to include details about the new API. Also,"},{"line_number":170,"context_line":"the cinder client documentation should be updated to add the new command."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"References"},{"line_number":173,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_95a47608","line":170,"range":{"start_line":170,"start_character":72,"end_line":170,"end_character":73},"updated":"2016-09-16 18:46:37.000000000","message":"Would any updates be needed in cinder.conf to turn on this new feature when it\u0027s needed?","commit_id":"52070745180a72a17729b84bed1b990e63d52961"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"bf1adf3d80b5aa3ae643174cece25acb70f8383a","unresolved":false,"context_lines":[{"line_number":167,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"The API reference should be updated to include details about the new API. Also,"},{"line_number":170,"context_line":"the cinder client documentation should be updated to add the new command."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"References"},{"line_number":173,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_42ac5fa0","line":170,"range":{"start_line":170,"start_character":72,"end_line":170,"end_character":73},"in_reply_to":"7a8ec9b2_95a47608","updated":"2016-10-12 09:30:28.000000000","message":"There are no changes in cinder.conf to enable this feature. Thanks.","commit_id":"52070745180a72a17729b84bed1b990e63d52961"}],"specs/queens/volume-type-extra-spec-validation.rst":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"36382dc83eadaf6252dcd5b54ad71b2689f085f9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"discovered only during volume create or attach operation, which is not a good"},{"line_number":36,"context_line":"user experience."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* The end-user may not be able to create a volume or attach it if the"},{"line_number":39,"context_line":"admin did not validate the volume type extra spec options."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_3509d730","line":39,"range":{"start_line":38,"start_character":1,"end_line":39,"end_character":58},"updated":"2017-09-25 16:21:02.000000000","message":"This is not a use case. This is just a follow on sentence to describing what would happen without validation.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"58d25c0ddd37e2e23c03039654d470d9bcff679f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"discovered only during volume create or attach operation, which is not a good"},{"line_number":36,"context_line":"user experience."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* The end-user may not be able to create a volume or attach it if the"},{"line_number":39,"context_line":"admin did not validate the volume type extra spec options."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_92b681d9","line":39,"range":{"start_line":38,"start_character":1,"end_line":39,"end_character":58},"in_reply_to":"7f515b1d_3509d730","updated":"2017-10-11 05:28:32.000000000","message":"Ok.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"36382dc83eadaf6252dcd5b54ad71b2689f085f9","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"The user experience would be better if there is an API to validate the extra"},{"line_number":45,"context_line":"spec options by the backend identified by the volume_backend_name option in"},{"line_number":46,"context_line":"the volume type. After creating or updating the extra spec option, the admin"},{"line_number":47,"context_line":"will invoke the API, which in-turn calls a new driver API (validate_extra_spec)"},{"line_number":48,"context_line":"to validate the extra spec options. The driver is expected to verify all"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_d884fa60","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":65},"updated":"2017-09-25 16:21:02.000000000","message":"How is this expected to work when volume_backend_name is not specified? Ignored? Or it will go to all defined backend drivers and succeed as long as at least one of them reports validation success? How will that be tracked for actual volume creation time to ensure the right backend is used for valid extra specs?","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"a07333d55d6a8b35867139dd7027105179236382","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"The user experience would be better if there is an API to validate the extra"},{"line_number":45,"context_line":"spec options by the backend identified by the volume_backend_name option in"},{"line_number":46,"context_line":"the volume type. After creating or updating the extra spec option, the admin"},{"line_number":47,"context_line":"will invoke the API, which in-turn calls a new driver API (validate_extra_spec)"},{"line_number":48,"context_line":"to validate the extra spec options. The driver is expected to verify all"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_76a59846","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":65},"in_reply_to":"3f4b6375_142c2baa","updated":"2017-10-25 20:00:17.000000000","message":"How can this guarantee the scheduler will pick the right backend during volume creation when a user really wants to create a volume without specifying the volume_backend_name?  It seems that this will be more useful if volume_backend_name is not required and the API checks whether an appropriate backend can be selected and then the backend can validate extra specs without creating the volume?","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b0593c09c9821340a3b82c2b0942b5865e51d000","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"The user experience would be better if there is an API to validate the extra"},{"line_number":45,"context_line":"spec options by the backend identified by the volume_backend_name option in"},{"line_number":46,"context_line":"the volume type. After creating or updating the extra spec option, the admin"},{"line_number":47,"context_line":"will invoke the API, which in-turn calls a new driver API (validate_extra_spec)"},{"line_number":48,"context_line":"to validate the extra spec options. The driver is expected to verify all"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_142c2baa","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":65},"in_reply_to":"5f4e5783_9288c11f","updated":"2017-10-25 12:52:18.000000000","message":"So you are saying that this is how they specify which backend is used to validate the extra specs?  I guess that makes more sense.  Need to clarify that here.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"58d25c0ddd37e2e23c03039654d470d9bcff679f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"The user experience would be better if there is an API to validate the extra"},{"line_number":45,"context_line":"spec options by the backend identified by the volume_backend_name option in"},{"line_number":46,"context_line":"the volume type. After creating or updating the extra spec option, the admin"},{"line_number":47,"context_line":"will invoke the API, which in-turn calls a new driver API (validate_extra_spec)"},{"line_number":48,"context_line":"to validate the extra spec options. The driver is expected to verify all"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_3277cd3d","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":65},"in_reply_to":"7f515b1d_72d8faed","updated":"2017-10-11 05:28:32.000000000","message":"It is the latter.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"58d25c0ddd37e2e23c03039654d470d9bcff679f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"The user experience would be better if there is an API to validate the extra"},{"line_number":45,"context_line":"spec options by the backend identified by the volume_backend_name option in"},{"line_number":46,"context_line":"the volume type. After creating or updating the extra spec option, the admin"},{"line_number":47,"context_line":"will invoke the API, which in-turn calls a new driver API (validate_extra_spec)"},{"line_number":48,"context_line":"to validate the extra spec options. The driver is expected to verify all"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_9288c11f","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":65},"in_reply_to":"7f515b1d_d884fa60","updated":"2017-10-11 05:28:32.000000000","message":"How about making the \"backend to validate against\" as a required parameter?","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"9e1a0c818d93729c665244d0ecbdb358800f06f2","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"The user experience would be better if there is an API to validate the extra"},{"line_number":45,"context_line":"spec options by the backend identified by the volume_backend_name option in"},{"line_number":46,"context_line":"the volume type. After creating or updating the extra spec option, the admin"},{"line_number":47,"context_line":"will invoke the API, which in-turn calls a new driver API (validate_extra_spec)"},{"line_number":48,"context_line":"to validate the extra spec options. The driver is expected to verify all"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_72d8faed","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":65},"in_reply_to":"7f515b1d_d884fa60","updated":"2017-09-29 18:42:51.000000000","message":"I don\u0027t see how this is useful with \u0027volume_backend_name\u0027 specified. Why would they be setting other extra_specs if they have specified the backend they want.  Or is this really targeting other metadata being sent to configure backend options for the volume?","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"2a698c15bfc7447c5132808d4a62968592af8a6b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"an error, the admin will correct the extra spec options based on the error"},{"line_number":53,"context_line":"message."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"If the volume_backend_name is empty, the validation will be NOP. The validation"},{"line_number":56,"context_line":"will fail if the backend identified by volume_backend_name is not available."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The default implementation of validate_extra_spec driver API will be NOP."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f9dbf25_2d4ad054","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":63},"updated":"2018-03-01 14:44:13.000000000","message":"Why not have the scheduler identify every backend that this create could go to (i.e. run the filters but not the weighters) and validate on every backend that the create could go to? OTherwise you\u0027ve created a very narrow use-case with no feedback that your call did nothing. At the very least the API call should tell me that it did nothing","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"36382dc83eadaf6252dcd5b54ad71b2689f085f9","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* The admin can create a test volume, and attach to an instance. The user"},{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_181df265","line":63,"range":{"start_line":63,"start_character":42,"end_line":63,"end_character":63},"updated":"2017-09-25 16:21:02.000000000","message":"Why is attach needed?","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"58d25c0ddd37e2e23c03039654d470d9bcff679f","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* The admin can create a test volume, and attach to an instance. The user"},{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_b2b17de4","line":63,"range":{"start_line":63,"start_character":42,"end_line":63,"end_character":63},"in_reply_to":"7f515b1d_181df265","updated":"2017-10-11 05:28:32.000000000","message":"I vaguely remember some backends check or use certain extra-spec options during attach. I will rephrase this sentence.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"36382dc83eadaf6252dcd5b54ad71b2689f085f9","unresolved":false,"context_lines":[{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the APIs for creating or updating the"},{"line_number":68,"context_line":"extra spec. But this also requires a new driver API to validate the extra spec."},{"line_number":69,"context_line":"Also, the validation will not be possible if the volume_backend_name is added"},{"line_number":70,"context_line":"later or the backend is down. In the latter case, the extra spec cannot be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_583c8ac7","line":67,"range":{"start_line":67,"start_character":2,"end_line":67,"end_character":74},"updated":"2017-09-25 16:21:02.000000000","message":"How is this different than what is being proposed?","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"9e1a0c818d93729c665244d0ecbdb358800f06f2","unresolved":false,"context_lines":[{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the APIs for creating or updating the"},{"line_number":68,"context_line":"extra spec. But this also requires a new driver API to validate the extra spec."},{"line_number":69,"context_line":"Also, the validation will not be possible if the volume_backend_name is added"},{"line_number":70,"context_line":"later or the backend is down. In the latter case, the extra spec cannot be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_b2a0b243","line":67,"range":{"start_line":67,"start_character":50,"end_line":67,"end_character":70},"updated":"2017-09-29 18:42:51.000000000","message":"Seems like this should just happen automatically at volume_type creation time, if we are going to do it, and if the volume_backend_name isn\u0027t specified then we should see if the extra_specs match any backend configured and if not then produce a warning showing what extra_spec can\u0027t be satisfied.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b0593c09c9821340a3b82c2b0942b5865e51d000","unresolved":false,"context_lines":[{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the APIs for creating or updating the"},{"line_number":68,"context_line":"extra spec. But this also requires a new driver API to validate the extra spec."},{"line_number":69,"context_line":"Also, the validation will not be possible if the volume_backend_name is added"},{"line_number":70,"context_line":"later or the backend is down. In the latter case, the extra spec cannot be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_27113b53","line":67,"range":{"start_line":67,"start_character":50,"end_line":67,"end_character":70},"in_reply_to":"5f4e5783_b25bbd85","updated":"2017-10-25 12:52:18.000000000","message":"Either volume_backend_name is required for this functionality to work, though that is very limiting.  That or we check and make sure that the spec makes sense for at least 1 of the available backends.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b0593c09c9821340a3b82c2b0942b5865e51d000","unresolved":false,"context_lines":[{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the APIs for creating or updating the"},{"line_number":68,"context_line":"extra spec. But this also requires a new driver API to validate the extra spec."},{"line_number":69,"context_line":"Also, the validation will not be possible if the volume_backend_name is added"},{"line_number":70,"context_line":"later or the backend is down. In the latter case, the extra spec cannot be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_8706af1b","line":67,"range":{"start_line":67,"start_character":2,"end_line":67,"end_character":74},"in_reply_to":"5f4e5783_d22f59f4","updated":"2017-10-25 12:52:18.000000000","message":"It would seem to be that making this a part of adding/editing volume types would make the most sense.  If I am adding an extra spec then I want to make sure that the spec makes sense for at least one backend I am doing it for.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"58d25c0ddd37e2e23c03039654d470d9bcff679f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the APIs for creating or updating the"},{"line_number":68,"context_line":"extra spec. But this also requires a new driver API to validate the extra spec."},{"line_number":69,"context_line":"Also, the validation will not be possible if the volume_backend_name is added"},{"line_number":70,"context_line":"later or the backend is down. In the latter case, the extra spec cannot be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_d22f59f4","line":67,"range":{"start_line":67,"start_character":2,"end_line":67,"end_character":74},"in_reply_to":"7f515b1d_583c8ac7","updated":"2017-10-11 05:28:32.000000000","message":"The alternative discussed here is to update the *current* add/edit volume type APIs to call the driver to  validate the extra-spec options instead of providing a new Cinder API for validation.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"58d25c0ddd37e2e23c03039654d470d9bcff679f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"experience would be better if the admin can validate the extra spec by running"},{"line_number":65,"context_line":"a specific command."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* We can add the validation logic to the APIs for creating or updating the"},{"line_number":68,"context_line":"extra spec. But this also requires a new driver API to validate the extra spec."},{"line_number":69,"context_line":"Also, the validation will not be possible if the volume_backend_name is added"},{"line_number":70,"context_line":"later or the backend is down. In the latter case, the extra spec cannot be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_b25bbd85","line":67,"range":{"start_line":67,"start_character":50,"end_line":67,"end_character":70},"in_reply_to":"7f515b1d_b2a0b243","updated":"2017-10-11 05:28:32.000000000","message":"Yes, that is one of the alternatives. As discussed here, we will have more flexibility if we can decouple the validation from the create workflow. It will be useful if the backend is down or a new backend is added later (after the volume type creation).\n\nHow about not relying on the volume_backend_name and make the target backend a required param?","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"36382dc83eadaf6252dcd5b54ad71b2689f085f9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"---------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The following API will be added:"},{"line_number":82,"context_line":"* POST /v3/{tenant_id}/types/{volume_type_id}/action"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Normal response code"},{"line_number":85,"context_line":"200"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_f830d6ea","line":82,"range":{"start_line":82,"start_character":12,"end_line":82,"end_character":21},"updated":"2017-09-25 16:21:02.000000000","message":"Please use project_id instead.","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"58d25c0ddd37e2e23c03039654d470d9bcff679f","unresolved":false,"context_lines":[{"line_number":79,"context_line":"---------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The following API will be added:"},{"line_number":82,"context_line":"* POST /v3/{tenant_id}/types/{volume_type_id}/action"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Normal response code"},{"line_number":85,"context_line":"200"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4e5783_f2c6d516","line":82,"range":{"start_line":82,"start_character":12,"end_line":82,"end_character":21},"in_reply_to":"7f515b1d_f830d6ea","updated":"2017-10-11 05:28:32.000000000","message":"Ok","commit_id":"6726e4ea77a663c40ad2d991f2722730b40e6a4f"}]}
