community.general.zfs – Manage zfs

Note

This plugin is part of the community.general collection (version 3.8.3).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.zfs.

Synopsis

  • Manages ZFS file systems, volumes, clones and snapshots

Parameters

Parameter

Comments

extra_zfs_properties

dictionary

A dictionary of zfs properties to be set.

See the zfs(8) man page for more information.

name

string / required

File system, snapshot or volume name e.g. rpool/myfs.

origin

string

Snapshot from which to create a clone.

state

string / required

Whether to create (present), or remove (absent) a file system, snapshot or volume. All parents/children will be created/destroyed as needed to reach the desired state.

Choices:

  • absent

  • present

Notes

Note

  • check_mode is supported, but in certain situations it may report a task as changed that will not be reported as changed when check_mode is disabled. For example, this might occur when the zpool altroot option is set or when a size is written using human-readable notation, such as 1M or 1024K, instead of as an unqualified byte count, such as 1048576.

Examples

- name: Create a new file system called myfs in pool rpool with the setuid property turned off
  community.general.zfs:
    name: rpool/myfs
    state: present
    extra_zfs_properties:
      setuid: off

- name: Create a new volume called myvol in pool rpool.
  community.general.zfs:
    name: rpool/myvol
    state: present
    extra_zfs_properties:
      volsize: 10M

- name: Create a snapshot of rpool/myfs file system.
  community.general.zfs:
    name: rpool/myfs@mysnapshot
    state: present

- name: Create a new file system called myfs2 with snapdir enabled
  community.general.zfs:
    name: rpool/myfs2
    state: present
    extra_zfs_properties:
      snapdir: enabled

- name: Create a new file system by cloning a snapshot
  community.general.zfs:
    name: rpool/cloned_fs
    state: present
    origin: rpool/myfs@mysnapshot

- name: Destroy a filesystem
  community.general.zfs:
    name: rpool/myfs
    state: absent

Authors

  • Johan Wiren (@johanwiren)