mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-08 15:14:20 -07:00
New module zpool (#10146)
* Add zpool module * Add botmeta * Use str.format instead of f-strings * Remove nonlocal usage * Add check to only pass ashift to zpool add * Extend ansible_spec and remove unnecessary validation * Apply suggestions and fix style * Fix indentation of yaml lists * Add method to normalize vdevs Fix role: none in vdevs * Use CmdRunner instead of run_command * Fix styling and documentation * Use str.format instead of f-strings * Make sure vdevs are only required when state is present * Add support for loop devices and normalize vdev type * Add integration tests * Add missing test dependencies for alpine and redhat * Skip integration tests on rhel10 until there there packages available * Use package module for better auto detection of package manager on rhel * Add copyright header * Skip tests on rhel and remove redhat install requirements * Ensure loop devices under /dev exist * Enable usage of files as pool devices * Remove disk setup * Use files as disks * Apply suggestions * Fix argument_spec
This commit is contained in:
parent
8bd68e7e41
commit
928622703d
11 changed files with 1064 additions and 0 deletions
34
tests/integration/targets/zpool/defaults/main.yml
Normal file
34
tests/integration/targets/zpool/defaults/main.yml
Normal file
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
# Copyright (c) 2025, Tom Hesse <contact@tomhesse.xyz>
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
zpool_single_disk_config:
|
||||
- "{{ remote_tmp_dir }}/disk0.img"
|
||||
|
||||
zpool_mirror_disk_config:
|
||||
- "{{ remote_tmp_dir }}/disk1.img"
|
||||
- "{{ remote_tmp_dir }}/disk2.img"
|
||||
|
||||
zpool_raidz_disk_config:
|
||||
- "{{ remote_tmp_dir }}/disk3.img"
|
||||
- "{{ remote_tmp_dir }}/disk4.img"
|
||||
|
||||
zpool_vdevs_disk_config:
|
||||
vdev1:
|
||||
- "{{ remote_tmp_dir }}/disk5.img"
|
||||
vdev2:
|
||||
- "{{ remote_tmp_dir }}/disk6.img"
|
||||
vdev3:
|
||||
- "{{ remote_tmp_dir }}/disk7.img"
|
||||
- "{{ remote_tmp_dir }}/disk8.img"
|
||||
vdev4:
|
||||
- "{{ remote_tmp_dir }}/disk9.img"
|
||||
- "{{ remote_tmp_dir }}/disk10.img"
|
||||
|
||||
zpool_disk_configs: "{{ zpool_single_disk_config + zpool_mirror_disk_config + zpool_raidz_disk_config + (zpool_vdevs_disk_config.values() | flatten) }}"
|
||||
|
||||
zpool_single_disk_pool_name: spool
|
||||
zpool_mirror_disk_pool_name: mpool
|
||||
zpool_raidz_disk_pool_name: rpool
|
||||
zpool_generic_pool_name: tank
|
Loading…
Add table
Add a link
Reference in a new issue