)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"dbad01dd396df65b35c24d314b7b1b44b140aa80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"86430eb4_4f9207de","updated":"2026-06-24 07:02:44.000000000","message":"I think that the action name is wrong currently","commit_id":"9d53bf64030092c06a189e72bce7632b8719e903"}],"plugins/modules/server_action.py":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"dbad01dd396df65b35c24d314b7b1b44b140aa80","unresolved":true,"context_lines":[{"line_number":213,"context_line":"            if action in [\u0027reboot_soft\u0027, \u0027reboot_hard\u0027]:"},{"line_number":214,"context_line":"                action_name \u003d \u0027reboot_server\u0027"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"            func_name \u003d getattr(self.conn.compute, action_name)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"            # Do the action"},{"line_number":219,"context_line":"            if action \u003d\u003d \u0027reboot_soft\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ff1ff09_225a4695","line":216,"range":{"start_line":216,"start_character":12,"end_line":216,"end_character":63},"updated":"2026-06-24 07:02:44.000000000","message":"Based on that, should not action be named `live_migrate_server` and not `live_migrate`? \n\nJust looking at sdk docs:\nhttps://docs.openstack.org/openstacksdk/latest/user/proxies/compute.html#starting-stopping-etc\n\nAnd also:\n```\n\u003e\u003e\u003e from openstack import connect\n\u003e\u003e\u003e conn \u003d connect()\n\u003e\u003e\u003e func_name \u003d getattr(conn.compute, \u0027live_migrate\u0027)\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\nAttributeError: \u0027Proxy\u0027 object has no attribute \u0027live_migrate\u0027\n\u003e\u003e\u003e func_name \u003d getattr(conn.compute, \u0027live_migrate_server\u0027)\n\u003e\u003e\u003e func_name\n\u003cbound method Proxy.live_migrate_server of \u003copenstack.compute.v2._proxy.Proxy object at 0x72e3ea003a50\u003e\u003e\n\u003e\u003e\u003e \n```","commit_id":"9d53bf64030092c06a189e72bce7632b8719e903"},{"author":{"_account_id":38666,"name":"Patrick Pfurtscheller","display_name":"Patrick Pfurtscheller","email":"patrick@pfurtscheller.org","username":"PfurtschellerP"},"change_message_id":"a4a4ca6a7f6bbd835fc21feebf00855cdc317148","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            if action in [\u0027reboot_soft\u0027, \u0027reboot_hard\u0027]:"},{"line_number":214,"context_line":"                action_name \u003d \u0027reboot_server\u0027"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"            func_name \u003d getattr(self.conn.compute, action_name)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"            # Do the action"},{"line_number":219,"context_line":"            if action \u003d\u003d \u0027reboot_soft\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"559c79c2_e163d77c","line":216,"range":{"start_line":216,"start_character":12,"end_line":216,"end_character":63},"in_reply_to":"1ff1ff09_225a4695","updated":"2026-06-25 14:59:24.000000000","message":"Yes, that\u0027s correct. That\u0027s concatenated in line 209 and the corresponding function is fetched in line 216.","commit_id":"9d53bf64030092c06a189e72bce7632b8719e903"}]}
