)]}'
{"cinder/api/v3/views/volumes.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"67a480e9f468314608ef0f3454e520336204b493","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_785de645","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"updated":"2020-08-21 14:05:41.000000000","message":"I wonder whether we should not include the cluster_name at all if the value is None for people who are running cinder in the traditional active-passive configuration.","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"1272ac1b9ff7a27fc879ef1fa798fbeb73a64f79","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_a96516e3","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"in_reply_to":"9f560f44_3251700f","updated":"2020-08-27 14:19:43.000000000","message":"1) I agree it\u0027s a bit confusing for deployments without A/A.\n2) cluster_name will be always set in A/A mode if the volume is successfully created, so None value will be combined with some error state.\n\nTaking into account it\u0027s supposed to be admin-only API, I prefer to have the same response schema for all situations to make automation on top of it less complicated.\n\n\nI assume that operators know what is A/A and why we\u0027ve got cluster_name\u003dNone every time for non-A/A deployment","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"618f28f6aff96bc4e671b593c802d5d97429d063","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_df6e382a","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"in_reply_to":"9f560f44_3f077484","updated":"2020-08-27 16:12:07.000000000","message":"Works for me.","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"2ac5fbebd5cd30c84fbdd29deaf186aa72be4350","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ae0ed388","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"in_reply_to":"9f560f44_785de645","updated":"2020-08-26 13:11:20.000000000","message":"I was thinking about it but we didn\u0027t have a good way to do it from the API side because it\u0027s a cinder-volume configuration","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"cc96ffc36af95270d469fb2dce5a50ceaf56a351","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_a9e236ff","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"in_reply_to":"9f560f44_a96516e3","updated":"2020-08-27 14:29:10.000000000","message":"1) I don\u0027t think this would be confusing. An admin should likely know if they are running HA or not. So a cluster_name of None shouldn\u0027t be any surprise to them.\n\nThat said, my first reaction was Brian\u0027s original comment of not including cluster_name in the results. I\u0027d rather not send meaningless data across the wire. Really, I would be fine with either excluding it, or returning cluster_name: None, but my preference would be to exclude it.\n\nOne nit: return of get() is None if the value does not exist, so drop the \", None\" part of the call. Should fit on one line then too.","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"fe50332bb18c8798aa5855892390dbaebe9ad98a","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ff8fbcc9","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"in_reply_to":"9f560f44_a9e236ff","updated":"2020-08-27 16:18:36.000000000","message":"I think it\u0027s best to just include it, even if it\u0027s None, just to have a consistent API.  Having a cluster_name set to None when not in A/A makes sense to me.  There is no clustering, so the name should be None.  And not having it show up in the details makes me think something is wrong.","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"3e5d8ffa3349f9a3d6b902ed7dab6eadfbe89848","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_3f077484","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"in_reply_to":"9f560f44_a9e236ff","updated":"2020-08-27 16:06:46.000000000","message":"I will put my two cents here.  Before my more recent experience I would have agreed that we shouldn\u0027t show it.  Though, based on what I have seen lately I think it is better to provide consistent information even if some is extraneous.  I don\u0027t have a really strong feeling here, but I think for an admin I am ok returning \u0027None\u0027 for cluster because it is true, it isn\u0027t in a cluster.","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2881c471aa12a5c575dd67d484184090a6aede32","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_3251700f","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"in_reply_to":"9f560f44_ae0ed388","updated":"2020-08-27 12:36:51.000000000","message":"Right, I was thinking of just handling it here in the view, that is, if cluster_name is None, don\u0027t add it to the view even if this is an admin call, mainly because you can\u0027t just ask for mv 3.61 *only*, if you\u0027re using mv 3.62, you get 3.61 as well.  So my questions are:\n\n(1) For people not running in A/A, will \u0027\"cluster_name\": null\u0027 in the volume-show API response make an admin think something is wrong?\n\n(2) For people running in A/A, does \u0027\"cluster_name\": null\u0027 in the volume-show response give them better info than if that field is just not there at all when there\u0027s no cluster_name on that volume?\n\nDon\u0027t mean to be a PITA, but just want to make sure we\u0027ve thought about this carefully, because once this API change merges, we are stuck with it!","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b785309fd3e739ecae03889b8e5ad7b76091d5f0","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if (request.environ[\u0027cinder.context\u0027].is_admin and req_version.matches("},{"line_number":65,"context_line":"                mv.VOLUME_CLUSTER_NAME, None)):"},{"line_number":66,"context_line":"            volume_ref[\u0027volume\u0027][\u0027cluster_name\u0027] \u003d volume.get("},{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return volume_ref"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_3a7782a2","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":37},"in_reply_to":"9f560f44_ff8fbcc9","updated":"2020-08-27 16:32:30.000000000","message":"Consistency is good, I\u0027m persuaded!","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"}],"releasenotes/notes/add-cluster-name-to-volume-details-ce01dd828faafcde.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"67a480e9f468314608ef0f3454e520336204b493","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Added new APIs on microversion 3.61  to show ``cluster_name`` attribute in"},{"line_number":5,"context_line":"    the response body of volume details for admin."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fixes:"},{"line_number":8,"context_line":"  - |"},{"line_number":9,"context_line":"    Add normal bug fixes here, or remove this section.  All of the list items"},{"line_number":10,"context_line":"    in this section are combined when the release notes are rendered, so the"},{"line_number":11,"context_line":"    text needs to be worded so that it does not depend on any information only"},{"line_number":12,"context_line":"    available in another section, such as the prelude. This may mean repeating"},{"line_number":13,"context_line":"    some details."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_d8c23234","line":13,"range":{"start_line":7,"start_character":0,"end_line":13,"end_character":17},"updated":"2020-08-21 14:05:41.000000000","message":"Need to remove this part.","commit_id":"e3915a52f3a43aba2128869bf756185cea64e8ae"}]}
