)]}'
{"cinderclient/shell_utils.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"532f03955f40beaa3cbcc7947a6e52cbc6a0254f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    if vt is not None:"},{"line_number":34,"context_line":"        if \u0027name\u0027 in vt:"},{"line_number":35,"context_line":"            volume_type_name \u003d vt[\u0027name\u0027]"},{"line_number":36,"context_line":"            vt[\u0027volume_type\u0027] \u003d volume_type_name"},{"line_number":37,"context_line":"    utils.print_dict(image[\u0027os-volume_upload_image\u0027])"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_12a99c22","line":36,"updated":"2019-03-27 16:22:47.000000000","message":"This is wrong","commit_id":"61c365afd543ef772f85d1edfe63cd4ce1cddd83"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"7422489d7b81dc1ba3876194fbd45bb5ee40e23e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    image \u003d image_resp_tuple[1]"},{"line_number":32,"context_line":"    vt \u003d image[\u0027os-volume_upload_image\u0027].get(\u0027volume_type\u0027)"},{"line_number":33,"context_line":"    if vt is not None:"},{"line_number":34,"context_line":"        if \u0027name\u0027 in vt:"},{"line_number":35,"context_line":"            image[\u0027os-volume_upload_image\u0027][\u0027volume_type\u0027] \u003d vt[\u0027name\u0027]"},{"line_number":36,"context_line":"    utils.print_dict(image[\u0027os-volume_upload_image\u0027])"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_b8d187ce","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":24},"updated":"2019-03-27 17:40:42.000000000","message":"If \u0027volume_type\u0027 is present, \u0027name\u0027 should always be there right?","commit_id":"a02ca2475bdad78af29b585d5ac282dfff2ab6b1"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"44675c120f9b64ce181ede6c110f13a899dafa75","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    image \u003d image_resp_tuple[1]"},{"line_number":32,"context_line":"    vt \u003d image[\u0027os-volume_upload_image\u0027].get(\u0027volume_type\u0027)"},{"line_number":33,"context_line":"    if vt is not None:"},{"line_number":34,"context_line":"        if \u0027name\u0027 in vt:"},{"line_number":35,"context_line":"            image[\u0027os-volume_upload_image\u0027][\u0027volume_type\u0027] \u003d vt[\u0027name\u0027]"},{"line_number":36,"context_line":"    utils.print_dict(image[\u0027os-volume_upload_image\u0027])"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_17ba85e0","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":24},"in_reply_to":"5fc1f717_716d67ca","updated":"2019-04-02 19:25:34.000000000","message":"This is all correct, but it also looks to me like we should also guarantee this by setting the volume_type name field to nullable\u003dfalse in the Cinder DB schema to make this consistent.\n\nLooking through Cinder history (commits 2dedaf1fab, cf73815982, c53d8e343) it appears that the API has always validated this, so I can remove this check here.","commit_id":"a02ca2475bdad78af29b585d5ac282dfff2ab6b1"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"0353bff681cbf78115bace0801b8b88553ce991b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    image \u003d image_resp_tuple[1]"},{"line_number":32,"context_line":"    vt \u003d image[\u0027os-volume_upload_image\u0027].get(\u0027volume_type\u0027)"},{"line_number":33,"context_line":"    if vt is not None:"},{"line_number":34,"context_line":"        if \u0027name\u0027 in vt:"},{"line_number":35,"context_line":"            image[\u0027os-volume_upload_image\u0027][\u0027volume_type\u0027] \u003d vt[\u0027name\u0027]"},{"line_number":36,"context_line":"    utils.print_dict(image[\u0027os-volume_upload_image\u0027])"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_716d67ca","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":24},"in_reply_to":"5fc1f717_85a53105","updated":"2019-03-28 15:50:00.000000000","message":"1. Both openstack and cinder CLI requires \u0027name\u0027 when creating a volume type.\n\n2. If I try this using curl, I get a HTTP 400\n\ncurl -X POST -H \u0027X-Auth-Token: gAAAAABcnOmLlJ8vRawnOpJM5z4v8qXeFNL55pk9rO_B_7-Y24kS2W9VJs3DoRYYwHjzdnQUFju6MsTLMx39KEQB763ap87BwTLNLXjP0RF_uZ17q0gv945tRrjGuLwgMggI1Ad59uxrfItU65reoQAAC7QU_0eVvTc98rCyvdetQ_7SCTUU\u0027 -H \u0027Content-Type: application/json\u0027 -d \u0027{\"volume_type\": {\"os-volume-type-access:is_public\": true, \"name\": null, \"description\": null}}\u0027 --cacert \"/etc/ssl/ca-bundle.pem\" -H \"Accept: application/json\" https://127.0.0.1:8776/v2/74c5aa5ef906436abc4c93453c500ba18/types\n{\"badRequest\": {\"message\": \"An invalid \u0027name\u0027 value was provided. The \u0027name\u0027 can not be None.\", \"code\": 400}}\n\nSo unless we create the volume_type outside of the API (i.e. direct DB insertion), I don\u0027t see how it can be set to None. Even if it has the value None, the attribute itself will still be returned from the GET call.","commit_id":"a02ca2475bdad78af29b585d5ac282dfff2ab6b1"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"39ed58840450826abcc54f8b841392f831a0c868","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    image \u003d image_resp_tuple[1]"},{"line_number":32,"context_line":"    vt \u003d image[\u0027os-volume_upload_image\u0027].get(\u0027volume_type\u0027)"},{"line_number":33,"context_line":"    if vt is not None:"},{"line_number":34,"context_line":"        if \u0027name\u0027 in vt:"},{"line_number":35,"context_line":"            image[\u0027os-volume_upload_image\u0027][\u0027volume_type\u0027] \u003d vt[\u0027name\u0027]"},{"line_number":36,"context_line":"    utils.print_dict(image[\u0027os-volume_upload_image\u0027])"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_85a53105","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":24},"in_reply_to":"5fc1f717_b8d187ce","updated":"2019-03-28 13:35:38.000000000","message":"Where is this guarantee made?","commit_id":"a02ca2475bdad78af29b585d5ac282dfff2ab6b1"}]}
