)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"24ce834262f887e21bf5fc482434fe1f39faf8d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c653f72c_5db6f7fe","updated":"2022-03-03 17:40:21.000000000","message":"Please move to Zed if you still want to continue with this","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"1be22cebca6504ae2e4228388d3c8c63d8bd420c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"77936cdd_bef3e5b3","updated":"2021-12-07 15:49:37.000000000","message":"This needs to have Gorka\u0027s comments addressed and be re-targeted to Yoga if you\u0027re still interested in working on it.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"}],"specs/xena/replication_disabled_reason.rst":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"For a replicated backend\u0027s like IBM SVC family plugin, Dell EMC, Pure Storage,"},{"line_number":20,"context_line":"if storage fails to support replication because of a node/site failure,"},{"line_number":21,"context_line":"update_volume_stats will set the replication status to disabled but there is"},{"line_number":22,"context_line":"no way to convey the reason to user."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7cc02208_92a9bf3f","line":19,"range":{"start_line":19,"start_character":64,"end_line":19,"end_character":78},"updated":"2021-08-30 18:11:46.000000000","message":"nit: replace with \" and Pure Storage among others,\"","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"For a replicated backend\u0027s like IBM SVC family plugin, Dell EMC, Pure Storage,"},{"line_number":20,"context_line":"if storage fails to support replication because of a node/site failure,"},{"line_number":21,"context_line":"update_volume_stats will set the replication status to disabled but there is"},{"line_number":22,"context_line":"no way to convey the reason to user."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"2d07480b_a8e818f0","line":20,"range":{"start_line":20,"start_character":11,"end_line":20,"end_character":39},"updated":"2021-08-30 18:11:46.000000000","message":"nit: I think we should rephrase it as \"replication is compromised\", because strictly speaking the storage supports the replication, it\u0027s just that it\u0027s not working at that point in time.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":19,"context_line":"For a replicated backend\u0027s like IBM SVC family plugin, Dell EMC, Pure Storage,"},{"line_number":20,"context_line":"if storage fails to support replication because of a node/site failure,"},{"line_number":21,"context_line":"update_volume_stats will set the replication status to disabled but there is"},{"line_number":22,"context_line":"no way to convey the reason to user."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"There is a disabled_reason column in service table, but it is used for"},{"line_number":25,"context_line":"displaying the reason for service disabled."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3dbf5a98_653d3265","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":36},"updated":"2021-08-30 18:11:46.000000000","message":"-1: In my opinion we should use \"administrator\" or \"operator\", since normal users don\u0027t usually have access to this information.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":22,"context_line":"no way to convey the reason to user."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"There is a disabled_reason column in service table, but it is used for"},{"line_number":25,"context_line":"displaying the reason for service disabled."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bd22952a_3e709a24","line":25,"range":{"start_line":25,"start_character":34,"end_line":25,"end_character":42},"updated":"2021-08-30 18:11:46.000000000","message":"nit: \"disabled by the administrator\"","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":24,"context_line":"There is a disabled_reason column in service table, but it is used for"},{"line_number":25,"context_line":"displaying the reason for service disabled."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. User tries to initialize the replication backend which consists of"}],"source_content_type":"text/x-rst","patch_set":2,"id":"2157fc17_c01ec944","line":27,"updated":"2021-08-30 18:11:46.000000000","message":"nit: I don\u0027t think that the first use case is something where this spec would actually help, because when an admin is setting up replication for the first time they go check the status and then go into the logs if there is a failure, where they will clearly see the issue as an ERROR log level message since the start of the cinder volume service, which happened just a couple of minutes ago.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. User tries to initialize the replication backend which consists of"},{"line_number":31,"context_line":"primary site and secondary site on a replication setup. During initialization"},{"line_number":32,"context_line":"any of the site may go down because of some reason and user needs some"},{"line_number":33,"context_line":"information on why the replication is disabled."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f0e5c29_e67e822c","line":30,"range":{"start_line":30,"start_character":3,"end_line":30,"end_character":7},"updated":"2021-08-30 18:11:46.000000000","message":"-1: \"Administrator\" or \"Operator\"","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. User tries to initialize the replication backend which consists of"},{"line_number":31,"context_line":"primary site and secondary site on a replication setup. During initialization"},{"line_number":32,"context_line":"any of the site may go down because of some reason and user needs some"},{"line_number":33,"context_line":"information on why the replication is disabled."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"2. Sudden failure in any storage node of a replicated backend in working"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7d90291e_d121ed36","line":32,"range":{"start_line":32,"start_character":55,"end_line":32,"end_character":59},"updated":"2021-08-30 18:11:46.000000000","message":"admin","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"2. Sudden failure in any storage node of a replicated backend in working"},{"line_number":36,"context_line":"state, periodic call updates the service with replication status as disabled"},{"line_number":37,"context_line":"but user needs some information on why the replication is disabled."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"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":2,"id":"63ba9904_aec66908","line":37,"updated":"2021-08-30 18:11:46.000000000","message":"nit: I would explain a bit more why this is important, since that information will be available in the logs anyway.\n\nIf I understand the situation correctly the issue is that the issue with the replicas could have happened a long time ago (in a couple of days) and going through the logs to find out when it happened and why it is \"not working\" can take some time.  Having a message directly here giving a reason can save time for an admin/operator.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Introduce the new field in service to store the replication disabled reason"},{"line_number":43,"context_line":"and replication disabled reason must be displayed when ever the user uses"},{"line_number":44,"context_line":"\"--withreplication\" option with \"cinder service-list\" command."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5c08ce38_c4d72fcf","line":42,"range":{"start_line":42,"start_character":10,"end_line":42,"end_character":13},"updated":"2021-08-30 18:11:46.000000000","message":"nit: a","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Introduce the new field in service to store the replication disabled reason"},{"line_number":43,"context_line":"and replication disabled reason must be displayed when ever the user uses"},{"line_number":44,"context_line":"\"--withreplication\" option with \"cinder service-list\" command."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Modify the \"cinder/volume/manager.py\" file to update the disbaled reason only"}],"source_content_type":"text/x-rst","patch_set":2,"id":"b0fb1d53_7f9bf1b0","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":36},"updated":"2021-08-30 18:11:46.000000000","message":"nit: replace with \"which will\"","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Introduce the new field in service to store the replication disabled reason"},{"line_number":43,"context_line":"and replication disabled reason must be displayed when ever the user uses"},{"line_number":44,"context_line":"\"--withreplication\" option with \"cinder service-list\" command."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Modify the \"cinder/volume/manager.py\" file to update the disbaled reason only"},{"line_number":47,"context_line":"for replication enabled backend."}],"source_content_type":"text/x-rst","patch_set":2,"id":"e128d282_285f349c","line":44,"range":{"start_line":44,"start_character":61,"end_line":44,"end_character":62},"updated":"2021-08-30 18:11:46.000000000","message":"nit: Add: \"with the right microversion\"","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":43,"context_line":"and replication disabled reason must be displayed when ever the user uses"},{"line_number":44,"context_line":"\"--withreplication\" option with \"cinder service-list\" command."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Modify the \"cinder/volume/manager.py\" file to update the disbaled reason only"},{"line_number":47,"context_line":"for replication enabled backend."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Get the disabled_reason from the stats of backend and update the reason in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"81439329_a3cba72b","line":46,"range":{"start_line":46,"start_character":57,"end_line":46,"end_character":65},"updated":"2021-08-30 18:11:46.000000000","message":"nit: disabled","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":47,"context_line":"for replication enabled backend."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Get the disabled_reason from the stats of backend and update the reason in"},{"line_number":50,"context_line":"service if \"replication_status\" is disabled."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"0f875463_8e928340","line":50,"range":{"start_line":50,"start_character":0,"end_line":50,"end_character":44},"updated":"2021-08-30 18:11:46.000000000","message":"-1: This doesn\u0027t take into account that the DB field needs to be cleared when a driver stops reports a failure in the replication and starts saying that it is working again.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Get the disabled_reason from the stats of backend and update the reason in"},{"line_number":50,"context_line":"service if \"replication_status\" is disabled."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"29ae513c_0615e635","line":51,"updated":"2021-08-30 18:11:46.000000000","message":"The spec must be explicitly stating that this spec assumes that drivers only report replication disabled when the storage array says so, and that this disabling is not based on the inability of the cinder-volume node to access the node/sites.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":57,"context_line":"Data model impact"},{"line_number":58,"context_line":"-----------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"New field will be added into cinder service database."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"REST API impact"},{"line_number":63,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"08165079_2ef20ca1","line":60,"updated":"2021-08-30 18:11:46.000000000","message":"?: Should we add a timestamp when the replication disabled was last changed?\n\nThis can be useful when it fails for operators to go to the logs around that moment, and it can also be used by operators to know if the replication failed and recovered since the last time the checked.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":62,"context_line":"REST API impact"},{"line_number":63,"context_line":"---------------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"None"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Security impact"},{"line_number":68,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f2f22a5f_fca823d2","line":65,"range":{"start_line":65,"start_character":0,"end_line":65,"end_character":4},"updated":"2021-08-30 18:11:46.000000000","message":"-1: This requires a new microversion for the REST API change in the service-list command.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":114,"context_line":"Work Items"},{"line_number":115,"context_line":"----------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"None."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Dependencies"},{"line_number":120,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"560dccda_0c9d9984","line":117,"range":{"start_line":117,"start_character":0,"end_line":117,"end_character":4},"updated":"2021-08-30 18:11:46.000000000","message":"I would like to see the work items enumerated:\n\n- Implement cinder-volume code changes: New REST API microversion, DB migration, cidner-volume logic.\n- Cinderclient support for new microversion\n- Documentation\n- Tests","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":124,"context_line":"Testing"},{"line_number":125,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"1. Initialize the replication enabled backends and check all the attributes"},{"line_number":128,"context_line":"   are updated correctly."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"2. After the successfull initialization of replication enabled backend verify"},{"line_number":131,"context_line":"   the replication related the features."},{"line_number":132,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"76ff5e3a_c03e7949","line":129,"range":{"start_line":127,"start_character":0,"end_line":129,"end_character":0},"updated":"2021-08-30 18:11:46.000000000","message":"Is this a tempest test or a manual test?  Please say it in the spec.\n\nBecause tempest tests need to support backends that don\u0027t support replication or have it disabled.  This support can come as a configuration option (flag) in tempest or make the test to expect different things depending on whether the backend is reporting that replication is enabled or not.\n\nPlease elaborate a bit more.","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":139,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"New fields/attributes will be added to service database and document needs"},{"line_number":142,"context_line":"to updated regarding this updated fields."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"References"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"2071c999_d908d539","line":142,"range":{"start_line":142,"start_character":26,"end_line":142,"end_character":33},"updated":"2021-08-30 18:11:46.000000000","message":"nit: \"new\"","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1cba82bb42f559201c722d70847d47a1dff061f3","unresolved":true,"context_lines":[{"line_number":139,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"New fields/attributes will be added to service database and document needs"},{"line_number":142,"context_line":"to updated regarding this updated fields."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"References"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"614564dd_68e1ad6a","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":2},"updated":"2021-08-30 18:11:46.000000000","message":"nit: \"to be\"","commit_id":"d1ecd6130033aa46e2178240754b9f45b7519196"}]}
