)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b8fba6215616ce196bf02e5812d9107da3a2abe","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"api: Separate volume, snapshot and volume attachments"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"These all belong in separate files. Make it so."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"We also rename the volume_attachment schema file to volume_attachments,"},{"line_number":12,"context_line":"to better link it to the actual API code."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"250fbd14_4b2ec495","line":9,"updated":"2025-08-21 20:29:57.000000000","message":"+1","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b8fba6215616ce196bf02e5812d9107da3a2abe","unresolved":false,"context_lines":[{"line_number":9,"context_line":"These all belong in separate files. Make it so."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"We also rename the volume_attachment schema file to volume_attachments,"},{"line_number":12,"context_line":"to better link it to the actual API code."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Iffefc263bbf19d18137207c0432c16fdb3c513f9"},{"line_number":15,"context_line":"Signed-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"4e93aa60_d2aa530a","line":12,"updated":"2025-08-21 20:29:57.000000000","message":"ack makes sense","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63c422ebc8a6daf3a64722c7fe15b52392f22aa1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bab2731e_73127b28","updated":"2025-06-20 09:37:48.000000000","message":"recheck timeout","commit_id":"7dd7501543ad523fc54d886adf01bf88b38471b1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"af79b933e7fd7221de90b2d91cf21c5c0afcfa8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c59937da_36ea6e7a","updated":"2025-07-29 19:02:49.000000000","message":"I think this refactor make sense as it separate the volume attachment API controller which is not deprecated/proxy from other volume deprecated/proxy APIs.\n\nthanks for doing it.\n\nSome comment but those are nits and not functional/logic impacted.","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"076311c5949741d8a2d72a90ec205ad72e094c60","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a76ce1be_bf8247c6","updated":"2025-07-30 15:24:29.000000000","message":"thanks for fixing","commit_id":"f320110dfc3b9a5a159650c95e5a85f5d7669c12"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9485c498b4f98d55b263d6d9bf4280da5e5974f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b38f5a6f_2220d65c","updated":"2025-07-31 16:34:10.000000000","message":"recheck timeout","commit_id":"97357de30ffe5623cb97fefd85c1e72895dda472"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ef2f752a7a51a0de6a230add22e05e265685a74f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f8aa4f47_d33b357e","updated":"2025-08-14 12:59:43.000000000","message":"recheck unrelated failure","commit_id":"2b4a08e932c11d04b3c561c7ad9a60e250a6c699"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bcc1888fd198db9b4264235457b627d6c3df93e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1e3bd02a_9503d5c6","updated":"2025-08-21 16:08:57.000000000","message":"fyi the latest merge conflicts were due to I439338bd2f27ccd65a436d18c8cbc9c3127ee612","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"bcff2957aa233367de2341d9bd977eabe7ba27be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3e332f7b_0dd3f578","updated":"2025-08-21 16:18:23.000000000","message":"lgtm, checked the rebased content and lgtm","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b8fba6215616ce196bf02e5812d9107da3a2abe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"14f81334_57cf0a3a","updated":"2025-08-21 20:29:57.000000000","message":"the funcitonal tests failrues are real cause by the secuiryt bug fix\n\nhttps://899fa012793226abc8a4-f9012e7950924411625be1dd4192ad54.ssl.cf2.rackcdn.com/openstack/41050f4d87c440068e58b44c54468a99/testr_results.html","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"65527e23721566acc3a63b4b6c69b35300d346b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d2a84ead_81a10d42","in_reply_to":"14f81334_57cf0a3a","updated":"2025-08-26 13:05:16.000000000","message":"Done","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0db512e51e0ec1bf48732b24cc903d01bd170d9a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c4c4af2f_c74b905c","updated":"2025-08-27 03:09:32.000000000","message":"lgtm","commit_id":"a8651eaff3866dc5b287ffba2505749b9ee312a5"}],"nova/api/openstack/compute/schemas/snapshots.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"af79b933e7fd7221de90b2d91cf21c5c0afcfa8a","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.api.validation import parameter_types"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"create \u003d {"},{"line_number":20,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"a59a509e_f979a70a","line":17,"range":{"start_line":17,"start_character":46,"end_line":17,"end_character":47},"updated":"2025-07-29 19:02:49.000000000","message":"note for reviewers. this is existing schema (not new) moved from the this file - https://review.opendev.org/c/openstack/nova/+/952347/4/nova/api/openstack/compute/schemas/volumes.py","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"af79b933e7fd7221de90b2d91cf21c5c0afcfa8a","unresolved":true,"context_lines":[{"line_number":43,"context_line":"        \u0027offset\u0027: parameter_types.multi_params("},{"line_number":44,"context_line":"             parameter_types.non_negative_integer)"},{"line_number":45,"context_line":"    },"},{"line_number":46,"context_line":"    # NOTE(gmann): This is kept True to keep backward compatibility."},{"line_number":47,"context_line":"    # As of now Schema validation stripped out the additional parameters and"},{"line_number":48,"context_line":"    # does not raise 400. In microversion 2.75, we have blocked the additional"},{"line_number":49,"context_line":"    # parameters."},{"line_number":50,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"d473a642_cac0c270","line":49,"range":{"start_line":46,"start_character":0,"end_line":49,"end_character":17},"updated":"2025-07-29 19:02:49.000000000","message":"As this is proxy API and we left them to improve proxy APIs, we can remove this comment itself.","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9c52c216ee523c1860026d7a5bab0bd03ff593bb","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        \u0027offset\u0027: parameter_types.multi_params("},{"line_number":44,"context_line":"             parameter_types.non_negative_integer)"},{"line_number":45,"context_line":"    },"},{"line_number":46,"context_line":"    # NOTE(gmann): This is kept True to keep backward compatibility."},{"line_number":47,"context_line":"    # As of now Schema validation stripped out the additional parameters and"},{"line_number":48,"context_line":"    # does not raise 400. In microversion 2.75, we have blocked the additional"},{"line_number":49,"context_line":"    # parameters."},{"line_number":50,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9092bff1_c13a5b36","line":49,"range":{"start_line":46,"start_character":0,"end_line":49,"end_character":17},"in_reply_to":"d473a642_cac0c270","updated":"2025-07-30 09:00:09.000000000","message":"Done","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"af79b933e7fd7221de90b2d91cf21c5c0afcfa8a","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    # parameters."},{"line_number":50,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"index_query_275 \u003d copy.deepcopy(index_query)"},{"line_number":54,"context_line":"index_query_275[\u0027additionalProperties\u0027] \u003d False"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"# TODO(stephenfin): It seems we forgot to set additionalProperties to False in"},{"line_number":57,"context_line":"# v2.75"}],"source_content_type":"text/x-python","patch_set":4,"id":"79f03772_1f7a8505","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":47},"updated":"2025-07-29 19:02:49.000000000","message":"this is not needed (in fact it is unused) as we did not do this improvement for proxy API and snapshot index API just use the original schema only.","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9c52c216ee523c1860026d7a5bab0bd03ff593bb","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    # parameters."},{"line_number":50,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"index_query_275 \u003d copy.deepcopy(index_query)"},{"line_number":54,"context_line":"index_query_275[\u0027additionalProperties\u0027] \u003d False"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"# TODO(stephenfin): It seems we forgot to set additionalProperties to False in"},{"line_number":57,"context_line":"# v2.75"}],"source_content_type":"text/x-python","patch_set":4,"id":"ee36f68f_82d4773e","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":47},"in_reply_to":"79f03772_1f7a8505","updated":"2025-07-30 09:00:09.000000000","message":"Done","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"af79b933e7fd7221de90b2d91cf21c5c0afcfa8a","unresolved":true,"context_lines":[{"line_number":53,"context_line":"index_query_275 \u003d copy.deepcopy(index_query)"},{"line_number":54,"context_line":"index_query_275[\u0027additionalProperties\u0027] \u003d False"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"# TODO(stephenfin): It seems we forgot to set additionalProperties to False in"},{"line_number":57,"context_line":"# v2.75"},{"line_number":58,"context_line":"detail_query \u003d index_query"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"# TODO(stephenfin): Remove additionalProperties in a future API version"}],"source_content_type":"text/x-python","patch_set":4,"id":"c5921c9c_5300b358","line":57,"range":{"start_line":56,"start_character":0,"end_line":57,"end_character":7},"updated":"2025-07-29 19:02:49.000000000","message":"ditto ^^ let\u0027s remove this comment as we do not (cannot as thes API are deprecated- capped for max microversion) intend to improve these proxy APIs.","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9c52c216ee523c1860026d7a5bab0bd03ff593bb","unresolved":false,"context_lines":[{"line_number":53,"context_line":"index_query_275 \u003d copy.deepcopy(index_query)"},{"line_number":54,"context_line":"index_query_275[\u0027additionalProperties\u0027] \u003d False"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"# TODO(stephenfin): It seems we forgot to set additionalProperties to False in"},{"line_number":57,"context_line":"# v2.75"},{"line_number":58,"context_line":"detail_query \u003d index_query"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"# TODO(stephenfin): Remove additionalProperties in a future API version"}],"source_content_type":"text/x-python","patch_set":4,"id":"1eae7ff2_c5ef3b2a","line":57,"range":{"start_line":56,"start_character":0,"end_line":57,"end_character":7},"in_reply_to":"c5921c9c_5300b358","updated":"2025-07-30 09:00:09.000000000","message":"Done","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b8fba6215616ce196bf02e5812d9107da3a2abe","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    },"},{"line_number":32,"context_line":"    \u0027required\u0027: [\u0027snapshot\u0027],"},{"line_number":33,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"index_query \u003d {"},{"line_number":37,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"6deb2680_bed9b7ae","line":34,"updated":"2025-08-21 20:29:57.000000000","message":"i intially toght this was  https://docs.openstack.org/api-ref/compute/#create-assisted-volume-snapshots\n\nbut its not its https://docs.openstack.org/api-ref/compute/#create-snapshot\n\n\nthis all looks correct.","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d38098d0b48f45ffb1fa52cc160c97002678e8a6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    },"},{"line_number":32,"context_line":"    \u0027required\u0027: [\u0027snapshot\u0027],"},{"line_number":33,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"index_query \u003d {"},{"line_number":37,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"15e59be5_e4e104c1","line":34,"in_reply_to":"6deb2680_bed9b7ae","updated":"2025-08-26 13:04:36.000000000","message":"Acknowledged","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5d6fe5387b7d22ed8883d3a3f91cfb517e12ac2f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    },"},{"line_number":32,"context_line":"    \u0027required\u0027: [\u0027snapshot\u0027],"},{"line_number":33,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"index_query \u003d {"},{"line_number":37,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3cd03d0e_af6890b2","line":34,"in_reply_to":"6deb2680_bed9b7ae","updated":"2025-08-26 13:01:03.000000000","message":"Acknowledged","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"}],"nova/api/openstack/compute/schemas/volume_attachments.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"af79b933e7fd7221de90b2d91cf21c5c0afcfa8a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"import copy"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from nova.api.validation import parameter_types"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"create \u003d {"},{"line_number":18,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":19,"context_line":"    \u0027properties\u0027: {"},{"line_number":20,"context_line":"        \u0027volumeAttachment\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"0a77a0ce_5e75c388","line":17,"range":{"start_line":16,"start_character":0,"end_line":17,"end_character":1},"updated":"2025-07-29 19:02:49.000000000","message":"ditto, confirmed that those are same form old file https://review.opendev.org/c/openstack/nova/+/952347/4/nova/api/openstack/compute/schemas/volumes.py","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"af79b933e7fd7221de90b2d91cf21c5c0afcfa8a","unresolved":true,"context_lines":[{"line_number":94,"context_line":"index_query_v275 \u003d copy.deepcopy(index_query)"},{"line_number":95,"context_line":"index_query_v275[\u0027additionalProperties\u0027] \u003d False"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# TODO(stephenfin): It seems we forgot to set additionalProperties to False in"},{"line_number":98,"context_line":"# v2.75"},{"line_number":99,"context_line":"detail_query \u003d index_query"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# TODO(stephenfin): Remove additionalProperties in a future API version"},{"line_number":102,"context_line":"show_query \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"acfef162_40dd0150","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":26},"updated":"2025-07-29 19:02:49.000000000","message":"this is unused, we do not have detail method for volume attachment.","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9c52c216ee523c1860026d7a5bab0bd03ff593bb","unresolved":false,"context_lines":[{"line_number":94,"context_line":"index_query_v275 \u003d copy.deepcopy(index_query)"},{"line_number":95,"context_line":"index_query_v275[\u0027additionalProperties\u0027] \u003d False"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# TODO(stephenfin): It seems we forgot to set additionalProperties to False in"},{"line_number":98,"context_line":"# v2.75"},{"line_number":99,"context_line":"detail_query \u003d index_query"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# TODO(stephenfin): Remove additionalProperties in a future API version"},{"line_number":102,"context_line":"show_query \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"f3c0b071_450bf39c","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":26},"in_reply_to":"acfef162_40dd0150","updated":"2025-07-30 09:00:09.000000000","message":"Done","commit_id":"798c8699c678e0683a51658b635da81c5cf75d85"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b8fba6215616ce196bf02e5812d9107da3a2abe","unresolved":false,"context_lines":[{"line_number":13,"context_line":"import copy"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from nova.api.validation import parameter_types"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"create \u003d {"},{"line_number":18,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":19,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"b1cd5585_f147aac5","line":16,"updated":"2025-08-21 20:29:57.000000000","message":"https://docs.openstack.org/api-ref/compute/#servers-with-volume-attachments-servers-os-volume-attachments","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b8fba6215616ce196bf02e5812d9107da3a2abe","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    },"},{"line_number":35,"context_line":"    \u0027required\u0027: [\u0027volumeAttachment\u0027],"},{"line_number":36,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":"create_v249 \u003d copy.deepcopy(create)"},{"line_number":39,"context_line":"create_v249[\u0027properties\u0027][\u0027volumeAttachment\u0027]["},{"line_number":40,"context_line":"    \u0027properties\u0027][\u0027tag\u0027] \u003d parameter_types.tag"}],"source_content_type":"text/x-python","patch_set":8,"id":"bb6f3865_3b14f82b","line":37,"updated":"2025-08-21 20:29:57.000000000","message":"note 2.20 and 2.60 allow this for shleve and shelve offloaded vms but did not cheange the request or respocne schema, only the repsocne code.\n\n2.49 added tags for device role tagging and 2.79 allowed specifying delete on terminate.","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b8fba6215616ce196bf02e5812d9107da3a2abe","unresolved":false,"context_lines":[{"line_number":42,"context_line":"create_v279 \u003d copy.deepcopy(create_v249)"},{"line_number":43,"context_line":"create_v279[\u0027properties\u0027][\u0027volumeAttachment\u0027]["},{"line_number":44,"context_line":"    \u0027properties\u0027][\u0027delete_on_termination\u0027] \u003d parameter_types.boolean"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"update \u003d copy.deepcopy(create)"},{"line_number":47,"context_line":"del update[\u0027properties\u0027][\u0027volumeAttachment\u0027][\u0027properties\u0027][\u0027device\u0027]"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"4f05be8f_8572df12","line":45,"updated":"2025-08-21 20:29:57.000000000","message":"+1","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b8fba6215616ce196bf02e5812d9107da3a2abe","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    },"},{"line_number":75,"context_line":"    \u0027required\u0027: [\u0027volumeAttachment\u0027],"},{"line_number":76,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":77,"context_line":"}"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"index_query \u003d {"},{"line_number":80,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1cf2d087_01ec591f","line":77,"updated":"2025-08-21 20:29:57.000000000","message":"+1 allowign updating  delete on terminate came in 2.85 along iwth the other paramters its odd we dint do that in 2.79 but i guess we didnt have time.","commit_id":"0982de9fb3639ee6f93293a0ee1db8f319db7778"}],"nova/api/openstack/compute/volume_attachments.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5d6fe5387b7d22ed8883d3a3f91cfb517e12ac2f","unresolved":false,"context_lines":[{"line_number":249,"context_line":"            old_volume[\u0027migration_status\u0027] in (None, \u0027\u0027)"},{"line_number":250,"context_line":"        ):"},{"line_number":251,"context_line":"            message \u003d ("},{"line_number":252,"context_line":"                f\"volume {old_volume_id} is not migrating; this API \""},{"line_number":253,"context_line":"                f\"should only be called by Cinder\")"},{"line_number":254,"context_line":"            raise exc.HTTPConflict(explanation\u003dmessage)"},{"line_number":255,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"4029f1c6_275c0861","line":252,"updated":"2025-08-26 13:01:03.000000000","message":"stpehns capliatlaized API while resolving the prior merge confilcit which is more correct so im fine with this.","commit_id":"a8651eaff3866dc5b287ffba2505749b9ee312a5"}],"nova/tests/functional/regressions/test_bug_1943431.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5d6fe5387b7d22ed8883d3a3f91cfb517e12ac2f","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            client.OpenStackApiException, self.api.put_server_volume,"},{"line_number":68,"context_line":"            server_id, self.cinder.MULTIATTACH_RO_SWAP_OLD_VOL,"},{"line_number":69,"context_line":"            self.cinder.MULTIATTACH_RO_SWAP_NEW_VOL)"},{"line_number":70,"context_line":"        self.assertIn(\"this API should only be called by Cinder\", str(ex))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_ro_multiattach_migrate_volume(self):"},{"line_number":73,"context_line":"        server_id \u003d self._create_server(networks\u003d\u0027none\u0027)[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"c655d58f_bca2cf86","line":70,"updated":"2025-08-26 13:01:03.000000000","message":"this was the main change to the previous version. +1","commit_id":"a8651eaff3866dc5b287ffba2505749b9ee312a5"}],"nova/tests/functional/regressions/test_bug_2112187.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5d6fe5387b7d22ed8883d3a3f91cfb517e12ac2f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            client.OpenStackApiException, self.api.put_server_volume,"},{"line_number":65,"context_line":"            server_id, self.cinder.MULTIATTACH_RO_SWAP_OLD_VOL,"},{"line_number":66,"context_line":"            self.cinder.MULTIATTACH_RO_SWAP_NEW_VOL)"},{"line_number":67,"context_line":"        self.assertIn(\"this API should only be called by Cinder\", str(ex))"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f0ecc54_995d1f8c","line":67,"updated":"2025-08-26 13:01:03.000000000","message":"and this","commit_id":"a8651eaff3866dc5b287ffba2505749b9ee312a5"}]}
