)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4e9783d930644a169d30d5d96d80a2dee7fcea9","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cinder events fix for Volume type using volume type IDs instead of names"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When the event (volume\u0027s events) data is created, Cinder is setting the volume type as the volume type ID. On the other hand, the pollsters are always updating the volume_type value in Gnocchi with the event type name. Then, for every volume event that is triggered in Cinder, this value is then updated back to the ID (it is like a \"fight\" between these two subsystems to see who updates the status last). The thing is that, deleted volumes are not polled. Therefore, the last update is executed by the event processing subsystems, which updates the value to the volume type ID. This explains why only deleted volumes were perceived with the volume type being set as the ID."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To fix this situation. We need to decide which \"standard\" we want to use. At first sight, it looks more natural (when integrating system-system via API) to use an ID, but for humans when accessing Cinder API, it might be better to see the volume type name instead. Because the API is publicly available, and we never know what consumes it, we believe that changing from volume type name to volume type ID can break things that we are not aware of. On the other hand, fixing the event data should not break anything because we know (hopefully) where that message is pushed to. Therefore, we decided to move on and fix the event creation code, and use the volume type name there."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9fb8cfa7_e57116e0","line":9,"updated":"2019-06-21 16:25:03.000000000","message":"Please use line breaks in commit messages.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"a6162a985939508c942bf70851cc371acf342fab"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"68d1b513f9f5d14ad55ac7e9366775659a8304f7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rafael Weingärtner \u003crafael@apache.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-07-01 09:03:09 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cinder fix for Volume type value in the API using name instead of ID"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change is a follow up on https://review.opendev.org/#/c/666886."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fb8cfa7_1a6e802e","line":7,"updated":"2019-07-01 12:23:56.000000000","message":"And really a big nit, but this is too long and a little redundant - \"Cinder fix for\" on a patch in the cinder repo.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"9d16f32e358c9c42fb69dcfec03565bc2b2a69e6"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"d8f88f46cb8811f5464e6442cbcc95b7570c482d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rafael Weingärtner \u003crafael@apache.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-07-01 09:03:09 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cinder fix for Volume type value in the API using name instead of ID"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change is a follow up on https://review.opendev.org/#/c/666886."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fb8cfa7_78a224fe","line":7,"in_reply_to":"9fb8cfa7_1a6e802e","updated":"2019-07-01 13:42:02.000000000","message":"Sorry. Thanks for the heads up.\n\nI fixed the message.","commit_id":"9d16f32e358c9c42fb69dcfec03565bc2b2a69e6"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70208123bd97f01d36745e454e8978d7efc37eb7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cinder fix for Volume type value in the API using name instead of ID"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change is a follow up on https://review.opendev.org/#/c/666886."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":12,"context_line":"A bit of context"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fb8cfa7_5a0b987b","line":9,"updated":"2019-07-01 12:21:43.000000000","message":"Was this supposed to be a link to a different change?","commit_id":"9d16f32e358c9c42fb69dcfec03565bc2b2a69e6"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"d8f88f46cb8811f5464e6442cbcc95b7570c482d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cinder fix for Volume type value in the API using name instead of ID"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change is a follow up on https://review.opendev.org/#/c/666886."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":12,"context_line":"A bit of context"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fb8cfa7_58aba0d4","line":9,"in_reply_to":"9fb8cfa7_5a0b987b","updated":"2019-07-01 13:42:02.000000000","message":"I missed the \"/6/\" there. The idea is to point to the discussion we had regarding this change.","commit_id":"9d16f32e358c9c42fb69dcfec03565bc2b2a69e6"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduces MV to add volume type ID in volumes details"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Introduces microversion 3.63 to add volume type ID in the volume details."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This change comes to fix a problem we found in Gnocchi concerning volumes"},{"line_number":12,"context_line":"monitored data. When a volume event is created, Cinder uses the volume type"},{"line_number":13,"context_line":"as the volume type ID. On the other hand, Ceilometer pollsters are always"},{"line_number":14,"context_line":"updating the volume_type value in Gnocchi with the volume type from volume"},{"line_number":15,"context_line":"details API (which uses the volume type name value)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"That situation creates a massive number of resource revisions in Gnocchi."},{"line_number":18,"context_line":"This Microversion along with the Dynamic pollster system in Ceilometer enables"},{"line_number":19,"context_line":"operators to overcome the issue."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Icb88faeb00040250a25a5630aeb312a8434ed3c8"},{"line_number":22,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"b3646ba0_e9d5fd54","line":20,"range":{"start_line":9,"start_character":1,"end_line":20,"end_character":0},"updated":"2021-01-14 10:06:43.000000000","message":"nit: Please don\u0027t exceed 72 characters per line: https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4f706a9779e36ae41b0e3cb32de2cef21e38ef4f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduces MV to add volume type ID in volumes details"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Introduces microversion 3.63 to add volume type ID in the volume details."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This change comes to fix a problem we found in Gnocchi concerning volumes"},{"line_number":12,"context_line":"monitored data. When a volume event is created, Cinder uses the volume type"},{"line_number":13,"context_line":"as the volume type ID. On the other hand, Ceilometer pollsters are always"},{"line_number":14,"context_line":"updating the volume_type value in Gnocchi with the volume type from volume"},{"line_number":15,"context_line":"details API (which uses the volume type name value)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"That situation creates a massive number of resource revisions in Gnocchi."},{"line_number":18,"context_line":"This Microversion along with the Dynamic pollster system in Ceilometer enables"},{"line_number":19,"context_line":"operators to overcome the issue."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Icb88faeb00040250a25a5630aeb312a8434ed3c8"},{"line_number":22,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"7f6240bf_9075066b","line":20,"range":{"start_line":9,"start_character":1,"end_line":20,"end_character":0},"in_reply_to":"33a8be63_2cc31679","updated":"2021-01-15 12:57:08.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduces MV to add volume type ID in volumes details"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Introduces microversion 3.63 to add volume type ID in the volume details."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This change comes to fix a problem we found in Gnocchi concerning volumes"},{"line_number":12,"context_line":"monitored data. When a volume event is created, Cinder uses the volume type"},{"line_number":13,"context_line":"as the volume type ID. On the other hand, Ceilometer pollsters are always"},{"line_number":14,"context_line":"updating the volume_type value in Gnocchi with the volume type from volume"},{"line_number":15,"context_line":"details API (which uses the volume type name value)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"That situation creates a massive number of resource revisions in Gnocchi."},{"line_number":18,"context_line":"This Microversion along with the Dynamic pollster system in Ceilometer enables"},{"line_number":19,"context_line":"operators to overcome the issue."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Icb88faeb00040250a25a5630aeb312a8434ed3c8"},{"line_number":22,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"33a8be63_2cc31679","line":20,"range":{"start_line":9,"start_character":1,"end_line":20,"end_character":0},"in_reply_to":"b3646ba0_e9d5fd54","updated":"2021-01-14 13:34:17.000000000","message":"Ok, I thought it could be 79. I will amend this.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":19,"context_line":"operators to overcome the issue."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Icb88faeb00040250a25a5630aeb312a8434ed3c8"},{"line_number":22,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"ccaa42c5_ccc76145","line":22,"updated":"2021-01-14 10:06:43.000000000","message":"nit: It would be nice to have a bug report for this one.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"operators to overcome the issue."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Icb88faeb00040250a25a5630aeb312a8434ed3c8"},{"line_number":22,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"edd6bfb9_a8f9e78f","line":22,"in_reply_to":"ccaa42c5_ccc76145","updated":"2021-01-14 13:34:17.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4f706a9779e36ae41b0e3cb32de2cef21e38ef4f","unresolved":true,"context_lines":[{"line_number":20,"context_line":"Gnocchi. This MV along with the Dynamic pollster system in Ceilometer"},{"line_number":21,"context_line":"enables operators to overcome the issue."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Bug: https://bugs.launchpad.net/cinder/+bug/1911660"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Icb88faeb00040250a25a5630aeb312a8434ed3c8"},{"line_number":26,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":42,"id":"649d8580_3fc2a887","line":23,"updated":"2021-01-15 12:57:08.000000000","message":"-1: Thanks for creating and adding the bug to the commit message!  Like with the other footers it uses a specific keyword (to automatically update the launchpad bug) as explained in https://wiki.openstack.org/wiki/GitCommitMessages#Including_external_references\n\n Closes-Bug: #1911660","commit_id":"9c8b8fd32cef5c48481b390282ec61d8be68ebae"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"37b7230e52e8a297997ea938183d47ce8a625555","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Gnocchi. This MV along with the Dynamic pollster system in Ceilometer"},{"line_number":21,"context_line":"enables operators to overcome the issue."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Bug: https://bugs.launchpad.net/cinder/+bug/1911660"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Icb88faeb00040250a25a5630aeb312a8434ed3c8"},{"line_number":26,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":42,"id":"16f61726_29ab99a6","line":23,"in_reply_to":"649d8580_3fc2a887","updated":"2021-01-15 13:46:58.000000000","message":"Done","commit_id":"9c8b8fd32cef5c48481b390282ec61d8be68ebae"}],"api-ref/source/v2/samples/volumes-list-detailed-response.json":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"9d080c457148e269d5171c1d92a305ca34874ef4","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            \"bootable\": \"false\","},{"line_number":47,"context_line":"            \"created_at\": \"2015-11-29T03:01:44.000000\","},{"line_number":48,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":49,"context_line":"            \"group_id\": \"8fbe5733-eb03-4c88-9ef9-f32b7d03a5e4\""},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"        {"},{"line_number":52,"context_line":"            \"migration_status\": null,"}],"source_content_type":"application/json","patch_set":40,"id":"cc84c05c_f0fa3c36","line":49,"range":{"start_line":49,"start_character":13,"end_line":49,"end_character":21},"updated":"2020-12-09 16:01:38.000000000","message":"This change looks unrelated.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            \"bootable\": \"false\","},{"line_number":47,"context_line":"            \"created_at\": \"2015-11-29T03:01:44.000000\","},{"line_number":48,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":49,"context_line":"            \"group_id\": \"8fbe5733-eb03-4c88-9ef9-f32b7d03a5e4\""},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"        {"},{"line_number":52,"context_line":"            \"migration_status\": null,"}],"source_content_type":"application/json","patch_set":40,"id":"0f63adea_8255fa3d","line":49,"range":{"start_line":49,"start_character":13,"end_line":49,"end_character":21},"in_reply_to":"cc84c05c_f0fa3c36","updated":"2020-12-10 20:09:07.000000000","message":"Probably something that was left behind during my rebases. I removed it.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":93,"context_line":"            \"bootable\": \"true\","},{"line_number":94,"context_line":"            \"created_at\": \"2015-11-29T02:25:18.000000\","},{"line_number":95,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":96,"context_line":"            \"group_id\": \"8fbe5733-eb03-4c88-9ef9-f32b7d03a5e4\""},{"line_number":97,"context_line":"        }"},{"line_number":98,"context_line":"    ],"},{"line_number":99,"context_line":"    \"volumes_links\": [{"}],"source_content_type":"application/json","patch_set":41,"id":"7fd090a7_625fbfc5","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":62},"updated":"2021-01-14 10:06:43.000000000","message":"Unrelated change","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":true,"context_lines":[{"line_number":93,"context_line":"            \"bootable\": \"true\","},{"line_number":94,"context_line":"            \"created_at\": \"2015-11-29T02:25:18.000000\","},{"line_number":95,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":96,"context_line":"            \"group_id\": \"8fbe5733-eb03-4c88-9ef9-f32b7d03a5e4\""},{"line_number":97,"context_line":"        }"},{"line_number":98,"context_line":"    ],"},{"line_number":99,"context_line":"    \"volumes_links\": [{"}],"source_content_type":"application/json","patch_set":41,"id":"aed7e948_d70f88aa","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":62},"in_reply_to":"7fd090a7_625fbfc5","updated":"2021-01-14 13:34:17.000000000","message":"Done. It seems that it was required in the past, but now, it is not","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4f706a9779e36ae41b0e3cb32de2cef21e38ef4f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            \"bootable\": \"true\","},{"line_number":94,"context_line":"            \"created_at\": \"2015-11-29T02:25:18.000000\","},{"line_number":95,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":96,"context_line":"            \"group_id\": \"8fbe5733-eb03-4c88-9ef9-f32b7d03a5e4\""},{"line_number":97,"context_line":"        }"},{"line_number":98,"context_line":"    ],"},{"line_number":99,"context_line":"    \"volumes_links\": [{"}],"source_content_type":"application/json","patch_set":41,"id":"0af7008d_d99589d0","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":62},"in_reply_to":"aed7e948_d70f88aa","updated":"2021-01-15 12:57:08.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"}],"api-ref/source/v3/parameters.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":1266,"context_line":"  in: body"},{"line_number":1267,"context_line":"  required: false"},{"line_number":1268,"context_line":"  type: string"},{"line_number":1269,"context_line":"  min_version: 3.38"},{"line_number":1270,"context_line":"group_snapshot:"},{"line_number":1271,"context_line":"  description: |"},{"line_number":1272,"context_line":"    The group snapshot."}],"source_content_type":"text/x-yaml","patch_set":40,"id":"bf04b12c_25453040","line":1269,"updated":"2020-12-09 23:36:15.000000000","message":"Not really related to your change.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":1266,"context_line":"  in: body"},{"line_number":1267,"context_line":"  required: false"},{"line_number":1268,"context_line":"  type: string"},{"line_number":1269,"context_line":"  min_version: 3.38"},{"line_number":1270,"context_line":"group_snapshot:"},{"line_number":1271,"context_line":"  description: |"},{"line_number":1272,"context_line":"    The group snapshot."}],"source_content_type":"text/x-yaml","patch_set":40,"id":"7056a36f_7f7ea115","line":1269,"in_reply_to":"bf04b12c_25453040","updated":"2020-12-10 20:09:07.000000000","message":"No. probably something that was left behind during one of the rebases I did.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":3122,"context_line":"  in: body"},{"line_number":3123,"context_line":"  required: false"},{"line_number":3124,"context_line":"  type: string"},{"line_number":3125,"context_line":"volume_type_id_361:"},{"line_number":3126,"context_line":"  description: |"},{"line_number":3127,"context_line":"    The associated volume type ID for the volume."},{"line_number":3128,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"4ff9bbb6_bfa56c72","line":3125,"range":{"start_line":3125,"start_character":15,"end_line":3125,"end_character":18},"updated":"2020-12-09 23:36:15.000000000","message":"363 (so it\u0027s not confusing)","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":3122,"context_line":"  in: body"},{"line_number":3123,"context_line":"  required: false"},{"line_number":3124,"context_line":"  type: string"},{"line_number":3125,"context_line":"volume_type_id_361:"},{"line_number":3126,"context_line":"  description: |"},{"line_number":3127,"context_line":"    The associated volume type ID for the volume."},{"line_number":3128,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"442a491e_823a9914","line":3125,"range":{"start_line":3125,"start_character":15,"end_line":3125,"end_character":18},"in_reply_to":"4ff9bbb6_bfa56c72","updated":"2020-12-10 20:09:07.000000000","message":"Done","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":3128,"context_line":"  in: body"},{"line_number":3129,"context_line":"  required: true"},{"line_number":3130,"context_line":"  type: object"},{"line_number":3131,"context_line":"  min_version: 3.61"},{"line_number":3132,"context_line":"volume_type_id_body:"},{"line_number":3133,"context_line":"  description: |"},{"line_number":3134,"context_line":"    The UUID of the volume type."}],"source_content_type":"text/x-yaml","patch_set":40,"id":"0232fe1d_8360560e","line":3131,"range":{"start_line":3131,"start_character":17,"end_line":3131,"end_character":19},"updated":"2020-12-09 23:36:15.000000000","message":"63","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":3128,"context_line":"  in: body"},{"line_number":3129,"context_line":"  required: true"},{"line_number":3130,"context_line":"  type: object"},{"line_number":3131,"context_line":"  min_version: 3.61"},{"line_number":3132,"context_line":"volume_type_id_body:"},{"line_number":3133,"context_line":"  description: |"},{"line_number":3134,"context_line":"    The UUID of the volume type."}],"source_content_type":"text/x-yaml","patch_set":40,"id":"22b0b219_b3e8f7d9","line":3131,"range":{"start_line":3131,"start_character":17,"end_line":3131,"end_character":19},"in_reply_to":"0232fe1d_8360560e","updated":"2020-12-10 20:09:07.000000000","message":"Done","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":3136,"context_line":"  type: string"},{"line_number":3137,"context_line":"volume_type_vol:"},{"line_number":3138,"context_line":"  description: |"},{"line_number":3139,"context_line":"    The associated volume type name for the volume."},{"line_number":3140,"context_line":"  in: body"},{"line_number":3141,"context_line":"  required: true"},{"line_number":3142,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"2f78ba91_653f9c61","line":3139,"range":{"start_line":3139,"start_character":31,"end_line":3139,"end_character":35},"updated":"2021-01-14 10:06:43.000000000","message":"According to the code it can be the name or the id, depending on what info is passed to the view, although afaik this will always be the name.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":true,"context_lines":[{"line_number":3136,"context_line":"  type: string"},{"line_number":3137,"context_line":"volume_type_vol:"},{"line_number":3138,"context_line":"  description: |"},{"line_number":3139,"context_line":"    The associated volume type name for the volume."},{"line_number":3140,"context_line":"  in: body"},{"line_number":3141,"context_line":"  required: true"},{"line_number":3142,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"96ccc656_3c2f7b29","line":3139,"range":{"start_line":3139,"start_character":31,"end_line":3139,"end_character":35},"in_reply_to":"2f78ba91_653f9c61","updated":"2021-01-14 13:34:17.000000000","message":"Yes, but this was dubious. It was always like that, I maintained the legacy code to generate the volume_type field response. I just appended the name here, because it will normally be the name as far as I tested.\n\nDo you prefer me to change the code to always return the name? I mean, as long as the community requests that as a whole, I would be happy to change. Otherwise, I change, and then somebody requests a change back, and then this is no good.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4f706a9779e36ae41b0e3cb32de2cef21e38ef4f","unresolved":false,"context_lines":[{"line_number":3136,"context_line":"  type: string"},{"line_number":3137,"context_line":"volume_type_vol:"},{"line_number":3138,"context_line":"  description: |"},{"line_number":3139,"context_line":"    The associated volume type name for the volume."},{"line_number":3140,"context_line":"  in: body"},{"line_number":3141,"context_line":"  required: true"},{"line_number":3142,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"79e88502_c58b0b48","line":3139,"range":{"start_line":3139,"start_character":31,"end_line":3139,"end_character":35},"in_reply_to":"96ccc656_3c2f7b29","updated":"2021-01-15 12:57:08.000000000","message":"Sorry, don\u0027t worry, it\u0027s just that changing this triggered my OCD since the view code could return the UUID (though I don\u0027t see any code paths where that could happen).","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"}],"api-ref/source/v3/samples/volumes-list-detailed-response.json":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"19d8a03b32f31a19fb36212c489571e8f6d3edc1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"volumes\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"migration_status\": null,"}],"source_content_type":"application/json","patch_set":20,"id":"7faddb67_5a7e896a","line":1,"updated":"2019-08-16 06:18:53.000000000","message":"This file isn\u0027t needed since you\u0027ve already made changes to the file in [1] directory.\nWe\u0027ve categorized resource specific api samples in particular directories.\nYou can run `tox -e api-samples` with your code and it will autogenerate the sample file in the correct directory.\n\n[1] https://opendev.org/openstack/cinder/src/branch/master/api-ref/source/v3/samples/volumes","commit_id":"fe344369b1ae5d7c64fe6b2f83ecd3783d20ca31"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"649e1e46c95f6f0682f6624a74504136266c7b94","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"volumes\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"migration_status\": null,"}],"source_content_type":"application/json","patch_set":20,"id":"7faddb67_ee6e932a","line":1,"in_reply_to":"7faddb67_5a7e896a","updated":"2019-08-16 12:11:03.000000000","message":"ok, done.\nI did not know that. Thanks for the feedback.\n\n[UPDATE] I just executed the suggested command, but it did not generate anything new. Is that the expected behaviour?","commit_id":"fe344369b1ae5d7c64fe6b2f83ecd3783d20ca31"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"25b038dee149cb4b97e2857825db9c2b65fe8dee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"volumes\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"migration_status\": null,"}],"source_content_type":"application/json","patch_set":20,"id":"7faddb67_d416c8f2","line":1,"in_reply_to":"7faddb67_ee6e932a","updated":"2019-08-16 13:32:46.000000000","message":"Forgot to mention, if the file already exists then it won\u0027t generate a new one.\nYou can delete the file and try executing it and it will generate a new file with the respective response from API.","commit_id":"fe344369b1ae5d7c64fe6b2f83ecd3783d20ca31"}],"api-ref/source/v3/samples/volumes/volumes-list-detailed-response.json":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"60954dbad94be84704c87db12ef0ddacab2c4df8","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": {"},{"line_number":38,"context_line":"                \"name\": \"lvmdriver-1\","},{"line_number":39,"context_line":"                \"id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\""},{"line_number":40,"context_line":"            }"},{"line_number":41,"context_line":"        }"},{"line_number":42,"context_line":"    ]"}],"source_content_type":"application/json","patch_set":22,"id":"7faddb67_c90a1878","line":39,"updated":"2019-08-26 19:22:06.000000000","message":"I don\u0027t think we\u0027d really want this to be returned as a \"volume_type\" obj with two fields in it -- this means a lot more work on the client side of checking the microversion and changing how this field is parsed, and is more of a change between microversions than is really necessary.\n\nI think it would work better to just return:\n    volume_type: 5fed9d7c-401d...\n    volume_type_name:  lvmdriver-1\n\nas separate fields.","commit_id":"909a18abab50f11f2441947410e91653fa961e18"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"8bc9fc239dd5f695f67bd5c8547bd4256c65b88d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": {"},{"line_number":38,"context_line":"                \"name\": \"lvmdriver-1\","},{"line_number":39,"context_line":"                \"id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\""},{"line_number":40,"context_line":"            }"},{"line_number":41,"context_line":"        }"},{"line_number":42,"context_line":"    ]"}],"source_content_type":"application/json","patch_set":22,"id":"7faddb67_c4ef5d1b","line":39,"in_reply_to":"7faddb67_c90a1878","updated":"2019-08-26 19:51:23.000000000","message":"You do know that the response already contains object elements such as \"links\", \"attachments\", and \"metadata\".\n\nI personally prefer to handle objects and I do not see the much work on the client side to do that, but if the only way to get this merged is to use this flat proposal of yours. I can live with it.\n\nDo you want to get feedback from other people on this matter (e.g. Sean and Rajat) before I change it?","commit_id":"909a18abab50f11f2441947410e91653fa961e18"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":38,"context_line":"            \"volume_type_id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\","},{"line_number":39,"context_line":"            \"provider_id\": null,"},{"line_number":40,"context_line":"            \"group_id\": null,"},{"line_number":41,"context_line":"            \"service_uuid\": null,"},{"line_number":42,"context_line":"            \"shared_targets\": true,"},{"line_number":43,"context_line":"            \"cluster_name\": null"},{"line_number":44,"context_line":"        }"},{"line_number":45,"context_line":"    ]"},{"line_number":46,"context_line":"}"}],"source_content_type":"application/json","patch_set":40,"id":"c7e9c75d_4fa25c0d","line":44,"range":{"start_line":39,"start_character":0,"end_line":44,"end_character":0},"updated":"2020-12-09 23:36:15.000000000","message":"I was wondering about including this extra stuff, but it\u0027s because your test sets the mv to 3.63, and as a result, the response will include all the stuff from lower microversions too.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":38,"context_line":"            \"volume_type_id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\","},{"line_number":39,"context_line":"            \"provider_id\": null,"},{"line_number":40,"context_line":"            \"group_id\": null,"},{"line_number":41,"context_line":"            \"service_uuid\": null,"},{"line_number":42,"context_line":"            \"shared_targets\": true,"},{"line_number":43,"context_line":"            \"cluster_name\": null"},{"line_number":44,"context_line":"        }"},{"line_number":45,"context_line":"    ]"},{"line_number":46,"context_line":"}"}],"source_content_type":"application/json","patch_set":40,"id":"e16910a2_da586732","line":44,"range":{"start_line":39,"start_character":0,"end_line":44,"end_character":0},"in_reply_to":"c7e9c75d_4fa25c0d","updated":"2020-12-10 20:09:07.000000000","message":"Yes. Exactly that.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":34,"context_line":"            \"status\": \"creating\","},{"line_number":35,"context_line":"            \"updated_at\": null,"},{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":38,"context_line":"            \"volume_type_id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\","},{"line_number":39,"context_line":"            \"provider_id\": null,"},{"line_number":40,"context_line":"            \"group_id\": null,"}],"source_content_type":"application/json","patch_set":41,"id":"12a543fb_8028a68a","line":37,"range":{"start_line":37,"start_character":28,"end_line":37,"end_character":39},"updated":"2021-01-14 10:06:43.000000000","message":"nit: There was no need to change the volume_type, since the __DEFAULT__ type also has an UUID, and I think it has value to see in the samples the __DEFAULT__ type.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            \"status\": \"creating\","},{"line_number":35,"context_line":"            \"updated_at\": null,"},{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":38,"context_line":"            \"volume_type_id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\","},{"line_number":39,"context_line":"            \"provider_id\": null,"},{"line_number":40,"context_line":"            \"group_id\": null,"}],"source_content_type":"application/json","patch_set":41,"id":"c173c03c_a776c300","line":37,"range":{"start_line":37,"start_character":28,"end_line":37,"end_character":39},"in_reply_to":"12a543fb_8028a68a","updated":"2021-01-14 13:34:17.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":38,"context_line":"            \"volume_type_id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\","},{"line_number":39,"context_line":"            \"provider_id\": null,"},{"line_number":40,"context_line":"            \"group_id\": null,"},{"line_number":41,"context_line":"            \"service_uuid\": null,"},{"line_number":42,"context_line":"            \"shared_targets\": true,"},{"line_number":43,"context_line":"            \"cluster_name\": null"},{"line_number":44,"context_line":"        }"},{"line_number":45,"context_line":"    ]"},{"line_number":46,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"d8888d07_8e593caa","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":32},"updated":"2021-01-14 10:06:43.000000000","message":"Unrelated change.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4f706a9779e36ae41b0e3cb32de2cef21e38ef4f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":38,"context_line":"            \"volume_type_id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\","},{"line_number":39,"context_line":"            \"provider_id\": null,"},{"line_number":40,"context_line":"            \"group_id\": null,"},{"line_number":41,"context_line":"            \"service_uuid\": null,"},{"line_number":42,"context_line":"            \"shared_targets\": true,"},{"line_number":43,"context_line":"            \"cluster_name\": null"},{"line_number":44,"context_line":"        }"},{"line_number":45,"context_line":"    ]"},{"line_number":46,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"3308a551_6294ab39","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":32},"in_reply_to":"cf327a24_871c3202","updated":"2021-01-15 12:57:08.000000000","message":"That means that there\u0027s a need for another independent patch that fixes this, and then this patch would be chained with that one so it is self sufficient.\n\nBut I won\u0027t downvote for it since there\u0027s a low core review bandwidth and we should try to move this patch along.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":true,"context_lines":[{"line_number":36,"context_line":"            \"user_id\": \"c853ca26-e8ea-4797-8a52-ee124a013d0e\","},{"line_number":37,"context_line":"            \"volume_type\": \"lvmdriver-1\","},{"line_number":38,"context_line":"            \"volume_type_id\": \"5fed9d7c-401d-46e2-8e80-f30c70cb7e1d\","},{"line_number":39,"context_line":"            \"provider_id\": null,"},{"line_number":40,"context_line":"            \"group_id\": null,"},{"line_number":41,"context_line":"            \"service_uuid\": null,"},{"line_number":42,"context_line":"            \"shared_targets\": true,"},{"line_number":43,"context_line":"            \"cluster_name\": null"},{"line_number":44,"context_line":"        }"},{"line_number":45,"context_line":"    ]"},{"line_number":46,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"cf327a24_871c3202","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":32},"in_reply_to":"d8888d07_8e593caa","updated":"2021-01-14 13:34:17.000000000","message":"I explained this in a past request. Because we use version 3.63 for testing, these other new variables are also activated. Therefore, I needed to add them here. \n\nTests `tox -efunctional-py36` will not work without these.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"}],"api-ref/source/v3/volumes-v3-volumes.inc":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":129,"context_line":"   - bootable: bootable_response"},{"line_number":130,"context_line":"   - created_at: created_at"},{"line_number":131,"context_line":"   - volumes: volumes"},{"line_number":132,"context_line":"   - volume_type: volume_type_vol"},{"line_number":133,"context_line":"   - group_id: group_id_optional"},{"line_number":134,"context_line":"   - volumes_links: links_vol_optional"},{"line_number":135,"context_line":"   - count: count"}],"source_content_type":"text/x-c++src","patch_set":40,"id":"9c6310ec_3e0f3c3f","line":132,"updated":"2020-12-09 23:36:15.000000000","message":"add:\n\n  - volume_type_id: volume_type_id_363","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":129,"context_line":"   - bootable: bootable_response"},{"line_number":130,"context_line":"   - created_at: created_at"},{"line_number":131,"context_line":"   - volumes: volumes"},{"line_number":132,"context_line":"   - volume_type: volume_type_vol"},{"line_number":133,"context_line":"   - group_id: group_id_optional"},{"line_number":134,"context_line":"   - volumes_links: links_vol_optional"},{"line_number":135,"context_line":"   - count: count"}],"source_content_type":"text/x-c++src","patch_set":40,"id":"ee2090bd_d1edb046","line":132,"in_reply_to":"9c6310ec_3e0f3c3f","updated":"2020-12-10 20:09:07.000000000","message":"Thanks! I did not know that we needed that.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":244,"context_line":"   - name: name_vol"},{"line_number":245,"context_line":"   - bootable: bootable_response"},{"line_number":246,"context_line":"   - created_at: created_at"},{"line_number":247,"context_line":"   - volume_type: volume_type_vol"},{"line_number":248,"context_line":"   - group_id: group_id_optional"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Response Example"}],"source_content_type":"text/x-c++src","patch_set":40,"id":"d393eb8a_a70e2e7e","line":247,"updated":"2020-12-09 23:36:15.000000000","message":"The response uses the view builder detail, so if create is done when specifying a mv \u003e\u003d 3.63, the volume type id will show up here.  Looks like we haven\u0027t included any other mv-controlled fields here, though, so I guess it\u0027s OK to leave it out.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":244,"context_line":"   - name: name_vol"},{"line_number":245,"context_line":"   - bootable: bootable_response"},{"line_number":246,"context_line":"   - created_at: created_at"},{"line_number":247,"context_line":"   - volume_type: volume_type_vol"},{"line_number":248,"context_line":"   - group_id: group_id_optional"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Response Example"}],"source_content_type":"text/x-c++src","patch_set":40,"id":"ebd97a97_09024c9a","line":247,"in_reply_to":"d393eb8a_a70e2e7e","updated":"2020-12-10 20:09:07.000000000","message":"Ack","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":374,"context_line":"   - name: name_vol"},{"line_number":375,"context_line":"   - bootable: bootable_response"},{"line_number":376,"context_line":"   - created_at: created_at"},{"line_number":377,"context_line":"   - volume_type: volume_type_vol"},{"line_number":378,"context_line":"   - service_uuid: service_uuid"},{"line_number":379,"context_line":"   - shared_targets: shared_targets"},{"line_number":380,"context_line":"   - cluster_name: cluster_name"}],"source_content_type":"text/x-c++src","patch_set":40,"id":"7292e90e_c924e5f1","line":377,"updated":"2020-12-09 23:36:15.000000000","message":"Same comment as line 132.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":374,"context_line":"   - name: name_vol"},{"line_number":375,"context_line":"   - bootable: bootable_response"},{"line_number":376,"context_line":"   - created_at: created_at"},{"line_number":377,"context_line":"   - volume_type: volume_type_vol"},{"line_number":378,"context_line":"   - service_uuid: service_uuid"},{"line_number":379,"context_line":"   - shared_targets: shared_targets"},{"line_number":380,"context_line":"   - cluster_name: cluster_name"}],"source_content_type":"text/x-c++src","patch_set":40,"id":"69814132_9663a8ee","line":377,"in_reply_to":"7292e90e_c924e5f1","updated":"2020-12-10 20:09:07.000000000","message":"Done","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":450,"context_line":"   - name: name_vol"},{"line_number":451,"context_line":"   - bootable: bootable_response"},{"line_number":452,"context_line":"   - created_at: created_at"},{"line_number":453,"context_line":"   - volume_type: volume_type_vol"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"Response Example"}],"source_content_type":"text/x-c++src","patch_set":40,"id":"2e27301f_b4f8898a","line":453,"updated":"2020-12-09 23:36:15.000000000","message":"Same comment as line 247.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":450,"context_line":"   - name: name_vol"},{"line_number":451,"context_line":"   - bootable: bootable_response"},{"line_number":452,"context_line":"   - created_at: created_at"},{"line_number":453,"context_line":"   - volume_type: volume_type_vol"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"Response Example"}],"source_content_type":"text/x-c++src","patch_set":40,"id":"58117403_0fc1d25a","line":453,"in_reply_to":"2e27301f_b4f8898a","updated":"2020-12-10 20:09:07.000000000","message":"Ack","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"}],"cinder/api/microversions.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":160,"context_line":"SUPPORT_TRANSFER_PAGINATION \u003d \u00273.59\u0027"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS \u003d \u00273.60\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"def get_mv_header(version):"},{"line_number":165,"context_line":"    \"\"\"Gets a formatted HTTP microversion header."},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_04ce075b","line":163,"updated":"2019-07-03 05:33:06.000000000","message":"one more blank line needed here","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":160,"context_line":"SUPPORT_TRANSFER_PAGINATION \u003d \u00273.59\u0027"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS \u003d \u00273.60\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"def get_mv_header(version):"},{"line_number":165,"context_line":"    \"\"\"Gets a formatted HTTP microversion header."},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_8de6934a","line":163,"in_reply_to":"9fb8cfa7_04ce075b","updated":"2019-07-03 13:14:13.000000000","message":"Fixed","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e7fb58a3ac7557ee325eb49b259647c2c47a2809","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"VOLUME_TIME_COMPARISON_FILTER \u003d \u00273.60\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS \u003d \u00273.61\u0027"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"def get_mv_header(version):"}],"source_content_type":"text/x-python","patch_set":30,"id":"bf51134e_88c2a332","line":164,"updated":"2020-06-16 13:28:03.000000000","message":"I think it would be more accurate to name this VOLUME_TYPE_ID_IN_VOLUME_DETAIL","commit_id":"63a46535323e66f679cede8966bd880bd976a109"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"76f7d28f2a1b4cf49353bad2fd23ac7c399acc54","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"VOLUME_TIME_COMPARISON_FILTER \u003d \u00273.60\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS \u003d \u00273.61\u0027"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"def get_mv_header(version):"}],"source_content_type":"text/x-python","patch_set":30,"id":"bf51134e_9bc2e8e8","line":164,"in_reply_to":"bf51134e_88c2a332","updated":"2020-06-16 16:54:56.000000000","message":"Done","commit_id":"63a46535323e66f679cede8966bd880bd976a109"}],"cinder/api/openstack/api_version_request.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":135,"context_line":"             detail, list group snapshots with detail, show group detail and"},{"line_number":136,"context_line":"             show group snapshot detail APIs."},{"line_number":137,"context_line":"    * 3.59 - Support volume transfer pagination."},{"line_number":138,"context_line":"    * 3.60 - Use volume type name and ID in the volume details JSON response. "},{"line_number":139,"context_line":"             Before this microversion, Cinder returns only the volyme type name"},{"line_number":140,"context_line":"             in the volume details."},{"line_number":141,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_e4d413ec","line":138,"range":{"start_line":138,"start_character":77,"end_line":138,"end_character":78},"updated":"2019-07-03 05:33:06.000000000","message":"remove this whitespace","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":135,"context_line":"             detail, list group snapshots with detail, show group detail and"},{"line_number":136,"context_line":"             show group snapshot detail APIs."},{"line_number":137,"context_line":"    * 3.59 - Support volume transfer pagination."},{"line_number":138,"context_line":"    * 3.60 - Use volume type name and ID in the volume details JSON response. "},{"line_number":139,"context_line":"             Before this microversion, Cinder returns only the volyme type name"},{"line_number":140,"context_line":"             in the volume details."},{"line_number":141,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_6df55fed","line":138,"range":{"start_line":138,"start_character":77,"end_line":138,"end_character":78},"in_reply_to":"9fb8cfa7_e4d413ec","updated":"2019-07-03 13:14:13.000000000","message":"fixed","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"19d8a03b32f31a19fb36212c489571e8f6d3edc1","unresolved":false,"context_lines":[{"line_number":136,"context_line":"             show group snapshot detail APIs."},{"line_number":137,"context_line":"    * 3.59 - Support volume transfer pagination."},{"line_number":138,"context_line":"    * 3.60 - Use volume type name and ID in the volume details JSON response."},{"line_number":139,"context_line":"             Before this microversion, Cinder returns only the volyme type name"},{"line_number":140,"context_line":"             in the volume details."},{"line_number":141,"context_line":"\"\"\""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"7faddb67_9aede126","line":139,"range":{"start_line":139,"start_character":63,"end_line":139,"end_character":69},"updated":"2019-08-16 06:18:53.000000000","message":"volume","commit_id":"fe344369b1ae5d7c64fe6b2f83ecd3783d20ca31"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"649e1e46c95f6f0682f6624a74504136266c7b94","unresolved":false,"context_lines":[{"line_number":136,"context_line":"             show group snapshot detail APIs."},{"line_number":137,"context_line":"    * 3.59 - Support volume transfer pagination."},{"line_number":138,"context_line":"    * 3.60 - Use volume type name and ID in the volume details JSON response."},{"line_number":139,"context_line":"             Before this microversion, Cinder returns only the volyme type name"},{"line_number":140,"context_line":"             in the volume details."},{"line_number":141,"context_line":"\"\"\""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"7faddb67_4e57a75b","line":139,"range":{"start_line":139,"start_character":63,"end_line":139,"end_character":69},"in_reply_to":"7faddb67_9aede126","updated":"2019-08-16 12:11:03.000000000","message":"Good catch!\nFixed.","commit_id":"fe344369b1ae5d7c64fe6b2f83ecd3783d20ca31"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"bda7dad363e95eb15dc61bc132b8a876f3228b62","unresolved":false,"context_lines":[{"line_number":139,"context_line":"             time comparison operators for the volume summary list"},{"line_number":140,"context_line":"             (\"GET /v3/{project_id}/volumes\") and volume detail list"},{"line_number":141,"context_line":"             (\"GET /v3/{project_id}/volumes/detail\") requests."},{"line_number":142,"context_line":"    * 3.61 - Use volume type name and ID in the volume details JSON response."},{"line_number":143,"context_line":"             Before this microversion, Cinder returns only the volume type name"},{"line_number":144,"context_line":"             in the volume details."},{"line_number":145,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":30,"id":"bf51134e_3bcbdc53","line":142,"range":{"start_line":142,"start_character":13,"end_line":142,"end_character":16},"updated":"2020-06-16 16:22:05.000000000","message":"\"Include\" rather than \"Use\"","commit_id":"63a46535323e66f679cede8966bd880bd976a109"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c4b62444cd50c0275564f0773035772de25e5962","unresolved":false,"context_lines":[{"line_number":139,"context_line":"             time comparison operators for the volume summary list"},{"line_number":140,"context_line":"             (\"GET /v3/{project_id}/volumes\") and volume detail list"},{"line_number":141,"context_line":"             (\"GET /v3/{project_id}/volumes/detail\") requests."},{"line_number":142,"context_line":"    * 3.61 - Use volume type name and ID in the volume details JSON response."},{"line_number":143,"context_line":"             Before this microversion, Cinder returns only the volume type name"},{"line_number":144,"context_line":"             in the volume details."},{"line_number":145,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":30,"id":"bf51134e_fb0de490","line":142,"range":{"start_line":142,"start_character":13,"end_line":142,"end_character":16},"in_reply_to":"bf51134e_3bcbdc53","updated":"2020-06-16 16:26:59.000000000","message":"Done","commit_id":"63a46535323e66f679cede8966bd880bd976a109"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"cdaec158fba0366c82bd078414fc53f304338b03","unresolved":false,"context_lines":[{"line_number":139,"context_line":"             time comparison operators for the volume summary list"},{"line_number":140,"context_line":"             (\"GET /v3/{project_id}/volumes\") and volume detail list"},{"line_number":141,"context_line":"             (\"GET /v3/{project_id}/volumes/detail\") requests."},{"line_number":142,"context_line":"    * 3.61 - Include volume type name and ID in the volume details JSON "},{"line_number":143,"context_line":"             response. Before this microversion, Cinder returns only the volume"},{"line_number":144,"context_line":"             type name in the volume details."},{"line_number":145,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_43d177cd","line":142,"updated":"2020-06-17 13:00:57.000000000","message":"pep8: W291 trailing whitespace","commit_id":"9104f0109f8e9fc6c35db9748350dab981e2882a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3b1791b78d8f1fd1cacb6087b848e24f08b580dc","unresolved":false,"context_lines":[{"line_number":139,"context_line":"             time comparison operators for the volume summary list"},{"line_number":140,"context_line":"             (\"GET /v3/{project_id}/volumes\") and volume detail list"},{"line_number":141,"context_line":"             (\"GET /v3/{project_id}/volumes/detail\") requests."},{"line_number":142,"context_line":"    * 3.61 - Include volume type name and ID in the volume details JSON"},{"line_number":143,"context_line":"             response. Before this microversion, Cinder returns only the volume"},{"line_number":144,"context_line":"             type name in the volume details."},{"line_number":145,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_c6718346","line":142,"range":{"start_line":142,"start_character":52,"end_line":142,"end_character":66},"updated":"2020-06-25 14:00:57.000000000","message":"I think it\u0027s worth saying explicitly what calls are affected (as is done above for mv 3.60).  You\u0027re modifying the response for the volume detail list (\"GET /v3/{project_id}/volumes/detail\") and volume-show (\"GET /v3/{project_id}/volumes/{volume_id}\") calls.","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3b1791b78d8f1fd1cacb6087b848e24f08b580dc","unresolved":false,"context_lines":[{"line_number":139,"context_line":"             time comparison operators for the volume summary list"},{"line_number":140,"context_line":"             (\"GET /v3/{project_id}/volumes\") and volume detail list"},{"line_number":141,"context_line":"             (\"GET /v3/{project_id}/volumes/detail\") requests."},{"line_number":142,"context_line":"    * 3.61 - Include volume type name and ID in the volume details JSON"},{"line_number":143,"context_line":"             response. Before this microversion, Cinder returns only the volume"},{"line_number":144,"context_line":"             type name in the volume details."},{"line_number":145,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_86e4ab0e","line":142,"range":{"start_line":142,"start_character":33,"end_line":142,"end_character":41},"updated":"2020-06-25 14:00:57.000000000","message":"This is a nit, but I think it would be more clear to simply say \"Include volume type ID in ...\" here, since the first sentence needs to describe exactly what the new mv does.  (Your second sentence makes clear how your mv is an improvement; it\u0027s fine to mention volume type name there.)","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"817a59644739be6fc2e5d072439435e160f01443","unresolved":false,"context_lines":[{"line_number":139,"context_line":"             time comparison operators for the volume summary list"},{"line_number":140,"context_line":"             (\"GET /v3/{project_id}/volumes\") and volume detail list"},{"line_number":141,"context_line":"             (\"GET /v3/{project_id}/volumes/detail\") requests."},{"line_number":142,"context_line":"    * 3.61 - Include volume type name and ID in the volume details JSON"},{"line_number":143,"context_line":"             response. Before this microversion, Cinder returns only the volume"},{"line_number":144,"context_line":"             type name in the volume details."},{"line_number":145,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_befb8876","line":142,"range":{"start_line":142,"start_character":33,"end_line":142,"end_character":41},"in_reply_to":"bf51134e_86e4ab0e","updated":"2020-06-29 16:35:20.000000000","message":"Done","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"817a59644739be6fc2e5d072439435e160f01443","unresolved":false,"context_lines":[{"line_number":139,"context_line":"             time comparison operators for the volume summary list"},{"line_number":140,"context_line":"             (\"GET /v3/{project_id}/volumes\") and volume detail list"},{"line_number":141,"context_line":"             (\"GET /v3/{project_id}/volumes/detail\") requests."},{"line_number":142,"context_line":"    * 3.61 - Include volume type name and ID in the volume details JSON"},{"line_number":143,"context_line":"             response. Before this microversion, Cinder returns only the volume"},{"line_number":144,"context_line":"             type name in the volume details."},{"line_number":145,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_3e081890","line":142,"range":{"start_line":142,"start_character":52,"end_line":142,"end_character":66},"in_reply_to":"bf51134e_c6718346","updated":"2020-06-29 16:35:20.000000000","message":"Done","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3b1791b78d8f1fd1cacb6087b848e24f08b580dc","unresolved":false,"context_lines":[{"line_number":151,"context_line":"_MIN_API_VERSION \u003d \"3.0\""},{"line_number":152,"context_line":"_MAX_API_VERSION \u003d \"3.61\""},{"line_number":153,"context_line":"_LEGACY_API_VERSION2 \u003d \"2.0\""},{"line_number":154,"context_line":"UPDATED \u003d \"2020-04-10T11:00:00Z\""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"# NOTE(cyeoh): min and max versions declared as functions so we can"}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_6634f74a","line":154,"range":{"start_line":154,"start_character":11,"end_line":154,"end_character":21},"updated":"2020-06-25 14:00:57.000000000","message":"We should probably bring this closer to reality.","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"817a59644739be6fc2e5d072439435e160f01443","unresolved":false,"context_lines":[{"line_number":151,"context_line":"_MIN_API_VERSION \u003d \"3.0\""},{"line_number":152,"context_line":"_MAX_API_VERSION \u003d \"3.61\""},{"line_number":153,"context_line":"_LEGACY_API_VERSION2 \u003d \"2.0\""},{"line_number":154,"context_line":"UPDATED \u003d \"2020-04-10T11:00:00Z\""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"# NOTE(cyeoh): min and max versions declared as functions so we can"}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_deec7cbc","line":154,"range":{"start_line":154,"start_character":11,"end_line":154,"end_character":21},"in_reply_to":"bf51134e_6634f74a","updated":"2020-06-29 16:35:20.000000000","message":"Done","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b105aec97203e23405c94eb806d348170fbef5db","unresolved":false,"context_lines":[{"line_number":143,"context_line":"             this microversion (MV), Cinder returns only the volume type name"},{"line_number":144,"context_line":"             in the volume details. This MV affects the volume detail list ("},{"line_number":145,"context_line":"             \"GET /v3/{project_id}/volumes/detail\") and volume-show"},{"line_number":146,"context_line":"             (\"GET /v3/{project_id}/volumes/{volume_id}\") calls. "},{"line_number":147,"context_line":"\"\"\""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":35,"id":"bf51134e_d4dd7bdd","line":146,"updated":"2020-06-29 18:49:42.000000000","message":"pep8: W291 trailing whitespace","commit_id":"6199a596afd72e36c870d6eaedb00c24e5eb97f4"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":144,"context_line":"    * 3.62 - Default volume type overrides"},{"line_number":145,"context_line":"    * 3.63 - Include volume type ID in the volume details JSON response. Before"},{"line_number":146,"context_line":"             this microversion (MV), Cinder returns only the volume type name"},{"line_number":147,"context_line":"             in the volume details. This MV affects the volume detail list ("},{"line_number":148,"context_line":"             \"GET /v3/{project_id}/volumes/detail\") and volume-show"},{"line_number":149,"context_line":"             (\"GET /v3/{project_id}/volumes/{volume_id}\") calls."},{"line_number":150,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":40,"id":"927cd9b3_ea3426ca","line":147,"range":{"start_line":147,"start_character":75,"end_line":147,"end_character":76},"updated":"2020-12-09 23:36:15.000000000","message":"You need the paren at the beginning of the next line (like line 149).","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    * 3.62 - Default volume type overrides"},{"line_number":145,"context_line":"    * 3.63 - Include volume type ID in the volume details JSON response. Before"},{"line_number":146,"context_line":"             this microversion (MV), Cinder returns only the volume type name"},{"line_number":147,"context_line":"             in the volume details. This MV affects the volume detail list ("},{"line_number":148,"context_line":"             \"GET /v3/{project_id}/volumes/detail\") and volume-show"},{"line_number":149,"context_line":"             (\"GET /v3/{project_id}/volumes/{volume_id}\") calls."},{"line_number":150,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":40,"id":"39dcd7b9_176fc30e","line":147,"range":{"start_line":147,"start_character":75,"end_line":147,"end_character":76},"in_reply_to":"927cd9b3_ea3426ca","updated":"2020-12-10 20:09:07.000000000","message":"Done","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"}],"cinder/api/openstack/rest_api_version_history.rst":[{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"aeba941be310953e7f86b17eaded32ded95a8103","unresolved":false,"context_lines":[{"line_number":467,"context_line":"----"},{"line_number":468,"context_line":"Add \u0027created_at\u0027 and \u0027updated_at\u0027 to support users can list/detail volumes by"},{"line_number":469,"context_line":"specifying the time comparison operators along with created_at or updated_at."},{"line_number":470,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"3.61"},{"line_number":473,"context_line":"----"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f3f37e8_7dff3767","line":470,"range":{"start_line":470,"start_character":0,"end_line":470,"end_character":7},"updated":"2020-04-11 16:59:44.000000000","message":"There is some specific reason for this \"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\" ? I think it can be removed.","commit_id":"7c4bd1e4b7f6ce7dacf4dd43ae70e27f6c6b1540"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e94d8bdaf5384444970fb56ec05ac34233d0a00a","unresolved":false,"context_lines":[{"line_number":467,"context_line":"----"},{"line_number":468,"context_line":"Add \u0027created_at\u0027 and \u0027updated_at\u0027 to support users can list/detail volumes by"},{"line_number":469,"context_line":"specifying the time comparison operators along with created_at or updated_at."},{"line_number":470,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"3.61"},{"line_number":473,"context_line":"----"}],"source_content_type":"text/x-rst","patch_set":25,"id":"3f4c43b2_15521814","line":470,"range":{"start_line":470,"start_character":0,"end_line":470,"end_character":7},"in_reply_to":"5f3f37e8_7dff3767","updated":"2020-04-14 18:12:33.000000000","message":"No. Probably some left overs of my rebase. I removed it.","commit_id":"7c4bd1e4b7f6ce7dacf4dd43ae70e27f6c6b1540"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3b1791b78d8f1fd1cacb6087b848e24f08b580dc","unresolved":false,"context_lines":[{"line_number":471,"context_line":""},{"line_number":472,"context_line":"3.61"},{"line_number":473,"context_line":"----"},{"line_number":474,"context_line":"Use volume type name and ID in the volume details JSON response."},{"line_number":475,"context_line":"Before this microversion, Cinder returns only the volume type name"},{"line_number":476,"context_line":"in the volume details."}],"source_content_type":"text/x-rst","patch_set":34,"id":"bf51134e_660d178f","line":474,"range":{"start_line":474,"start_character":0,"end_line":474,"end_character":64},"updated":"2020-06-25 14:00:57.000000000","message":"I suggest:\n\nInclude volume type ID in the volume-show and volume-detail-list JSON responses.","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"817a59644739be6fc2e5d072439435e160f01443","unresolved":false,"context_lines":[{"line_number":471,"context_line":""},{"line_number":472,"context_line":"3.61"},{"line_number":473,"context_line":"----"},{"line_number":474,"context_line":"Use volume type name and ID in the volume details JSON response."},{"line_number":475,"context_line":"Before this microversion, Cinder returns only the volume type name"},{"line_number":476,"context_line":"in the volume details."}],"source_content_type":"text/x-rst","patch_set":34,"id":"bf51134e_9e3b2436","line":474,"range":{"start_line":474,"start_character":0,"end_line":474,"end_character":64},"in_reply_to":"bf51134e_660d178f","updated":"2020-06-29 16:35:20.000000000","message":"Done","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"}],"cinder/api/v2/views/volumes.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70208123bd97f01d36745e454e8978d7efc37eb7","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                \u0027attachments\u0027: self._get_attachments(volume),"},{"line_number":79,"context_line":"                \u0027name\u0027: volume.get(\u0027display_name\u0027),"},{"line_number":80,"context_line":"                \u0027description\u0027: volume.get(\u0027display_description\u0027),"},{"line_number":81,"context_line":"                \u0027volume_type\u0027: volume[\u0027volume_type_id\u0027],"},{"line_number":82,"context_line":"                \u0027snapshot_id\u0027: volume.get(\u0027snapshot_id\u0027),"},{"line_number":83,"context_line":"                \u0027source_volid\u0027: volume.get(\u0027source_volid\u0027),"},{"line_number":84,"context_line":"                \u0027metadata\u0027: self._get_volume_metadata(volume),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fb8cfa7_3a24a40c","line":81,"updated":"2019-07-01 12:21:43.000000000","message":"As we talked about, this needs to be a microversioned API change. I would have assumed unit tests would have needed to be updated for this to pass too, but I guess we have a gap there right now. But adding the microversion will need it.","commit_id":"9d16f32e358c9c42fb69dcfec03565bc2b2a69e6"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"d8f88f46cb8811f5464e6442cbcc95b7570c482d","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                \u0027attachments\u0027: self._get_attachments(volume),"},{"line_number":79,"context_line":"                \u0027name\u0027: volume.get(\u0027display_name\u0027),"},{"line_number":80,"context_line":"                \u0027description\u0027: volume.get(\u0027display_description\u0027),"},{"line_number":81,"context_line":"                \u0027volume_type\u0027: volume[\u0027volume_type_id\u0027],"},{"line_number":82,"context_line":"                \u0027snapshot_id\u0027: volume.get(\u0027snapshot_id\u0027),"},{"line_number":83,"context_line":"                \u0027source_volid\u0027: volume.get(\u0027source_volid\u0027),"},{"line_number":84,"context_line":"                \u0027metadata\u0027: self._get_volume_metadata(volume),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fb8cfa7_7825445b","line":81,"in_reply_to":"9fb8cfa7_3a24a40c","updated":"2019-07-01 13:42:02.000000000","message":"Got it. I can do both.\n\nDo you have an example on how to microversion API calls?","commit_id":"9d16f32e358c9c42fb69dcfec03565bc2b2a69e6"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e358a554fc990456a86b0aec784f86a82dcc2d34","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                \u0027attachments\u0027: self._get_attachments(volume),"},{"line_number":79,"context_line":"                \u0027name\u0027: volume.get(\u0027display_name\u0027),"},{"line_number":80,"context_line":"                \u0027description\u0027: volume.get(\u0027display_description\u0027),"},{"line_number":81,"context_line":"                \u0027volume_type\u0027: volume[\u0027volume_type_id\u0027],"},{"line_number":82,"context_line":"                \u0027snapshot_id\u0027: volume.get(\u0027snapshot_id\u0027),"},{"line_number":83,"context_line":"                \u0027source_volid\u0027: volume.get(\u0027source_volid\u0027),"},{"line_number":84,"context_line":"                \u0027metadata\u0027: self._get_volume_metadata(volume),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fb8cfa7_b3c2fae7","line":81,"in_reply_to":"9fb8cfa7_7825445b","updated":"2019-07-01 19:21:58.000000000","message":"I suspect we should also return the name in a separate field as part of this change so that we can continue to display it cinderclient etc.","commit_id":"9d16f32e358c9c42fb69dcfec03565bc2b2a69e6"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e8365051ba69cdb8afaa35b42f28a4bf34d39536","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                \u0027attachments\u0027: self._get_attachments(volume),"},{"line_number":79,"context_line":"                \u0027name\u0027: volume.get(\u0027display_name\u0027),"},{"line_number":80,"context_line":"                \u0027description\u0027: volume.get(\u0027display_description\u0027),"},{"line_number":81,"context_line":"                \u0027volume_type\u0027: volume[\u0027volume_type_id\u0027],"},{"line_number":82,"context_line":"                \u0027snapshot_id\u0027: volume.get(\u0027snapshot_id\u0027),"},{"line_number":83,"context_line":"                \u0027source_volid\u0027: volume.get(\u0027source_volid\u0027),"},{"line_number":84,"context_line":"                \u0027metadata\u0027: self._get_volume_metadata(volume),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fb8cfa7_a0e1359d","line":81,"in_reply_to":"9fb8cfa7_b3c2fae7","updated":"2019-07-02 13:22:58.000000000","message":"Ok, I will do that.","commit_id":"9d16f32e358c9c42fb69dcfec03565bc2b2a69e6"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"aeba941be310953e7f86b17eaded32ded95a8103","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        return volume_ref"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":112,"context_line":"        \"\"\"Retrieve the type the volume object.\"\"\""},{"line_number":113,"context_line":"        if volume[\u0027volume_type_id\u0027] and volume.get(\u0027volume_type\u0027):"},{"line_number":114,"context_line":"            return volume[\u0027volume_type\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":25,"id":"3f4c43b2_bc11c156","line":111,"updated":"2020-04-11 16:59:44.000000000","message":"I think that you can restore this method for its original place (line 137 after method \"_get_volume_metadata\") and also remove fix a typo on \"Retrieve the type the volume object.\" -\u003e \"Retrieve the type of the volume object.\"","commit_id":"7c4bd1e4b7f6ce7dacf4dd43ae70e27f6c6b1540"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e94d8bdaf5384444970fb56ec05ac34233d0a00a","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        return volume_ref"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":112,"context_line":"        \"\"\"Retrieve the type the volume object.\"\"\""},{"line_number":113,"context_line":"        if volume[\u0027volume_type_id\u0027] and volume.get(\u0027volume_type\u0027):"},{"line_number":114,"context_line":"            return volume[\u0027volume_type\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":25,"id":"3f4c43b2_d547104b","line":111,"in_reply_to":"3f4c43b2_bc11c156","updated":"2020-04-14 18:12:33.000000000","message":"Done","commit_id":"7c4bd1e4b7f6ce7dacf4dd43ae70e27f6c6b1540"}],"cinder/api/v3/views/volumes.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from oslo_log import log as logging"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class ViewBuilder(views_v2.ViewBuilder):"},{"line_number":24,"context_line":"    \"\"\"Model a volumes API V3 response as a python dictionary.\"\"\""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_a4085b91","line":22,"updated":"2019-07-03 05:33:06.000000000","message":"one more blank line needed here","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from oslo_log import log as logging"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class ViewBuilder(views_v2.ViewBuilder):"},{"line_number":24,"context_line":"    \"\"\"Model a volumes API V3 response as a python dictionary.\"\"\""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_0ddaa378","line":22,"in_reply_to":"9fb8cfa7_a4085b91","updated":"2019-07-03 13:14:13.000000000","message":"fixed","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        return volumes_dict"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":99,"context_line":"        \"\"\"Retrieve the volume type object for microversion 3.60."},{"line_number":100,"context_line":"        Otherwise, it uses the default implementation from super.\"\"\""},{"line_number":101,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_64026372","line":99,"range":{"start_line":99,"start_character":11,"end_line":99,"end_character":65},"updated":"2019-07-03 05:33:06.000000000","message":"a space is required after first line in multiline docstring","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        return volumes_dict"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":99,"context_line":"        \"\"\"Retrieve the volume type object for microversion 3.60."},{"line_number":100,"context_line":"        Otherwise, it uses the default implementation from super.\"\"\""},{"line_number":101,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_2dd76752","line":99,"range":{"start_line":99,"start_character":11,"end_line":99,"end_character":65},"in_reply_to":"9fb8cfa7_64026372","updated":"2019-07-03 13:14:13.000000000","message":"fixed","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":99,"context_line":"        \"\"\"Retrieve the volume type object for microversion 3.60."},{"line_number":100,"context_line":"        Otherwise, it uses the default implementation from super.\"\"\""},{"line_number":101,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS, None) \\"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_44fddf6c","line":100,"range":{"start_line":100,"start_character":65,"end_line":100,"end_character":68},"updated":"2019-07-03 05:33:06.000000000","message":"this should come in next line","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":99,"context_line":"        \"\"\"Retrieve the volume type object for microversion 3.60."},{"line_number":100,"context_line":"        Otherwise, it uses the default implementation from super.\"\"\""},{"line_number":101,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS, None) \\"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_8dcf73b2","line":100,"range":{"start_line":100,"start_character":65,"end_line":100,"end_character":68},"in_reply_to":"9fb8cfa7_44fddf6c","updated":"2019-07-03 13:14:13.000000000","message":"fixed","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        Otherwise, it uses the default implementation from super.\"\"\""},{"line_number":101,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS, None) \\"},{"line_number":104,"context_line":"                and volume[\u0027volume_type_id\u0027] and volume.get(\u0027volume_type\u0027):"},{"line_number":105,"context_line":"            return {\u0027id\u0027: volume[\u0027volume_type\u0027][\u0027id\u0027],"},{"line_number":106,"context_line":"                    \u0027name\u0027: volume[\u0027volume_type\u0027][\u0027name\u0027]}"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_04f7e78e","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":81},"updated":"2019-07-03 05:33:06.000000000","message":"char limit \u003c80","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        Otherwise, it uses the default implementation from super.\"\"\""},{"line_number":101,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS, None) \\"},{"line_number":104,"context_line":"                and volume[\u0027volume_type_id\u0027] and volume.get(\u0027volume_type\u0027):"},{"line_number":105,"context_line":"            return {\u0027id\u0027: volume[\u0027volume_type\u0027][\u0027id\u0027],"},{"line_number":106,"context_line":"                    \u0027name\u0027: volume[\u0027volume_type\u0027][\u0027name\u0027]}"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_8d0213ba","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":81},"in_reply_to":"9fb8cfa7_04f7e78e","updated":"2019-07-03 13:14:13.000000000","message":"I am having a problem to fix this one. Could you help me?\n\nI did the following:\n```\n        if req_version.matches(mv.VOLUME_TYPE_NAME_AND_ID_VOLUME_DETAILS, None) \\\n                and volume[\u0027volume_type_id\u0027] \\\n                and volume.get(\u0027volume_type\u0027):\n```\n\nHowever, it is still not ok according to pep8. The problem is that I am not sure how to proceed and fix that first line there.","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            return {\u0027id\u0027: volume[\u0027volume_type\u0027][\u0027id\u0027],"},{"line_number":106,"context_line":"                    \u0027name\u0027: volume[\u0027volume_type\u0027][\u0027name\u0027]}"},{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            return super(ViewBuilder, self)._get_volume_type(request, volume)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_24f46b87","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":77},"updated":"2019-07-03 05:33:06.000000000","message":"same","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            return {\u0027id\u0027: volume[\u0027volume_type\u0027][\u0027id\u0027],"},{"line_number":106,"context_line":"                    \u0027name\u0027: volume[\u0027volume_type\u0027][\u0027name\u0027]}"},{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            return super(ViewBuilder, self)._get_volume_type(request, volume)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_6dcebfb5","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":77},"in_reply_to":"9fb8cfa7_24f46b87","updated":"2019-07-03 13:14:13.000000000","message":"I did not understand this one","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"764b72ac21a25414b47b56ad56d877649d99c209","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                volume.get(\u0027volume_type_id\u0027) or volume.get(\u0027volume_type\u0027)):"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"            volume_ref["},{"line_number":69,"context_line":"                \u0027volume\u0027][\"volume_type_id\"] \u003d volume[\u0027volume_type\u0027][\u0027id\u0027] \\"},{"line_number":70,"context_line":"                if volume.get(\u0027volume_type\u0027) else volume[\u0027volume_type_id\u0027]"},{"line_number":71,"context_line":"        return volume_ref"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"bf51134e_2899d76d","line":69,"range":{"start_line":69,"start_character":73,"end_line":69,"end_character":75},"updated":"2020-06-16 13:22:34.000000000","message":"We\u0027ve made an effort to avoid using \\ to span multiple lines. Please either wrap the assignment in () to span lines, or better yet, just make this an if block rather than trying to cram a one-liner into multiple lines.","commit_id":"63a46535323e66f679cede8966bd880bd976a109"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"76f7d28f2a1b4cf49353bad2fd23ac7c399acc54","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                volume.get(\u0027volume_type_id\u0027) or volume.get(\u0027volume_type\u0027)):"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"            volume_ref["},{"line_number":69,"context_line":"                \u0027volume\u0027][\"volume_type_id\"] \u003d volume[\u0027volume_type\u0027][\u0027id\u0027] \\"},{"line_number":70,"context_line":"                if volume.get(\u0027volume_type\u0027) else volume[\u0027volume_type_id\u0027]"},{"line_number":71,"context_line":"        return volume_ref"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"bf51134e_9b502835","line":69,"range":{"start_line":69,"start_character":73,"end_line":69,"end_character":75},"in_reply_to":"bf51134e_2899d76d","updated":"2020-06-16 16:54:56.000000000","message":"You are right! Done.\nThanks for the valuable insight.","commit_id":"63a46535323e66f679cede8966bd880bd976a109"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3b1791b78d8f1fd1cacb6087b848e24f08b580dc","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":103,"context_line":"        \"\"\"Returns the volume type of the volume."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        Retrieves the volume type object for microversion 3.61."},{"line_number":106,"context_line":"        Otherwise, it uses the default implementation from super."},{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_41371d4e","line":105,"range":{"start_line":105,"start_character":8,"end_line":105,"end_character":40},"updated":"2020-06-25 14:00:57.000000000","message":"Isn\u0027t this returning a string?","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"817a59644739be6fc2e5d072439435e160f01443","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":103,"context_line":"        \"\"\"Returns the volume type of the volume."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        Retrieves the volume type object for microversion 3.61."},{"line_number":106,"context_line":"        Otherwise, it uses the default implementation from super."},{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_3e649849","line":105,"range":{"start_line":105,"start_character":8,"end_line":105,"end_character":40},"in_reply_to":"bf51134e_41371d4e","updated":"2020-06-29 16:35:20.000000000","message":"Done. It got left behind with all of the back and forth.","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"b9c7da5f6f4949a1c3b84ec5916c9ed2d565b021","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                \u0027service_uuid\u0027, None)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None) and ("},{"line_number":65,"context_line":"                volume.get(\u0027volume_type_id\u0027) or volume.get(\u0027volume_type\u0027)):"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"            volume_type_id \u003d volume.get(\u0027volume_type_id\u0027)"},{"line_number":68,"context_line":"            if volume.get(\u0027volume_type\u0027):"}],"source_content_type":"text/x-python","patch_set":36,"id":"1f621f24_1506c721","line":65,"range":{"start_line":65,"start_character":0,"end_line":65,"end_character":75},"updated":"2020-11-18 17:29:06.000000000","message":"-1: All volume must now contain a volume type, so why do we need this check?","commit_id":"bb261fd1bc3fe6d9c24004204c26e1ddb646efa2"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c616c353a9e2e2d46cc7fefd4264d999dc799558","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                \u0027service_uuid\u0027, None)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None) and ("},{"line_number":65,"context_line":"                volume.get(\u0027volume_type_id\u0027) or volume.get(\u0027volume_type\u0027)):"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"            volume_type_id \u003d volume.get(\u0027volume_type_id\u0027)"},{"line_number":68,"context_line":"            if volume.get(\u0027volume_type\u0027):"}],"source_content_type":"text/x-python","patch_set":36,"id":"fffc6b78_0f219afc","line":65,"range":{"start_line":65,"start_character":0,"end_line":65,"end_character":75},"in_reply_to":"1f621f24_1506c721","updated":"2020-11-19 12:20:30.000000000","message":"I will change it. It seems that when I started it was possible to have volumes without the `volume_type`.","commit_id":"bb261fd1bc3fe6d9c24004204c26e1ddb646efa2"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"b9c7da5f6f4949a1c3b84ec5916c9ed2d565b021","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                volume.get(\u0027volume_type_id\u0027) or volume.get(\u0027volume_type\u0027)):"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"            volume_type_id \u003d volume.get(\u0027volume_type_id\u0027)"},{"line_number":68,"context_line":"            if volume.get(\u0027volume_type\u0027):"},{"line_number":69,"context_line":"                volume_type_id \u003d volume[\u0027volume_type\u0027].get(\u0027id\u0027)"},{"line_number":70,"context_line":"            volume_ref[\u0027volume\u0027][\"volume_type_id\"] \u003d volume_type_id"},{"line_number":71,"context_line":"        return volume_ref"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"1f621f24_753e1bdb","line":69,"range":{"start_line":68,"start_character":0,"end_line":69,"end_character":64},"updated":"2020-11-18 17:29:06.000000000","message":"-1: Line 67 is enough to get the type id since it should always  be there.","commit_id":"bb261fd1bc3fe6d9c24004204c26e1ddb646efa2"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c616c353a9e2e2d46cc7fefd4264d999dc799558","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                volume.get(\u0027volume_type_id\u0027) or volume.get(\u0027volume_type\u0027)):"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"            volume_type_id \u003d volume.get(\u0027volume_type_id\u0027)"},{"line_number":68,"context_line":"            if volume.get(\u0027volume_type\u0027):"},{"line_number":69,"context_line":"                volume_type_id \u003d volume[\u0027volume_type\u0027].get(\u0027id\u0027)"},{"line_number":70,"context_line":"            volume_ref[\u0027volume\u0027][\"volume_type_id\"] \u003d volume_type_id"},{"line_number":71,"context_line":"        return volume_ref"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"fffc6b78_0f807a8b","line":69,"range":{"start_line":68,"start_character":0,"end_line":69,"end_character":64},"in_reply_to":"1f621f24_753e1bdb","updated":"2020-11-19 12:20:30.000000000","message":"When i started working on this one, I saw people using `volume_type_id`, and I thought that there were some edge cases where I would not have the `volume_type` object here. \n\n\nAnyways, I will change it.","commit_id":"bb261fd1bc3fe6d9c24004204c26e1ddb646efa2"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"b9c7da5f6f4949a1c3b84ec5916c9ed2d565b021","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":110,"context_line":"        if (req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None) and"},{"line_number":111,"context_line":"                volume.get(\u0027volume_type\u0027)):"},{"line_number":112,"context_line":"            return volume[\u0027volume_type\u0027][\u0027name\u0027]"},{"line_number":113,"context_line":"        else:"},{"line_number":114,"context_line":"            return super(ViewBuilder, self)._get_volume_type(request, volume)"}],"source_content_type":"text/x-python","patch_set":36,"id":"1f621f24_c61f876e","line":112,"range":{"start_line":110,"start_character":1,"end_line":112,"end_character":48},"updated":"2020-11-18 17:29:06.000000000","message":"How is this any different from calling the parent method?","commit_id":"bb261fd1bc3fe6d9c24004204c26e1ddb646efa2"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c616c353a9e2e2d46cc7fefd4264d999dc799558","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":110,"context_line":"        if (req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None) and"},{"line_number":111,"context_line":"                volume.get(\u0027volume_type\u0027)):"},{"line_number":112,"context_line":"            return volume[\u0027volume_type\u0027][\u0027name\u0027]"},{"line_number":113,"context_line":"        else:"},{"line_number":114,"context_line":"            return super(ViewBuilder, self)._get_volume_type(request, volume)"}],"source_content_type":"text/x-python","patch_set":36,"id":"fffc6b78_8f13ca66","line":112,"range":{"start_line":110,"start_character":1,"end_line":112,"end_character":48},"in_reply_to":"1f621f24_c61f876e","updated":"2020-11-19 12:20:30.000000000","message":"The parent method has this code:\n\n```\n if volume[\u0027volume_type_id\u0027] and volume.get(\u0027volume_type\u0027):\n            return volume[\u0027volume_type\u0027][\u0027name\u0027]\n        else:\n            return volume[\u0027volume_type_id\u0027]\n```\n\nI find it a bit weird that if there is no `volume_type_id` property there, it would go to the else condition, and then an error would happen.\n\nIn this code here, we would care only about the property `volume_type`. I did not know why there is a `volume_type_id` property when the ID can also be accessed in the `volume_type`. Therefore, I did not want to rely on the super method to return the volume type name.\n\nDo you think that it is better to use the super method only?","commit_id":"bb261fd1bc3fe6d9c24004204c26e1ddb646efa2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None):"},{"line_number":70,"context_line":"            if volume.get(\u0027volume_type\u0027):"},{"line_number":71,"context_line":"                volume_type_id \u003d volume[\u0027volume_type\u0027].get(\u0027id\u0027)"},{"line_number":72,"context_line":"            volume_ref[\u0027volume\u0027][\"volume_type_id\"] \u003d volume_type_id"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"4d10d20c_5953ceb6","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":41},"updated":"2020-12-09 23:36:15.000000000","message":"In Wallaby, volumes are guaranteed to have a type, so I don\u0027t think you need this check.  Plus, if it did fail, wouldn\u0027t volume_type_id be undefined at line 72 and give you a NameError?","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":67,"context_line":"                \u0027cluster_name\u0027, None)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None):"},{"line_number":70,"context_line":"            if volume.get(\u0027volume_type\u0027):"},{"line_number":71,"context_line":"                volume_type_id \u003d volume[\u0027volume_type\u0027].get(\u0027id\u0027)"},{"line_number":72,"context_line":"            volume_ref[\u0027volume\u0027][\"volume_type_id\"] \u003d volume_type_id"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"74811a4a_2ef20187","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":41},"in_reply_to":"4d10d20c_5953ceb6","updated":"2020-12-10 20:09:07.000000000","message":"I have no idea. I only worked with the idea of the previous code that was retrieving the volume_type. Following your suggestions, I will remove this check then.","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e2df35543689bd140d1678f764f85fba4a0617b0","unresolved":true,"context_lines":[{"line_number":105,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":106,"context_line":"        \"\"\"Returns the volume type of the volume."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        Retrieves the volume type name for microversion 3.61."},{"line_number":109,"context_line":"        Otherwise, it uses the default implementation from super."},{"line_number":110,"context_line":"        \"\"\""},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"86bcd366_d88befac","line":108,"range":{"start_line":108,"start_character":58,"end_line":108,"end_character":60},"updated":"2020-12-09 23:36:15.000000000","message":"63","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"4f3276de23d0d93daa52d74e50f0b78aec9d27bc","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":106,"context_line":"        \"\"\"Returns the volume type of the volume."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        Retrieves the volume type name for microversion 3.61."},{"line_number":109,"context_line":"        Otherwise, it uses the default implementation from super."},{"line_number":110,"context_line":"        \"\"\""},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"6345e18f_b512b736","line":108,"range":{"start_line":108,"start_character":58,"end_line":108,"end_character":60},"in_reply_to":"86bcd366_d88befac","updated":"2020-12-10 20:09:07.000000000","message":"Done","commit_id":"7271734a1021c3913b2835865b78a8735d0fbbab"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        return volumes_dict"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":105,"context_line":"        \"\"\"Returns the volume type of the volume."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Retrieves the volume type name for microversion 3.63."}],"source_content_type":"text/x-python","patch_set":41,"id":"8d9c2135_54bf5dc8","line":104,"range":{"start_line":104,"start_character":8,"end_line":104,"end_character":24},"updated":"2021-01-14 10:06:43.000000000","message":"-1: Sorry, I don\u0027t see how overriding this method changes anything in the behavior...\n\n- If MV \u003c new_version --\u003e Call super\n- Else: Try to return the name if the type entry is present, else call supper\n\nIf we don\u0027t override the method, super\u0027s method does:\n\n- If type entry is present return the name\n- Return the type_id\n\nIn theory we could end up returning the volume type ID in the 2 type related fields.\n\nIn my opinion for MV \u003e\u003d new_version we should return the name of the type or None, never the ID, so we should never call super in that case.\n\nIf we don\u0027t want to return None when the type entry is there, then we don\u0027t need to override the method.\n\nOr am I missing something?","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":true,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        return volumes_dict"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":105,"context_line":"        \"\"\"Returns the volume type of the volume."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Retrieves the volume type name for microversion 3.63."}],"source_content_type":"text/x-python","patch_set":41,"id":"96735387_9cac659b","line":104,"range":{"start_line":104,"start_character":8,"end_line":104,"end_character":24},"in_reply_to":"8d9c2135_54bf5dc8","updated":"2021-01-14 13:34:17.000000000","message":"I see, I will do that then.","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4f706a9779e36ae41b0e3cb32de2cef21e38ef4f","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        return volumes_dict"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def _get_volume_type(self, request, volume):"},{"line_number":105,"context_line":"        \"\"\"Returns the volume type of the volume."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Retrieves the volume type name for microversion 3.63."}],"source_content_type":"text/x-python","patch_set":41,"id":"5112bf4d_329e26f5","line":104,"range":{"start_line":104,"start_character":8,"end_line":104,"end_character":24},"in_reply_to":"96735387_9cac659b","updated":"2021-01-15 12:57:08.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":109,"context_line":"        \"\"\""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":112,"context_line":"        if (req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None) and"},{"line_number":113,"context_line":"                volume.get(\u0027volume_type\u0027)):"},{"line_number":114,"context_line":"            return volume[\u0027volume_type\u0027][\u0027name\u0027]"},{"line_number":115,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":41,"id":"53c6353e_1510a01e","line":112,"range":{"start_line":112,"start_character":68,"end_line":112,"end_character":72},"updated":"2021-01-14 10:06:43.000000000","message":"nit: This is the default value, no need to pass it","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        \"\"\""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        req_version \u003d request.api_version_request"},{"line_number":112,"context_line":"        if (req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None) and"},{"line_number":113,"context_line":"                volume.get(\u0027volume_type\u0027)):"},{"line_number":114,"context_line":"            return volume[\u0027volume_type\u0027][\u0027name\u0027]"},{"line_number":115,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":41,"id":"d2f7f792_dd558c09","line":112,"range":{"start_line":112,"start_character":68,"end_line":112,"end_character":72},"in_reply_to":"53c6353e_1510a01e","updated":"2021-01-14 13:34:17.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":112,"context_line":"        if (req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None) and"},{"line_number":113,"context_line":"                volume.get(\u0027volume_type\u0027)):"},{"line_number":114,"context_line":"            return volume[\u0027volume_type\u0027][\u0027name\u0027]"},{"line_number":115,"context_line":"        else:"},{"line_number":116,"context_line":"            return super(ViewBuilder, self)._get_volume_type(request, volume)"}],"source_content_type":"text/x-python","patch_set":41,"id":"ac27bcfd_872b2340","line":115,"range":{"start_line":115,"start_character":8,"end_line":115,"end_character":12},"updated":"2021-01-14 10:06:43.000000000","message":"nit: No need for an else here, since the if has a return","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        if (req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL, None) and"},{"line_number":113,"context_line":"                volume.get(\u0027volume_type\u0027)):"},{"line_number":114,"context_line":"            return volume[\u0027volume_type\u0027][\u0027name\u0027]"},{"line_number":115,"context_line":"        else:"},{"line_number":116,"context_line":"            return super(ViewBuilder, self)._get_volume_type(request, volume)"}],"source_content_type":"text/x-python","patch_set":41,"id":"405e6d8b_44079fac","line":115,"range":{"start_line":115,"start_character":8,"end_line":115,"end_character":12},"in_reply_to":"ac27bcfd_872b2340","updated":"2021-01-14 13:34:17.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4f706a9779e36ae41b0e3cb32de2cef21e38ef4f","unresolved":true,"context_lines":[{"line_number":112,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL):"},{"line_number":113,"context_line":"            if volume.get(\u0027volume_type\u0027):"},{"line_number":114,"context_line":"                return volume[\u0027volume_type\u0027][\u0027name\u0027]"},{"line_number":115,"context_line":"            else:"},{"line_number":116,"context_line":"                return None"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        return super(ViewBuilder, self)._get_volume_type(request, volume)"}],"source_content_type":"text/x-python","patch_set":42,"id":"bda6e65a_f1363fc5","line":115,"range":{"start_line":115,"start_character":12,"end_line":115,"end_character":16},"updated":"2021-01-15 12:57:08.000000000","message":"nit: No need for the else","commit_id":"9c8b8fd32cef5c48481b390282ec61d8be68ebae"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"37b7230e52e8a297997ea938183d47ce8a625555","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        if req_version.matches(mv.VOLUME_TYPE_ID_IN_VOLUME_DETAIL):"},{"line_number":113,"context_line":"            if volume.get(\u0027volume_type\u0027):"},{"line_number":114,"context_line":"                return volume[\u0027volume_type\u0027][\u0027name\u0027]"},{"line_number":115,"context_line":"            else:"},{"line_number":116,"context_line":"                return None"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        return super(ViewBuilder, self)._get_volume_type(request, volume)"}],"source_content_type":"text/x-python","patch_set":42,"id":"7d50853a_5763e212","line":115,"range":{"start_line":115,"start_character":12,"end_line":115,"end_character":16},"in_reply_to":"bda6e65a_f1363fc5","updated":"2021-01-15 13:46:58.000000000","message":"Done","commit_id":"9c8b8fd32cef5c48481b390282ec61d8be68ebae"}],"cinder/tests/functional/api_sample_tests/test_volumes.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3b1791b78d8f1fd1cacb6087b848e24f08b580dc","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    def test_volume_list_detail(self):"},{"line_number":43,"context_line":"        original_api_version \u003d self.api.api_version"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.api.api_version \u003d \"3.61\""},{"line_number":47,"context_line":"            response \u003d self._do_get(\u0027volumes/detail\u0027)"},{"line_number":48,"context_line":"            self._verify_response(\u0027volumes-list-detailed-response\u0027,"},{"line_number":49,"context_line":"                                  {}, response, 200)"},{"line_number":50,"context_line":"        finally:"},{"line_number":51,"context_line":"            self.api.api_version \u003d original_api_version"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def test_volume_create(self):"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_9c6fda29","line":51,"range":{"start_line":45,"start_character":0,"end_line":51,"end_character":55},"updated":"2020-06-25 14:00:57.000000000","message":"Do we need a similar change for test_volume_show_detail, and an update to the volume-show-detail template?","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"817a59644739be6fc2e5d072439435e160f01443","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    def test_volume_list_detail(self):"},{"line_number":43,"context_line":"        original_api_version \u003d self.api.api_version"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.api.api_version \u003d \"3.61\""},{"line_number":47,"context_line":"            response \u003d self._do_get(\u0027volumes/detail\u0027)"},{"line_number":48,"context_line":"            self._verify_response(\u0027volumes-list-detailed-response\u0027,"},{"line_number":49,"context_line":"                                  {}, response, 200)"},{"line_number":50,"context_line":"        finally:"},{"line_number":51,"context_line":"            self.api.api_version \u003d original_api_version"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def test_volume_create(self):"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_9e004436","line":51,"range":{"start_line":45,"start_character":0,"end_line":51,"end_character":55},"in_reply_to":"bf51134e_9c6fda29","updated":"2020-06-29 16:35:20.000000000","message":"\u003e Do we need a similar change for test_volume_show_detail, and an\n \u003e update to the volume-show-detail template?\n\nI do not think so. Those methods are not testing the \"/detail\" call. That is why I did not change them. Do you think that we need to add the \"/detail\" test on them as well?","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":43,"context_line":"        original_api_version \u003d self.api.api_version"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.api.api_version \u003d \"3.63\""},{"line_number":47,"context_line":"            response \u003d self._do_get(\u0027volumes/detail\u0027)"},{"line_number":48,"context_line":"            self._verify_response(\u0027volumes-list-detailed-response\u0027,"},{"line_number":49,"context_line":"                                  {}, response, 200)"}],"source_content_type":"text/x-python","patch_set":41,"id":"a073da69_f62d7a12","line":46,"range":{"start_line":46,"start_character":36,"end_line":46,"end_character":40},"updated":"2021-01-14 10:06:43.000000000","message":"nit: Use the variable instead of the magic number","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        original_api_version \u003d self.api.api_version"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.api.api_version \u003d \"3.63\""},{"line_number":47,"context_line":"            response \u003d self._do_get(\u0027volumes/detail\u0027)"},{"line_number":48,"context_line":"            self._verify_response(\u0027volumes-list-detailed-response\u0027,"},{"line_number":49,"context_line":"                                  {}, response, 200)"}],"source_content_type":"text/x-python","patch_set":41,"id":"2332db13_020856af","line":46,"range":{"start_line":46,"start_character":36,"end_line":46,"end_character":40},"in_reply_to":"a073da69_f62d7a12","updated":"2021-01-14 13:34:17.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"}],"cinder/tests/functional/api_samples_test_base.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"19d8a03b32f31a19fb36212c489571e8f6d3edc1","unresolved":false,"context_lines":[{"line_number":372,"context_line":"                sample_data \u003d sample.read()"},{"line_number":373,"context_line":"                if update_links:"},{"line_number":374,"context_line":"                    sample_data \u003d self._update_links(sample_data)"},{"line_number":375,"context_line":"                response_data \u003d sample_data"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        try:"},{"line_number":378,"context_line":"            template_data \u003d objectify(template_data)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7faddb67_5a28c931","line":375,"range":{"start_line":375,"start_character":16,"end_line":375,"end_character":43},"updated":"2019-08-16 06:18:53.000000000","message":"This doesn\u0027t seem right, the response_data is the accurate response which is checked against the template and sample files, it shouldn\u0027t be modified with the pre existing sample file.","commit_id":"fe344369b1ae5d7c64fe6b2f83ecd3783d20ca31"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"25b038dee149cb4b97e2857825db9c2b65fe8dee","unresolved":false,"context_lines":[{"line_number":372,"context_line":"                sample_data \u003d sample.read()"},{"line_number":373,"context_line":"                if update_links:"},{"line_number":374,"context_line":"                    sample_data \u003d self._update_links(sample_data)"},{"line_number":375,"context_line":"                response_data \u003d sample_data"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        try:"},{"line_number":378,"context_line":"            template_data \u003d objectify(template_data)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7faddb67_b4c0ec51","line":375,"range":{"start_line":375,"start_character":16,"end_line":375,"end_character":43},"in_reply_to":"7faddb67_49524114","updated":"2019-08-16 13:32:46.000000000","message":"Okay, will try in my env and check for issues.","commit_id":"fe344369b1ae5d7c64fe6b2f83ecd3783d20ca31"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"649e1e46c95f6f0682f6624a74504136266c7b94","unresolved":false,"context_lines":[{"line_number":372,"context_line":"                sample_data \u003d sample.read()"},{"line_number":373,"context_line":"                if update_links:"},{"line_number":374,"context_line":"                    sample_data \u003d self._update_links(sample_data)"},{"line_number":375,"context_line":"                response_data \u003d sample_data"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        try:"},{"line_number":378,"context_line":"            template_data \u003d objectify(template_data)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7faddb67_49524114","line":375,"range":{"start_line":375,"start_character":16,"end_line":375,"end_character":43},"in_reply_to":"7faddb67_5a28c931","updated":"2019-08-16 12:11:03.000000000","message":"This is a very confusing point for me. Probably it is not the right thing to do this change, but I am not inderstanding the magic here. The test class has so many moving parts, and I was not understanding why the ``VolumesSampleJsonTest.test_volume_list_detail`` test was not working anymore. Could you help me?","commit_id":"fe344369b1ae5d7c64fe6b2f83ecd3783d20ca31"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"aeba941be310953e7f86b17eaded32ded95a8103","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        self.assertEqual(exp_code, response.status_code, message)"},{"line_number":358,"context_line":"        response_data \u003d response.content"},{"line_number":359,"context_line":"        response_data \u003d pretty_data(response_data)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        if not os.path.exists(self._get_template(name)):"},{"line_number":362,"context_line":"            self._write_template(name, response_data)"},{"line_number":363,"context_line":"            template_data \u003d response_data"}],"source_content_type":"text/x-python","patch_set":25,"id":"3f4c43b2_5ca99ddd","line":360,"updated":"2020-04-11 16:59:44.000000000","message":"Just code style change, I think it can be removed","commit_id":"7c4bd1e4b7f6ce7dacf4dd43ae70e27f6c6b1540"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e94d8bdaf5384444970fb56ec05ac34233d0a00a","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        self.assertEqual(exp_code, response.status_code, message)"},{"line_number":358,"context_line":"        response_data \u003d response.content"},{"line_number":359,"context_line":"        response_data \u003d pretty_data(response_data)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        if not os.path.exists(self._get_template(name)):"},{"line_number":362,"context_line":"            self._write_template(name, response_data)"},{"line_number":363,"context_line":"            template_data \u003d response_data"}],"source_content_type":"text/x-python","patch_set":25,"id":"3f4c43b2_f5b84c2b","line":360,"in_reply_to":"3f4c43b2_5ca99ddd","updated":"2020-04-14 18:12:33.000000000","message":"I do prefer this as they are. At least, to me, it becomes easier to read.\n\nIf you think that it is an anti-pattern, I can remove the blank line here though.","commit_id":"7c4bd1e4b7f6ce7dacf4dd43ae70e27f6c6b1540"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"aeba941be310953e7f86b17eaded32ded95a8103","unresolved":false,"context_lines":[{"line_number":363,"context_line":"            template_data \u003d response_data"},{"line_number":364,"context_line":"        else:"},{"line_number":365,"context_line":"            template_data \u003d self._read_template(name)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        if self.generate_samples and not os.path.exists("},{"line_number":368,"context_line":"                self._get_sample(name)):"},{"line_number":369,"context_line":"            self._write_sample(name, response_data)"}],"source_content_type":"text/x-python","patch_set":25,"id":"3f4c43b2_9caa05d0","line":366,"updated":"2020-04-11 16:59:44.000000000","message":"Same here.","commit_id":"7c4bd1e4b7f6ce7dacf4dd43ae70e27f6c6b1540"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"013daa38c0d4d78f5fce1d6cb8c5ec951ea543fb","unresolved":true,"context_lines":[{"line_number":356,"context_line":"        self.assertEqual(exp_code, response.status_code, message)"},{"line_number":357,"context_line":"        response_data \u003d response.content"},{"line_number":358,"context_line":"        response_data \u003d pretty_data(response_data)"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        if not os.path.exists(self._get_template(name)):"},{"line_number":361,"context_line":"            self._write_template(name, response_data)"},{"line_number":362,"context_line":"            template_data \u003d response_data"}],"source_content_type":"text/x-python","patch_set":41,"id":"298951c6_7e3ef2c9","line":359,"updated":"2021-01-14 10:06:43.000000000","message":"-1: Changes in this file are unrelated","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c3869486ac88be0a8471ed97c5ab71fe25a8443c","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        self.assertEqual(exp_code, response.status_code, message)"},{"line_number":357,"context_line":"        response_data \u003d response.content"},{"line_number":358,"context_line":"        response_data \u003d pretty_data(response_data)"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        if not os.path.exists(self._get_template(name)):"},{"line_number":361,"context_line":"            self._write_template(name, response_data)"},{"line_number":362,"context_line":"            template_data \u003d response_data"}],"source_content_type":"text/x-python","patch_set":41,"id":"6da9b114_61d54698","line":359,"in_reply_to":"298951c6_7e3ef2c9","updated":"2021-01-14 13:34:17.000000000","message":"Done","commit_id":"adccff757fcbfc94c161cd2ca6ba4201973b5248"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4f706a9779e36ae41b0e3cb32de2cef21e38ef4f","unresolved":true,"context_lines":[{"line_number":361,"context_line":"            template_data \u003d response_data"},{"line_number":362,"context_line":"        else:"},{"line_number":363,"context_line":"            template_data \u003d self._read_template(name)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"        if (self.generate_samples and"},{"line_number":366,"context_line":"                not os.path.exists(self._get_sample(name))):"},{"line_number":367,"context_line":"            self._write_sample(name, response_data)"}],"source_content_type":"text/x-python","patch_set":42,"id":"84ca23d2_d06f6588","line":364,"updated":"2021-01-15 12:57:08.000000000","message":"-1: Unrelated change","commit_id":"9c8b8fd32cef5c48481b390282ec61d8be68ebae"}],"cinder/tests/unit/api/v3/views/test_volumes.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                \"name\": volume_type_name"},{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"        }"},{"line_number":48,"context_line":"        volume_type_for_volume_detail \u003d self.view_builder._get_volume_type(req, volume)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        if microversion \u003c microversion_volume_type_object_as_result:"},{"line_number":51,"context_line":"            self.assertEqual(volume_type_name, volume_type_for_volume_detail)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_c4c22f35","line":48,"updated":"2019-07-03 05:33:06.000000000","message":"char limit for line is \u003c80 chars","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                \"name\": volume_type_name"},{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"        }"},{"line_number":48,"context_line":"        volume_type_for_volume_detail \u003d self.view_builder._get_volume_type(req, volume)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        if microversion \u003c microversion_volume_type_object_as_result:"},{"line_number":51,"context_line":"            self.assertEqual(volume_type_name, volume_type_for_volume_detail)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_2d452716","line":48,"in_reply_to":"9fb8cfa7_c4c22f35","updated":"2019-07-03 13:14:13.000000000","message":"fixed","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"887d5d8bbe1ca338eeecbaebf873d4506c0299bd","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            self.assertIn(\u0027id\u0027, volume_type_for_volume_detail)"},{"line_number":54,"context_line":"            self.assertIn(\u0027name\u0027, volume_type_for_volume_detail)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"            self.assertEqual(volume_type_id, volume_type_for_volume_detail[\u0027id\u0027])"},{"line_number":57,"context_line":"            self.assertEqual(volume_type_name, volume_type_for_volume_detail[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_44e4ffe0","line":57,"range":{"start_line":56,"start_character":0,"end_line":57,"end_character":85},"updated":"2019-07-03 05:33:06.000000000","message":"same","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc7c2de4a2cfb139473a4e0084be5034d4bc2e6c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            self.assertIn(\u0027id\u0027, volume_type_for_volume_detail)"},{"line_number":54,"context_line":"            self.assertIn(\u0027name\u0027, volume_type_for_volume_detail)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"            self.assertEqual(volume_type_id, volume_type_for_volume_detail[\u0027id\u0027])"},{"line_number":57,"context_line":"            self.assertEqual(volume_type_name, volume_type_for_volume_detail[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_8d5d33ee","line":57,"range":{"start_line":56,"start_character":0,"end_line":57,"end_character":85},"in_reply_to":"9fb8cfa7_44e4ffe0","updated":"2019-07-03 13:14:13.000000000","message":"fixed","commit_id":"7ca73a466fb104ed027d12f0d17d15d3a82e1141"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bf022dec65e57fca38f15f015c3a09076f6cf93f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import ddt"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from cinder.api import microversions as mv"},{"line_number":17,"context_line":"from cinder.api.v3.views.volumes import ViewBuilder"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from cinder import test"},{"line_number":20,"context_line":"from cinder.tests.unit.api import fakes"}],"source_content_type":"text/x-python","patch_set":19,"id":"7faddb67_c4f6fa8f","line":17,"range":{"start_line":17,"start_character":40,"end_line":17,"end_character":51},"updated":"2019-08-02 13:25:10.000000000","message":"Import only modules, not classes.","commit_id":"c64723b8b92fc44ff7c49a97231ce5938509a4c7"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bf022dec65e57fca38f15f015c3a09076f6cf93f","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from cinder.api import microversions as mv"},{"line_number":17,"context_line":"from cinder.api.v3.views.volumes import ViewBuilder"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from cinder import test"},{"line_number":20,"context_line":"from cinder.tests.unit.api import fakes"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7faddb67_64f14695","line":18,"updated":"2019-08-02 13:25:10.000000000","message":"nit: Extra blank line should be removed.","commit_id":"c64723b8b92fc44ff7c49a97231ce5938509a4c7"}],"cinder/volume/utils.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4e9783d930644a169d30d5d96d80a2dee7fcea9","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        LOG.debug(\"Can not find volume %s at notify usage\", volume_ref[\u0027id\u0027])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    volume_type \u003d db.volume_type_get(context, volume_ref[\u0027volume_type_id\u0027])"},{"line_number":122,"context_line":"    LOG.debug(\"Volume type name [%s] for volume type id [%s]. We will replace the ID in the volume usage info \""},{"line_number":123,"context_line":"              \"by the volume type name in the that is sent along with the event.\""},{"line_number":124,"context_line":"              % (volume_type[\u0027name\u0027], volume_ref[\u0027volume_type_id\u0027]))"},{"line_number":125,"context_line":"    usage_info[\u0027volume_type\u0027] \u003d volume_type[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_a57b1ebc","line":122,"updated":"2019-06-21 16:25:03.000000000","message":"Line too long. This will not pass pep8 checks. Please run tox locally before submitting.","commit_id":"a6162a985939508c942bf70851cc371acf342fab"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4e9783d930644a169d30d5d96d80a2dee7fcea9","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    volume_type \u003d db.volume_type_get(context, volume_ref[\u0027volume_type_id\u0027])"},{"line_number":122,"context_line":"    LOG.debug(\"Volume type name [%s] for volume type id [%s]. We will replace the ID in the volume usage info \""},{"line_number":123,"context_line":"              \"by the volume type name in the that is sent along with the event.\""},{"line_number":124,"context_line":"              % (volume_type[\u0027name\u0027], volume_ref[\u0027volume_type_id\u0027]))"},{"line_number":125,"context_line":"    usage_info[\u0027volume_type\u0027] \u003d volume_type[\u0027name\u0027]"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    return usage_info"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_454ca29d","line":124,"range":{"start_line":124,"start_character":14,"end_line":124,"end_character":17},"updated":"2019-06-21 16:25:03.000000000","message":"Should use , instead of % and pass the format values as arguments to the logging call.","commit_id":"a6162a985939508c942bf70851cc371acf342fab"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"407681db623652674afd620f2d9014854a922b73","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    except exception.VolumeNotFound:"},{"line_number":119,"context_line":"        LOG.debug(\"Can not find volume %s at notify usage\", volume_ref[\u0027id\u0027])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    volume_type \u003d db.volume_type_get(context, volume_ref[\u0027volume_type_id\u0027])"},{"line_number":122,"context_line":"    LOG.debug(\"Volume type name [%s] for volume type id [%s]. We will replace the ID in the volume usage info \""},{"line_number":123,"context_line":"              \"by the volume type name in the that is sent along with the event.\""},{"line_number":124,"context_line":"              % (volume_type[\u0027name\u0027], volume_ref[\u0027volume_type_id\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_03ff7801","line":121,"range":{"start_line":121,"start_character":46,"end_line":121,"end_character":74},"updated":"2019-06-23 06:24:40.000000000","message":"This will break (as of now) as volume_type_id can be None which will be changed here[1].\nfor now, you can add an if block above to make this work,\nif volume_ref[\u0027volume_type_id\u0027]:\n    ...\n\n[1] https://review.opendev.org/#/c/639180/","commit_id":"4db2c19967e0da19d4c9ad091c7b5fdb86ed85a8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"ea2726f617a1c3953ebefd20f7055b04c8242d9a","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    except exception.VolumeNotFound:"},{"line_number":119,"context_line":"        LOG.debug(\"Can not find volume %s at notify usage\", volume_ref[\u0027id\u0027])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    volume_type \u003d db.volume_type_get(context, volume_ref[\u0027volume_type_id\u0027])"},{"line_number":122,"context_line":"    LOG.debug(\"Volume type name [%s] for volume type id [%s]. We will replace the ID in the volume usage info \""},{"line_number":123,"context_line":"              \"by the volume type name in the that is sent along with the event.\""},{"line_number":124,"context_line":"              % (volume_type[\u0027name\u0027], volume_ref[\u0027volume_type_id\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_2cc29735","line":121,"range":{"start_line":121,"start_character":46,"end_line":121,"end_character":74},"in_reply_to":"9fb8cfa7_03ff7801","updated":"2019-06-24 23:06:57.000000000","message":"Fixed","commit_id":"4db2c19967e0da19d4c9ad091c7b5fdb86ed85a8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"407681db623652674afd620f2d9014854a922b73","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        LOG.debug(\"Can not find volume %s at notify usage\", volume_ref[\u0027id\u0027])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    volume_type \u003d db.volume_type_get(context, volume_ref[\u0027volume_type_id\u0027])"},{"line_number":122,"context_line":"    LOG.debug(\"Volume type name [%s] for volume type id [%s]. We will replace the ID in the volume usage info \""},{"line_number":123,"context_line":"              \"by the volume type name in the that is sent along with the event.\""},{"line_number":124,"context_line":"              % (volume_type[\u0027name\u0027], volume_ref[\u0027volume_type_id\u0027]))"},{"line_number":125,"context_line":"    usage_info[\u0027volume_type\u0027] \u003d volume_type[\u0027name\u0027]"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_63175447","line":123,"range":{"start_line":122,"start_character":0,"end_line":123,"end_character":81},"updated":"2019-06-23 06:24:40.000000000","message":"char limit for line should be \u003c80","commit_id":"4db2c19967e0da19d4c9ad091c7b5fdb86ed85a8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"ea2726f617a1c3953ebefd20f7055b04c8242d9a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        LOG.debug(\"Can not find volume %s at notify usage\", volume_ref[\u0027id\u0027])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    volume_type \u003d db.volume_type_get(context, volume_ref[\u0027volume_type_id\u0027])"},{"line_number":122,"context_line":"    LOG.debug(\"Volume type name [%s] for volume type id [%s]. We will replace the ID in the volume usage info \""},{"line_number":123,"context_line":"              \"by the volume type name in the that is sent along with the event.\""},{"line_number":124,"context_line":"              % (volume_type[\u0027name\u0027], volume_ref[\u0027volume_type_id\u0027]))"},{"line_number":125,"context_line":"    usage_info[\u0027volume_type\u0027] \u003d volume_type[\u0027name\u0027]"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_4cbfcba9","line":123,"range":{"start_line":122,"start_character":0,"end_line":123,"end_character":81},"in_reply_to":"9fb8cfa7_63175447","updated":"2019-06-24 23:06:57.000000000","message":"Fixed.","commit_id":"4db2c19967e0da19d4c9ad091c7b5fdb86ed85a8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"24fc250a323b015a074bbfdb595d7992df68bd4e","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        LOG.debug(\"Can not find volume %s at notify usage\", volume_ref[\u0027id\u0027])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    if volume_ref[\u0027volume_type_id\u0027]:"},{"line_number":122,"context_line":"        volume_type \u003d db.volume_type_get(context, volume_ref[\u0027volume_type_id\u0027])"},{"line_number":123,"context_line":"        LOG.debug(\"Volume type name [%s] for volume type id [%s]. \""},{"line_number":124,"context_line":"                  \"We will replace the ID in the volume usage info by the volume \""},{"line_number":125,"context_line":"                  \"type name in the that is sent along with the event.\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_caef161b","line":122,"range":{"start_line":122,"start_character":22,"end_line":122,"end_character":40},"updated":"2019-06-25 10:36:23.000000000","message":"the tests failing use fake volume type id (constant value) that doesn\u0027t exist in DB so they fail during get here.","commit_id":"288cbf723984475251f331177f92a57a048aa5a1"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"1ce034ccea842134a28d9bbea73faac3cd89a8bb","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        LOG.debug(\"Can not find volume %s at notify usage\", volume_ref[\u0027id\u0027])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    if volume_ref[\u0027volume_type_id\u0027]:"},{"line_number":122,"context_line":"        volume_type \u003d db.volume_type_get(context, volume_ref[\u0027volume_type_id\u0027])"},{"line_number":123,"context_line":"        LOG.debug(\"Volume type name [%s] for volume type id [%s]. \""},{"line_number":124,"context_line":"                  \"We will replace the ID in the volume usage info by the volume \""},{"line_number":125,"context_line":"                  \"type name in the that is sent along with the event.\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_6abf0aaa","line":122,"range":{"start_line":122,"start_character":22,"end_line":122,"end_character":40},"in_reply_to":"9fb8cfa7_caef161b","updated":"2019-06-25 11:11:43.000000000","message":"I add a mock configuration for \"volume_type_get\" method. This should not be a problem anymore.","commit_id":"288cbf723984475251f331177f92a57a048aa5a1"}],"releasenotes/notes/mv-volume-type-name-and-id-5f4fd8480874fe9b.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"764b72ac21a25414b47b56ad56d877649d99c209","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add microversion (MV) to return volume type name and ID with volume details."},{"line_number":5,"context_line":"    This adds the MV 3.61 to the API to return both the volume type name and"},{"line_number":6,"context_line":"    ID."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"bf51134e_089e9355","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":7},"updated":"2020-06-16 13:22:34.000000000","message":"nit: Added","commit_id":"63a46535323e66f679cede8966bd880bd976a109"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"76f7d28f2a1b4cf49353bad2fd23ac7c399acc54","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add microversion (MV) to return volume type name and ID with volume details."},{"line_number":5,"context_line":"    This adds the MV 3.61 to the API to return both the volume type name and"},{"line_number":6,"context_line":"    ID."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"bf51134e_3b247cc6","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":7},"in_reply_to":"bf51134e_089e9355","updated":"2020-06-16 16:54:56.000000000","message":"Done","commit_id":"63a46535323e66f679cede8966bd880bd976a109"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3b1791b78d8f1fd1cacb6087b848e24f08b580dc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Introduces microversion 3.61 to add volume type ID in the volume details."},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"bf51134e_86ce6b57","line":4,"range":{"start_line":4,"start_character":62,"end_line":4,"end_character":76},"updated":"2020-06-25 14:00:57.000000000","message":"I\u0027d mention both affected calls: volume-show and volume-detail-list.","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"817a59644739be6fc2e5d072439435e160f01443","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Introduces microversion 3.61 to add volume type ID in the volume details."},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"bf51134e_9e85e4af","line":4,"range":{"start_line":4,"start_character":62,"end_line":4,"end_character":76},"in_reply_to":"bf51134e_86ce6b57","updated":"2020-06-29 16:35:20.000000000","message":"Done","commit_id":"e883764082b769cce4a36fc9d91b1e8836680ab8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c171d8b862921f6c4f15560d4df287289a83db92","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Introduces microversion (MV) 3.63, which includes volume type ID in the"},{"line_number":5,"context_line":"    volume details JSON response. This MV affects the volume detail list"},{"line_number":6,"context_line":"    (\"GET /v3/{project_id}/volumes/detail\"), and volume-show"},{"line_number":7,"context_line":"    (\"GET /v3/{project_id}/volumes/{volume_id}\") calls."}],"source_content_type":"text/x-yaml","patch_set":38,"id":"fffc6b78_3618271c","line":7,"range":{"start_line":6,"start_character":0,"end_line":7,"end_character":55},"updated":"2020-11-20 14:59:39.000000000","message":"This is a nit, but if you use the `` (two backticks) instead of \" (quotation mark), the API calls will be displayed in monospace font, which is the way we usually do it in the cinder docs.","commit_id":"aa45cad15e8f3deb0aad4276d5c9399ec7f3b8a2"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"a444e859d24d95113d93dfb0d84f65ed4d8520a0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Introduces microversion (MV) 3.63, which includes volume type ID in the"},{"line_number":5,"context_line":"    volume details JSON response. This MV affects the volume detail list"},{"line_number":6,"context_line":"    (\"GET /v3/{project_id}/volumes/detail\"), and volume-show"},{"line_number":7,"context_line":"    (\"GET /v3/{project_id}/volumes/{volume_id}\") calls."}],"source_content_type":"text/x-yaml","patch_set":38,"id":"0e74e93d_3b33c558","line":7,"range":{"start_line":6,"start_character":0,"end_line":7,"end_character":55},"in_reply_to":"fffc6b78_3618271c","updated":"2020-11-22 21:23:16.000000000","message":"I see. I patched it as you suggested. \nThanks!","commit_id":"aa45cad15e8f3deb0aad4276d5c9399ec7f3b8a2"}]}
