mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 21:00:22 -07:00
New module: shutdown (#700)
* New module: shutdown * Add symlink to plugin * Fix Signed-off-by: Amin Vakil <info@aminvakil.com> * Fix * Fix * Add seealso * Fix seealso * Add future-import, metaclass boilerplate * Change pre_shutdown_delay to delay * Cleanup before executing shutdown * Fix * Remove unused connect_timeout paramater * Improve documentation * Remove deprecated function and calling it * Remove double calling delay function * Remove unneeded call in check delay function * Make check mode more realistic * Remove extra blank line * Remove unnecessary imports and fix copyright year * Add shutdown_command and integration test * Fix integration test * Don't fail on local AND enabled check_mode * Add copyright * Skip ubuntu1804 as systemd-sysv is not installed on container * Ignore ubuntu 18 on task * Readd integration tests * Do not run integration test on ubuntu 18 * Improve integration test and add delay, msg testing * Fix ubuntu 18 integration test * Remove unnecessary condition
This commit is contained in:
parent
d13b026f47
commit
c475effeed
6 changed files with 366 additions and 0 deletions
84
tests/integration/targets/shutdown/tasks/main.yml
Normal file
84
tests/integration/targets/shutdown/tasks/main.yml
Normal file
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
- name: Install systemd-sysv on ubuntu 18
|
||||
apt:
|
||||
name: systemd-sysv
|
||||
state: present
|
||||
when: ansible_distribution == 'Ubuntu' and ansible_distribution_major_version is version('18', '>=')
|
||||
register: systemd_sysv_install
|
||||
|
||||
- name: Execute shutdown with custom message and delay
|
||||
community.general.shutdown:
|
||||
delay: 100
|
||||
msg: "Custom Message"
|
||||
register: shutdown_result
|
||||
check_mode: yes
|
||||
|
||||
- name: Execute shutdown with minus delay
|
||||
community.general.shutdown:
|
||||
delay: -100
|
||||
register: shutdown_result_minus
|
||||
check_mode: yes
|
||||
|
||||
- name: Verify Custom Message except Alpine, AIX
|
||||
assert:
|
||||
that:
|
||||
- '"Custom Message" in shutdown_result["shutdown_command"]'
|
||||
- '"Shut down initiated by Ansible" in shutdown_result_minus["shutdown_command"]'
|
||||
- '"Custom Message" not in shutdown_result_minus["shutdown_command"]'
|
||||
when: ansible_os_family not in ['Alpine', 'AIX']
|
||||
|
||||
- name: Verify shutdown command is present except Alpine, VMKernel
|
||||
assert:
|
||||
that: '"shutdown" in shutdown_result["shutdown_command"]'
|
||||
when: ansible_os_family != 'Alpine' and ansible_system != 'VMKernel'
|
||||
|
||||
- name: Verify shutdown command is present in Alpine
|
||||
assert:
|
||||
that: '"poweroff" in shutdown_result["shutdown_command"]'
|
||||
when: ansible_os_family == 'Alpine'
|
||||
|
||||
- name: Verify shutdown command is present in VMKernel
|
||||
assert:
|
||||
that: '"halt" in shutdown_result["shutdown_command"]'
|
||||
when: ansible_system == 'VMKernel'
|
||||
|
||||
- name: Verify shutdown delay is present in minutes in Linux
|
||||
assert:
|
||||
that:
|
||||
- '"-h 1" in shutdown_result["shutdown_command"]'
|
||||
- '"-h 0" in shutdown_result_minus["shutdown_command"]'
|
||||
when: ansible_system == 'Linux' and ansible_os_family != 'Alpine'
|
||||
|
||||
- name: Verify shutdown delay is present in minutes in Void, MacOSX, OpenBSD
|
||||
assert:
|
||||
that:
|
||||
- '"-h +1" in shutdown_result["shutdown_command"]'
|
||||
- '"-h +0" in shutdown_result_minus["shutdown_command"]'
|
||||
when: ansible_system in ['Void', 'MacOSX', 'OpenBSD']
|
||||
|
||||
- name: Verify shutdown delay is present in seconds in FreeBSD
|
||||
assert:
|
||||
that:
|
||||
- '"-h +100s" in shutdown_result["shutdown_command"]'
|
||||
- '"-h +0s" in shutdown_result_minus["shutdown_command"]'
|
||||
when: ansible_system == 'FreeBSD'
|
||||
|
||||
- name: Verify shutdown delay is present in seconds in Solaris, SunOS
|
||||
assert:
|
||||
that:
|
||||
- '"-g 100" in shutdown_result["shutdown_command"]'
|
||||
- '"-g 0" in shutdown_result_minus["shutdown_command"]'
|
||||
when: ansible_system in ['Solaris', 'SunOS']
|
||||
|
||||
- name: Verify shutdown delay is present in seconds, VMKernel
|
||||
assert:
|
||||
that:
|
||||
- '"-d 100" in shutdown_result["shutdown_command"]'
|
||||
- '"-d 0" in shutdown_result_minus["shutdown_command"]'
|
||||
when: ansible_system == 'VMKernel'
|
||||
|
||||
- name: Remove systemd_sysv in ubuntu 18 in case it has been installed in test
|
||||
apt:
|
||||
name: systemd-sysv
|
||||
state: absent
|
||||
when: systemd_sysv_install is changed
|
Loading…
Add table
Add a link
Reference in a new issue