diff --git a/ci/roles/server_action/tasks/main.yml b/ci/roles/server_action/tasks/main.yml index e3b78c8b..bbb32237 100644 --- a/ci/roles/server_action/tasks/main.yml +++ b/ci/roles/server_action/tasks/main.yml @@ -553,7 +553,7 @@ assert: that: - servers.servers.0.status == 'ACTIVE' - - server is not changed + - server is changed - name: Reboot server (HARD) openstack.cloud.server_action: @@ -573,7 +573,7 @@ assert: that: - servers.servers.0.status == 'ACTIVE' - - server is not changed + - server is changed - name: Delete server openstack.cloud.server: diff --git a/plugins/modules/server_action.py b/plugins/modules/server_action.py index 4b1a0fc4..9af103c0 100644 --- a/plugins/modules/server_action.py +++ b/plugins/modules/server_action.py @@ -136,6 +136,9 @@ class ServerActionModule(OpenStackModule): # rebuild does not depend on state will_change = ( (action == 'rebuild') + # `reboot_*` actions do not change state, servers remain `ACTIVE` + or (action == 'reboot_hard') + or (action == 'reboot_soft') or (action == 'lock' and not server['is_locked']) or (action == 'unlock' and server['is_locked']) or server.status.lower() not in [a.lower()