)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b7259f045b216f14ead829d01182980a4d163d15","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Fix instance vm_state during shelve"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As of now, when shelving an instance, there is a point where"},{"line_number":10,"context_line":"instance still appears ACTIVE, but is already shutdown in libvirt."},{"line_number":11,"context_line":"During that time instance task state is shelving_image_pending_upload"},{"line_number":12,"context_line":"or could be shelving_image_uploading or shelving as well."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"af898aeb_a35e7756","line":10,"updated":"2025-10-14 14:14:21.000000000","message":"does the power state of the VM kept as running in this state? I would rather point to the power state than the status when trying to assess if the VM is actually running in the hypervisor or not.","commit_id":"938ed307597a4a217bea80ca64f6e59102dc34d0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b7259f045b216f14ead829d01182980a4d163d15","unresolved":true,"context_lines":[{"line_number":14,"context_line":"This is confusing to user, because instance appears ACTIVE, but is"},{"line_number":15,"context_line":"actually down and not reachable."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This change updates instance vm_state to STOPPED after instance is"},{"line_number":18,"context_line":"powered off during shelving to avoid confusion."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #2013190"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"09ed7f10_bad1e7c6","line":17,"updated":"2025-10-14 14:14:21.000000000","message":"status STOPPED is a valid end status of other operations while here I assume it is a transitional status only as the end status is SHELVED (or SHELVED_OFFLOADED). I\u0027m wondering if it is equally confusing to see a VM in STOPPED while for a while then jumping to SHELVED. I would rather keep the status as is and point to the power state of the VM (and fix that if needed) to decide if the VM is running in the hypervisor or not.","commit_id":"938ed307597a4a217bea80ca64f6e59102dc34d0"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"c3541e3b80e1ce691ec3e7f87230cca16da97667","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6369dbe9_058fc5d9","updated":"2024-11-14 15:37:28.000000000","message":"The unit test is really confusing, but does what it\u0027s supposed to.","commit_id":"636cf6d1cbf0e7f9bb1a39beedc82e853a0bb792"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"3a358090d44839579d5bd795665a480ea6d2efb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e9182c7f_e4ec947a","in_reply_to":"6369dbe9_058fc5d9","updated":"2025-06-12 06:59:22.000000000","message":"yes. It\u0027s really confusing.","commit_id":"636cf6d1cbf0e7f9bb1a39beedc82e853a0bb792"}],"nova/tests/unit/compute/test_shelve.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"c3541e3b80e1ce691ec3e7f87230cca16da97667","unresolved":true,"context_lines":[{"line_number":90,"context_line":"        def check_save(expected_task_state\u003dNone):"},{"line_number":91,"context_line":"            self.assertEqual(123, instance.power_state)"},{"line_number":92,"context_line":"            if tracking[\u0027last_state\u0027] \u003d\u003d vm_states.ACTIVE:"},{"line_number":93,"context_line":"                self.assertEqual(vm_states.STOPPED, instance.vm_state)"},{"line_number":94,"context_line":"                self.assertEqual([task_states.SHELVING,"},{"line_number":95,"context_line":"                                  task_states.SHELVING_IMAGE_PENDING_UPLOAD,"},{"line_number":96,"context_line":"                                  task_states.SHELVING_IMAGE_UPLOADING],"}],"source_content_type":"text/x-python","patch_set":2,"id":"c3b4adab_6699cc40","line":93,"updated":"2024-11-14 15:37:28.000000000","message":"Note to self: this is called as a side-effect from instance.save() because of the mock on L138, and checks the instance state based on what the previous state was, as saved in `tracking`.","commit_id":"636cf6d1cbf0e7f9bb1a39beedc82e853a0bb792"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"3a358090d44839579d5bd795665a480ea6d2efb6","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        def check_save(expected_task_state\u003dNone):"},{"line_number":91,"context_line":"            self.assertEqual(123, instance.power_state)"},{"line_number":92,"context_line":"            if tracking[\u0027last_state\u0027] \u003d\u003d vm_states.ACTIVE:"},{"line_number":93,"context_line":"                self.assertEqual(vm_states.STOPPED, instance.vm_state)"},{"line_number":94,"context_line":"                self.assertEqual([task_states.SHELVING,"},{"line_number":95,"context_line":"                                  task_states.SHELVING_IMAGE_PENDING_UPLOAD,"},{"line_number":96,"context_line":"                                  task_states.SHELVING_IMAGE_UPLOADING],"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab85dd5_96876e95","line":93,"in_reply_to":"c3b4adab_6699cc40","updated":"2025-06-12 06:59:22.000000000","message":"Acknowledged","commit_id":"636cf6d1cbf0e7f9bb1a39beedc82e853a0bb792"}]}
