community.general.filesystem – Makes a filesystem

Note

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

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

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

Synopsis

  • This module creates a filesystem.

Requirements

The below requirements are needed on the host that executes this module.

  • Uses tools related to the fstype (mkfs) and blkid command. When resizefs is enabled, blockdev command is required too.

Parameters

Parameter Choices/Defaults Comments
dev
path / required
Target path to device or image file.

aliases: device
force
boolean
    Choices:
  • no ←
  • yes
If yes, allows to create new filesystem on devices that already has filesystem.
fstype
string
    Choices:
  • btrfs
  • ext2
  • ext3
  • ext4
  • ext4dev
  • f2fs
  • lvm
  • ocfs2
  • reiserfs
  • xfs
  • vfat
  • swap
Filesystem type to be created. This option is required with state=present (or if state is omitted).
reiserfs support was added in 2.2.
lvm support was added in 2.5.
since 2.5, dev can be an image file.
vfat support was added in 2.5
ocfs2 support was added in 2.6
f2fs support was added in 2.7
swap support was added in 2.8

aliases: type
opts
string
List of options to be passed to mkfs command.
resizefs
boolean
    Choices:
  • no ←
  • yes
If yes, if the block device and filesystem size differ, grow the filesystem into the space.
Supported for ext2, ext3, ext4, ext4dev, f2fs, lvm, xfs and vfat filesystems. Attempts to resize other filesystem types will fail.
XFS Will only grow if mounted. Currently, the module is based on commands from util-linux package to perform operations, so resizing of XFS is not supported on FreeBSD systems.
vFAT will likely fail if fatresize < 1.04.
state
string
added in 1.3.0 of community.general
    Choices:
  • present ←
  • absent
If state=present, the filesystem is created if it doesn't already exist, that is the default behaviour if state is omitted.
If state=absent, filesystem signatures on dev are wiped if it contains a filesystem (as known by blkid).
When state=absent, all other options but dev are ignored, and the module doesn't fail if the device dev doesn't actually exist.
state=absent is not supported and will fail on FreeBSD systems.

Notes

Note

  • Potential filesystem on dev are checked using blkid, in case blkid isn’t able to detect an existing filesystem, this filesystem is overwritten even if force is no.

  • This module supports check_mode.

Examples

- name: Create a ext2 filesystem on /dev/sdb1
  community.general.filesystem:
    fstype: ext2
    dev: /dev/sdb1

- name: Create a ext4 filesystem on /dev/sdb1 and check disk blocks
  community.general.filesystem:
    fstype: ext4
    dev: /dev/sdb1
    opts: -cc

- name: Blank filesystem signature on /dev/sdb1
  community.general.filesystem:
    dev: /dev/sdb1
    state: absent

Authors

  • Alexander Bulimov (@abulimov)