)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"dc52ee22befd7542d13816a74fd9320b74bd9d10","unresolved":true,"context_lines":[{"line_number":13,"context_line":"for showing ``finish_time`` field for instance action show"},{"line_number":14,"context_line":"api output."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partial-Bug: #2058928"},{"line_number":17,"context_line":"Change-Id: Id7bec3d586bfb1aebeae1494dc452994087ed3bd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"34793b03_100490a0","line":16,"updated":"2024-09-12 16:23:51.000000000","message":"as this patch adds a new API microversion we need a spec.","commit_id":"f963ae1ac9bad6474ae98a42b69017f99144a4dd"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"677cd0d83d388118a283e1af755544941ee24e3a","unresolved":true,"context_lines":[{"line_number":13,"context_line":"for showing ``finish_time`` field for instance action show"},{"line_number":14,"context_line":"api output."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partial-Bug: #2058928"},{"line_number":17,"context_line":"Change-Id: Id7bec3d586bfb1aebeae1494dc452994087ed3bd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"8447aaf7_42da320f","line":16,"in_reply_to":"34793b03_100490a0","updated":"2024-09-26 08:38:27.000000000","message":"Done.\nHere is the spec https://review.opendev.org/c/openstack/nova-specs/+/929780 and blueprint https://blueprints.launchpad.net/nova/+spec/show-instance-action-finish-time for the same.","commit_id":"f963ae1ac9bad6474ae98a42b69017f99144a4dd"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"b348c9bb890eb6af5618c8efb362e2b5682e2e92","unresolved":false,"context_lines":[{"line_number":13,"context_line":"for showing ``finish_time`` field for instance action show"},{"line_number":14,"context_line":"api output."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partial-Bug: #2058928"},{"line_number":17,"context_line":"Change-Id: Id7bec3d586bfb1aebeae1494dc452994087ed3bd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"afd5d05d_60ef06a6","line":16,"in_reply_to":"8447aaf7_42da320f","updated":"2025-03-26 17:03:32.000000000","message":"Done","commit_id":"f963ae1ac9bad6474ae98a42b69017f99144a4dd"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"309523524059ed3589752a334ecdb8c5f530be20","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Rajesh Tailor \u003cratailor@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-03-05 16:13:38 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for showing finish_time"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As of now, the ``finish_time`` field is not shown in output"},{"line_number":10,"context_line":"of instance action show api response."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"ea16a3c6_e7420a7d","line":7,"range":{"start_line":7,"start_character":24,"end_line":7,"end_character":35},"updated":"2025-03-06 15:15:11.000000000","message":"Could be good to mention that it is action finish time.\nThis is explained in one comment from Sean.","commit_id":"0a855e5815978fe6cc006bc610849ba8deb0779c"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"3273358ad82214ab23bdd043b3461b2b8e0a6b5a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rajesh Tailor \u003cratailor@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-03-05 16:13:38 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for showing finish_time"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As of now, the ``finish_time`` field is not shown in output"},{"line_number":10,"context_line":"of instance action show api response."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"5e8c69f6_0a9f70d7","line":7,"range":{"start_line":7,"start_character":24,"end_line":7,"end_character":35},"in_reply_to":"ea16a3c6_e7420a7d","updated":"2025-03-07 11:37:19.000000000","message":"Done","commit_id":"0a855e5815978fe6cc006bc610849ba8deb0779c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6f953fd70f1ad82a6aa258035092e7f12ce87fe1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c279b381_17a507a4","updated":"2024-09-12 16:27:03.000000000","message":"also we need api sample test for the new microversion.","commit_id":"f963ae1ac9bad6474ae98a42b69017f99144a4dd"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"677cd0d83d388118a283e1af755544941ee24e3a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2449789b_5d05147b","in_reply_to":"61f77486_6313c403","updated":"2024-09-26 08:38:27.000000000","message":"Done","commit_id":"f963ae1ac9bad6474ae98a42b69017f99144a4dd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"06cae9e489aa8b723c8c98924e04ea2078b12454","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"61f77486_6313c403","in_reply_to":"c279b381_17a507a4","updated":"2024-09-12 16:27:55.000000000","message":"https://github.com/openstack/nova/blob/master/nova/tests/functional/api_sample_tests/test_instance_actions.py","commit_id":"f963ae1ac9bad6474ae98a42b69017f99144a4dd"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"677cd0d83d388118a283e1af755544941ee24e3a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"66ddc2ad_a294f6c3","updated":"2024-09-26 08:38:27.000000000","message":"Thanks gibi for review.\n\nI have addressed your comments and updated the patch as well as submitted spec and blueprint.\n\nhttps://review.opendev.org/c/openstack/nova-specs/+/929780\n\nhttps://blueprints.launchpad.net/nova/+spec/show-instance-action-finish-time","commit_id":"158d54581b1c6dcac4ad0d1c71e83f1b312a5000"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"05b033bcaee314e339c3894601329f5f23eda03e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ddddd93d_d07f95d0","updated":"2024-09-27 15:55:08.000000000","message":"So do we not have to do anything in the code itself to actually save the finish time for the entire action? Just have to expose it?","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"675587a6bd76e511cbf685c50ade42c0a13103cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d4e1a0d1_6aafe243","in_reply_to":"ddddd93d_d07f95d0","updated":"2024-09-30 13:17:03.000000000","message":"Yes, as of now, we don\u0027t have anything in code to save it in db and expose to user in response.","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"2e422b0d3d23e62d0e1136df30065b3bb3742105","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0d61c25b_b1e1fd85","updated":"2024-10-01 07:01:05.000000000","message":"Thanks Sean, Artom and Gibi for your feedback.","commit_id":"b58673d8d9da3d1ae13cf79a1d86a0ed0dc83ded"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1cdc0958b1c2cb8842e481e35b6f867d9bdbb9f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"57f30560_710e6248","updated":"2024-11-11 12:42:31.000000000","message":"functional failures:\n* https://github.com/openstack/nova/blob/master/doc/api_samples/versions/v21-version-get-resp.json#L22 needs to be bumped\n* https://github.com/openstack/nova/blob/3b530ac15b4bd79167703cb0d71ff7d3b53ec2f9/doc/api_samples/versions/versions-get-resp.json#L25 needs to be bumped\n* nova.tests.functional.api_sample_tests.test_instance_actions.ServerActionsV297SampleJsonTest.test_instance_actions_list(v2_97) fails with a diff:\n```\nTemplate: {   \u0027instanceActions\u0027: [   {   \u0027action\u0027: \u0027stop\u0027,\n                               \u0027finish_time\u0027: \u0027%(strtime)s\u0027,\n                               \u0027instance_uuid\u0027: \u0027%(uuid)s\u0027,\n                               \u0027message\u0027: None,\n                               \u0027project_id\u0027: \u0027%(project_id)s\u0027,\n                               \u0027request_id\u0027: \u0027%(request_id)s\u0027,\n                               \u0027start_time\u0027: \u0027%(strtime)s\u0027,\n                               \u0027updated_at\u0027: \u0027%(strtime)s\u0027,\n                               \u0027user_id\u0027: \u0027%(user_id)s\u0027},\n                           {   \u0027action\u0027: \u0027create\u0027,\n                               \u0027finish_time\u0027: \u0027%(strtime)s\u0027,\n                               \u0027instance_uuid\u0027: \u0027%(uuid)s\u0027,\n                               \u0027message\u0027: None,\n                               \u0027project_id\u0027: \u0027%(project_id)s\u0027,\n                               \u0027request_id\u0027: \u0027%(request_id)s\u0027,\n                               \u0027start_time\u0027: \u0027%(strtime)s\u0027,\n                               \u0027updated_at\u0027: \u0027%(strtime)s\u0027,\n                               \u0027user_id\u0027: \u0027%(user_id)s\u0027}]}\n\nResponse: {   \u0027instanceActions\u0027: [   {   \u0027action\u0027: \u0027stop\u0027,\n                               \u0027finish_time\u0027: None,\n                               \u0027instance_uuid\u0027: \u0027b634cb12-a966-4a81-b824-af12df25ea49\u0027,\n                               \u0027message\u0027: None,\n                               \u0027project_id\u0027: \u00276f70656e737461636b20342065766572\u0027,\n                               \u0027request_id\u0027: \u0027req-553b071d-cef0-4878-8033-2d3ab52825ed\u0027,\n                               \u0027start_time\u0027: \u00272024-11-11T12:34:13.648769\u0027,\n                               \u0027updated_at\u0027: \u00272024-11-11T12:34:13.785983\u0027,\n                               \u0027user_id\u0027: \u0027admin\u0027},\n                           {   \u0027action\u0027: \u0027create\u0027,\n                               \u0027finish_time\u0027: None,\n                               \u0027instance_uuid\u0027: \u0027b634cb12-a966-4a81-b824-af12df25ea49\u0027,\n                               \u0027message\u0027: None,\n                               \u0027project_id\u0027: \u00276f70656e737461636b20342065766572\u0027,\n                               \u0027request_id\u0027: \u0027req-9f44f276-8e49-4b8f-805d-d77074968942\u0027,\n                               \u0027start_time\u0027: \u00272024-11-11T12:34:13.232416\u0027,\n                               \u0027updated_at\u0027: \u00272024-11-11T12:34:13.643305\u0027,\n                               \u0027user_id\u0027: \u0027admin\u0027}]}\n```\n\nIf I understand this correctly your template expect an strtime but the API response returns None. So I think in the test case the api action hasn\u0027t been finished yet.","commit_id":"b58673d8d9da3d1ae13cf79a1d86a0ed0dc83ded"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"309523524059ed3589752a334ecdb8c5f530be20","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"3460e348_77693c90","updated":"2025-03-06 15:15:11.000000000","message":"Just a -1 for you to notify my question and couple of nits.\nI have checked that:\n- 2.101 seems coherent everywhere in the code change.\n- There is api compatibility code with the previous version.\n- Unit tests and functional tests are ok.\n- ActionReporter stub out in the fixture, so we will not have to mock it elsewhere.","commit_id":"0a855e5815978fe6cc006bc610849ba8deb0779c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"12935c9dd4dd86b24732e46d3f6bc36621a186f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"23dd2c6f_59d0fbec","updated":"2025-03-26 09:33:38.000000000","message":"Thanks Rajesh, appreciate your previous explanations.\n-1 because I think Artom\u0027s comment needs to be addressed.","commit_id":"15e55d4ccc9def676e2da0a8f68bcc91108d66fe"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"13be11d6dcbe7058680c5f3cdc88f2b5a31f5f4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"ae0b8aab_2e5d842f","updated":"2025-04-03 17:28:05.000000000","message":"Lgtm thanks Rajesh","commit_id":"071c2e8457f2741cd2919b0e43132ca9bb523276"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"b348c9bb890eb6af5618c8efb362e2b5682e2e92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"ba6f403b_0b5a38b7","updated":"2025-03-26 17:03:32.000000000","message":"Thanks Artom and Uggla for your suggestions.","commit_id":"071c2e8457f2741cd2919b0e43132ca9bb523276"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"a4c7aeeb8109357a1c418f41d5a7b58d15c06fd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"9cb607c0_33eefe8f","updated":"2025-06-12 09:30:35.000000000","message":"Set again my +1.","commit_id":"45033cd0581508e43845ad70db75cc19c5ea888e"}],"api-ref/source/os-instance-actions.inc":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"05b033bcaee314e339c3894601329f5f23eda03e","unresolved":true,"context_lines":[{"line_number":104,"context_line":"  - project_id: project_id_server_action"},{"line_number":105,"context_line":"  - request_id: request_id_body"},{"line_number":106,"context_line":"  - start_time: start_time"},{"line_number":107,"context_line":"  - finish_time: finish_time"},{"line_number":108,"context_line":"  - user_id: user_id_server_action"},{"line_number":109,"context_line":"  - events: instance_action_events_2_50"},{"line_number":110,"context_line":"  - events: instance_action_events_2_51"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"853e750b_5af76335","line":107,"updated":"2024-09-27 15:55:08.000000000","message":"We already have event_finish_time (see my comment on L2685 in parameters.inc) but I suppose we don\u0027t have a way around adding this almost-identical parameter? The description for event_finish_time specifically mentions events, and we want to use this for the whole action.","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"b348c9bb890eb6af5618c8efb362e2b5682e2e92","unresolved":false,"context_lines":[{"line_number":104,"context_line":"  - project_id: project_id_server_action"},{"line_number":105,"context_line":"  - request_id: request_id_body"},{"line_number":106,"context_line":"  - start_time: start_time"},{"line_number":107,"context_line":"  - finish_time: finish_time"},{"line_number":108,"context_line":"  - user_id: user_id_server_action"},{"line_number":109,"context_line":"  - events: instance_action_events_2_50"},{"line_number":110,"context_line":"  - events: instance_action_events_2_51"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"53af3566_d12e3a0b","line":107,"in_reply_to":"802a8d11_d023448c","updated":"2025-03-26 17:03:32.000000000","message":"Acknowledged","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b126927f2f01d90e67c2130d8f0889129b6a1730","unresolved":true,"context_lines":[{"line_number":104,"context_line":"  - project_id: project_id_server_action"},{"line_number":105,"context_line":"  - request_id: request_id_body"},{"line_number":106,"context_line":"  - start_time: start_time"},{"line_number":107,"context_line":"  - finish_time: finish_time"},{"line_number":108,"context_line":"  - user_id: user_id_server_action"},{"line_number":109,"context_line":"  - events: instance_action_events_2_50"},{"line_number":110,"context_line":"  - events: instance_action_events_2_51"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"802a8d11_d023448c","line":107,"in_reply_to":"853e750b_5af76335","updated":"2024-09-30 16:57:13.000000000","message":"this is the action finish time not the event finish time\n\nan instance action has multipel events and the action is complete when all events curunt and future are comleted\n\nthat are two diffenrt conceppts.\n\nmany instance action have multiple events.","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"}],"api-ref/source/parameters.yaml":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"05b033bcaee314e339c3894601329f5f23eda03e","unresolved":true,"context_lines":[{"line_number":2682,"context_line":"  in: body"},{"line_number":2683,"context_line":"  required: true"},{"line_number":2684,"context_line":"  type: string"},{"line_number":2685,"context_line":"event_finish_time:"},{"line_number":2686,"context_line":"  description: |"},{"line_number":2687,"context_line":"    The date and time when the event was finished. The date and time"},{"line_number":2688,"context_line":"    stamp format is `ISO 8601 \u003chttps://en.wikipedia.org/wiki/ISO_8601\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"406f237c_368c8e02","line":2685,"updated":"2024-09-27 15:55:08.000000000","message":"The fact that we have this existing parameter, and we\u0027re adding a new one for the action that\u0027s basically the exact same thing is kind annoying, but I guess I don\u0027t see a way around it because the description specifically mentions events. Anyone else have better ideas?","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"675587a6bd76e511cbf685c50ade42c0a13103cb","unresolved":true,"context_lines":[{"line_number":2682,"context_line":"  in: body"},{"line_number":2683,"context_line":"  required: true"},{"line_number":2684,"context_line":"  type: string"},{"line_number":2685,"context_line":"event_finish_time:"},{"line_number":2686,"context_line":"  description: |"},{"line_number":2687,"context_line":"    The date and time when the event was finished. The date and time"},{"line_number":2688,"context_line":"    stamp format is `ISO 8601 \u003chttps://en.wikipedia.org/wiki/ISO_8601\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"8a3ed53f_5b6f5a33","line":2685,"in_reply_to":"406f237c_368c8e02","updated":"2024-09-30 13:17:03.000000000","message":"we have similar parameter start_time for event as well as action, so adding finish_time for action will maintain consistency IMO.\n\nIf we have any better way, I could try to implement that.","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4ce49d9019644319943b0549d7baa56666fd3fea","unresolved":true,"context_lines":[{"line_number":2682,"context_line":"  in: body"},{"line_number":2683,"context_line":"  required: true"},{"line_number":2684,"context_line":"  type: string"},{"line_number":2685,"context_line":"event_finish_time:"},{"line_number":2686,"context_line":"  description: |"},{"line_number":2687,"context_line":"    The date and time when the event was finished. The date and time"},{"line_number":2688,"context_line":"    stamp format is `ISO 8601 \u003chttps://en.wikipedia.org/wiki/ISO_8601\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ead1dd57_0d8e19db","line":2685,"in_reply_to":"8a3ed53f_5b6f5a33","updated":"2024-09-30 17:03:03.000000000","message":"they are not the same thing.\n\none is the finsih time of the action \nthe other is the the finsih time of one of the multipel events within an action.","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"2e422b0d3d23e62d0e1136df30065b3bb3742105","unresolved":false,"context_lines":[{"line_number":2682,"context_line":"  in: body"},{"line_number":2683,"context_line":"  required: true"},{"line_number":2684,"context_line":"  type: string"},{"line_number":2685,"context_line":"event_finish_time:"},{"line_number":2686,"context_line":"  description: |"},{"line_number":2687,"context_line":"    The date and time when the event was finished. The date and time"},{"line_number":2688,"context_line":"    stamp format is `ISO 8601 \u003chttps://en.wikipedia.org/wiki/ISO_8601\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"70d04d45_7a07aa8d","line":2685,"in_reply_to":"ead1dd57_0d8e19db","updated":"2024-10-01 07:01:05.000000000","message":"Acknowledged","commit_id":"81d40f05b10d61d795ada2c212f219fd46eee70e"}],"doc/api_samples/os-instance-actions/v2.97/instance-actions-list-with-changes-before.json":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4ce49d9019644319943b0549d7baa56666fd3fea","unresolved":true,"context_lines":[{"line_number":7,"context_line":"            \"project_id\": \"6f70656e737461636b20342065766572\","},{"line_number":8,"context_line":"            \"request_id\": \"req-0c3b2079-0a44-474d-a5b2-7466d4b4c642\","},{"line_number":9,"context_line":"            \"start_time\": \"2018-04-25T01:26:29.594237\","},{"line_number":10,"context_line":"\t    \"finish_time\": \"2018-04-25T01:26:30.065061\","},{"line_number":11,"context_line":"            \"updated_at\": \"2018-04-25T01:26:30.065061\","},{"line_number":12,"context_line":"            \"user_id\": \"admin\""},{"line_number":13,"context_line":"        },"}],"source_content_type":"application/json","patch_set":5,"id":"e2c43a87_25f2f37c","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":1},"updated":"2024-09-30 17:03:03.000000000","message":"you are mixing tabs and spaces which is why this does not indent properly\n\nplease remove all the tabs form the samples","commit_id":"f9229f80ac1bf8b90f8d66e237dac6a0894a36cb"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"2e422b0d3d23e62d0e1136df30065b3bb3742105","unresolved":false,"context_lines":[{"line_number":7,"context_line":"            \"project_id\": \"6f70656e737461636b20342065766572\","},{"line_number":8,"context_line":"            \"request_id\": \"req-0c3b2079-0a44-474d-a5b2-7466d4b4c642\","},{"line_number":9,"context_line":"            \"start_time\": \"2018-04-25T01:26:29.594237\","},{"line_number":10,"context_line":"\t    \"finish_time\": \"2018-04-25T01:26:30.065061\","},{"line_number":11,"context_line":"            \"updated_at\": \"2018-04-25T01:26:30.065061\","},{"line_number":12,"context_line":"            \"user_id\": \"admin\""},{"line_number":13,"context_line":"        },"}],"source_content_type":"application/json","patch_set":5,"id":"f7c5fe9d_49e7efc3","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":1},"in_reply_to":"e2c43a87_25f2f37c","updated":"2024-10-01 07:01:05.000000000","message":"Done","commit_id":"f9229f80ac1bf8b90f8d66e237dac6a0894a36cb"}],"nova/api/openstack/compute/rest_api_version_history.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4ce49d9019644319943b0549d7baa56666fd3fea","unresolved":true,"context_lines":[{"line_number":1256,"context_line":"The ``server show`` and ``server list --long`` responses now include the"},{"line_number":1257,"context_line":"pinned availability zone as well."},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":".. _microversion 2.97:"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"2.97"},{"line_number":1262,"context_line":"----"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a9904743_a0036015","line":1259,"updated":"2024-09-30 17:03:03.000000000","message":"its regretable that we need a microversion for this.\n\nwe really shoudl be returing this always but i guess we are now allwoed to add this filed without a new microversion...\n\non one hand you shoudl not ahve to opt into correct behavior\non the other hand it give tempest a way to detect if we can use\nthis automatically based on the supprot microversion and osc now defaults\nto latest so i guess this is the best path forworward.\n\nit does mean we will have to keep the fallback for 18 months untile we can rely on it but that doable.","commit_id":"f9229f80ac1bf8b90f8d66e237dac6a0894a36cb"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"2e422b0d3d23e62d0e1136df30065b3bb3742105","unresolved":true,"context_lines":[{"line_number":1256,"context_line":"The ``server show`` and ``server list --long`` responses now include the"},{"line_number":1257,"context_line":"pinned availability zone as well."},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":".. _microversion 2.97:"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"2.97"},{"line_number":1262,"context_line":"----"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ee40d59d_a654c5f9","line":1259,"in_reply_to":"a9904743_a0036015","updated":"2024-10-01 07:01:05.000000000","message":"yes, we should have returned it always.\n\nhere --\u003e \"we really shoudl be returing this always but i guess we are now allwoed to add this filed without a new microversion...\"\n\nI assume you mean that we are not allowed to add this field with a new microversion. right ?","commit_id":"f9229f80ac1bf8b90f8d66e237dac6a0894a36cb"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"b348c9bb890eb6af5618c8efb362e2b5682e2e92","unresolved":false,"context_lines":[{"line_number":1256,"context_line":"The ``server show`` and ``server list --long`` responses now include the"},{"line_number":1257,"context_line":"pinned availability zone as well."},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":".. _microversion 2.97:"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"2.97"},{"line_number":1262,"context_line":"----"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6ae86d_b2a088fa","line":1259,"in_reply_to":"ee40d59d_a654c5f9","updated":"2025-03-26 17:03:32.000000000","message":"Acknowledged","commit_id":"f9229f80ac1bf8b90f8d66e237dac6a0894a36cb"}],"nova/compute/api.py":[{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"309523524059ed3589752a334ecdb8c5f530be20","unresolved":true,"context_lines":[{"line_number":2520,"context_line":"                    instance.refresh()"},{"line_number":2521,"context_line":""},{"line_number":2522,"context_line":"            if instance.vm_state \u003d\u003d vm_states.RESIZED:"},{"line_number":2523,"context_line":"                ctxt \u003d nova_context.get_context().elevated()"},{"line_number":2524,"context_line":"                self._confirm_resize_on_deleting(ctxt, instance)"},{"line_number":2525,"context_line":"                # NOTE(neha_alhat): After confirm resize vm_state will become"},{"line_number":2526,"context_line":"                # \u0027active\u0027 and task_state will be set to \u0027None\u0027. But for soft"}],"source_content_type":"text/x-python","patch_set":16,"id":"d2713fca_c0a6b8b5","line":2523,"range":{"start_line":2523,"start_character":16,"end_line":2523,"end_character":60},"updated":"2025-03-06 15:15:11.000000000","message":"I don\u0027t understand why this needs to be changed.\nIf there a reason why we need admin privileges here and not elsewhere ?","commit_id":"0a855e5815978fe6cc006bc610849ba8deb0779c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"12935c9dd4dd86b24732e46d3f6bc36621a186f9","unresolved":false,"context_lines":[{"line_number":2520,"context_line":"                    instance.refresh()"},{"line_number":2521,"context_line":""},{"line_number":2522,"context_line":"            if instance.vm_state \u003d\u003d vm_states.RESIZED:"},{"line_number":2523,"context_line":"                ctxt \u003d nova_context.get_context().elevated()"},{"line_number":2524,"context_line":"                self._confirm_resize_on_deleting(ctxt, instance)"},{"line_number":2525,"context_line":"                # NOTE(neha_alhat): After confirm resize vm_state will become"},{"line_number":2526,"context_line":"                # \u0027active\u0027 and task_state will be set to \u0027None\u0027. But for soft"}],"source_content_type":"text/x-python","patch_set":16,"id":"0821b7d2_aea9107e","line":2523,"range":{"start_line":2523,"start_character":16,"end_line":2523,"end_character":60},"in_reply_to":"8cecec28_62ba3ad9","updated":"2025-03-26 09:33:38.000000000","message":"Thanks for the explanation Rajesh.\nAnd good not to use an admin context here.\nThe comments also helps understand what is going on. 👍","commit_id":"0a855e5815978fe6cc006bc610849ba8deb0779c"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"3273358ad82214ab23bdd043b3461b2b8e0a6b5a","unresolved":true,"context_lines":[{"line_number":2520,"context_line":"                    instance.refresh()"},{"line_number":2521,"context_line":""},{"line_number":2522,"context_line":"            if instance.vm_state \u003d\u003d vm_states.RESIZED:"},{"line_number":2523,"context_line":"                ctxt \u003d nova_context.get_context().elevated()"},{"line_number":2524,"context_line":"                self._confirm_resize_on_deleting(ctxt, instance)"},{"line_number":2525,"context_line":"                # NOTE(neha_alhat): After confirm resize vm_state will become"},{"line_number":2526,"context_line":"                # \u0027active\u0027 and task_state will be set to \u0027None\u0027. But for soft"}],"source_content_type":"text/x-python","patch_set":16,"id":"8cecec28_62ba3ad9","line":2523,"range":{"start_line":2523,"start_character":16,"end_line":2523,"end_character":60},"in_reply_to":"d2713fca_c0a6b8b5","updated":"2025-03-07 11:37:19.000000000","message":"During debugging a failing functional  test [1]  for current change, we found that after the instance is in the verify_resize state, we issue a delete call and during delete, we try to confirm the incomplete resize [2]. And there we pass the same context, creating two separate Instance Action object entries with the same request_id. And because of this check [3] here, we raise InstanceActionNotFound, if we have two entries with the same request_id.\n\n[1] https://opendev.org/openstack/nova/src/commit/e4efead033fc841ff6a93e75445c87dd8f23f7de/nova/tests/functional/test_servers.py#L821\n[2] https://review.opendev.org/c/openstack/nova/+/904568\nhttps://opendev.org/openstack/nova/src/branch/master/nova/compute/api.py#L2523\n[3] https://opendev.org/openstack/nova/src/branch/master/nova/db/main/api.py#L3912\n\nSo to have seperate context for different api call, we are creating seperate context and using that for another second api call.","commit_id":"0a855e5815978fe6cc006bc610849ba8deb0779c"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f7c8a2e67e0dc6ecf1dde1aab20e4ed80d8efa66","unresolved":true,"context_lines":[{"line_number":2529,"context_line":"                # preserve old request_id for \u0027delete\u0027 and generate new one"},{"line_number":2530,"context_line":"                # for \u0027confirm resize\u0027 operation, so that both InstanceAction"},{"line_number":2531,"context_line":"                # objects have separate context.request_id attribute."},{"line_number":2532,"context_line":"                old_request_id \u003d context.request_id"},{"line_number":2533,"context_line":"                context.request_id \u003d oslo_context.generate_request_id()"},{"line_number":2534,"context_line":"                self._confirm_resize_on_deleting(context, instance)"},{"line_number":2535,"context_line":"                # NOTE(neha_alhat): After confirm resize vm_state will become"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aa810f0_e1823746","line":2532,"updated":"2025-03-21 15:09:35.000000000","message":"We\u0027ve been talking about this with Rajesh. Initially we tried generating an entirely new context object, but that didn\u0027t work because further down in the code flow we attempt to find the Migration object, and a brand new context object doesn\u0027t have the correct DB connection info in it, cause us to not find it, not update placement correctly, and a unit tests that asserted Placement allocation correctness to fail.\n\nUsing the existing context here with the existing DB connection info but a new request ID solves that.\n\nOne note here: if we\u0027re fine with this \"request ID mutation\" approach, we need to guarantee that the old request ID is restored regardless of what happens. It could be a try/finally or a context manager or something...","commit_id":"15e55d4ccc9def676e2da0a8f68bcc91108d66fe"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"12935c9dd4dd86b24732e46d3f6bc36621a186f9","unresolved":true,"context_lines":[{"line_number":2529,"context_line":"                # preserve old request_id for \u0027delete\u0027 and generate new one"},{"line_number":2530,"context_line":"                # for \u0027confirm resize\u0027 operation, so that both InstanceAction"},{"line_number":2531,"context_line":"                # objects have separate context.request_id attribute."},{"line_number":2532,"context_line":"                old_request_id \u003d context.request_id"},{"line_number":2533,"context_line":"                context.request_id \u003d oslo_context.generate_request_id()"},{"line_number":2534,"context_line":"                self._confirm_resize_on_deleting(context, instance)"},{"line_number":2535,"context_line":"                # NOTE(neha_alhat): After confirm resize vm_state will become"}],"source_content_type":"text/x-python","patch_set":20,"id":"ef087b7d_a9191249","line":2532,"in_reply_to":"5aa810f0_e1823746","updated":"2025-03-26 09:33:38.000000000","message":"I agree. I would use a \"try/finally\" here as it seems the easiest way.","commit_id":"15e55d4ccc9def676e2da0a8f68bcc91108d66fe"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"b348c9bb890eb6af5618c8efb362e2b5682e2e92","unresolved":false,"context_lines":[{"line_number":2529,"context_line":"                # preserve old request_id for \u0027delete\u0027 and generate new one"},{"line_number":2530,"context_line":"                # for \u0027confirm resize\u0027 operation, so that both InstanceAction"},{"line_number":2531,"context_line":"                # objects have separate context.request_id attribute."},{"line_number":2532,"context_line":"                old_request_id \u003d context.request_id"},{"line_number":2533,"context_line":"                context.request_id \u003d oslo_context.generate_request_id()"},{"line_number":2534,"context_line":"                self._confirm_resize_on_deleting(context, instance)"},{"line_number":2535,"context_line":"                # NOTE(neha_alhat): After confirm resize vm_state will become"}],"source_content_type":"text/x-python","patch_set":20,"id":"acd7ee92_f5fe65ff","line":2532,"in_reply_to":"ef087b7d_a9191249","updated":"2025-03-26 17:03:32.000000000","message":"Done","commit_id":"15e55d4ccc9def676e2da0a8f68bcc91108d66fe"}],"releasenotes/notes/show-instance-action-finish-time-c90ca8f33584395c.yaml":[{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"309523524059ed3589752a334ecdb8c5f530be20","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The 2.101 microversion has been added. This microversion adds support for"},{"line_number":5,"context_line":"    showing ``finish_time`` field in instance action show api response."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"99696ff7_bcd22726","line":5,"range":{"start_line":5,"start_character":12,"end_line":5,"end_character":27},"updated":"2025-03-06 15:15:11.000000000","message":"nit: action finish_time","commit_id":"0a855e5815978fe6cc006bc610849ba8deb0779c"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"3273358ad82214ab23bdd043b3461b2b8e0a6b5a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The 2.101 microversion has been added. This microversion adds support for"},{"line_number":5,"context_line":"    showing ``finish_time`` field in instance action show api response."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"0c99a29d_10355c33","line":5,"range":{"start_line":5,"start_character":12,"end_line":5,"end_character":27},"in_reply_to":"99696ff7_bcd22726","updated":"2025-03-07 11:37:19.000000000","message":"Done","commit_id":"0a855e5815978fe6cc006bc610849ba8deb0779c"}]}
