community.general.filesystem module – Makes a filesystem
Note
This module is part of the community.general collection (version 8.6.8).
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
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.general.filesystem
.
Synopsis
This module creates a filesystem.
Aliases: system.filesystem
Requirements
The below requirements are needed on the host that executes this module.
Uses specific tools related to the
fstype
for creating or resizing a filesystem (from packages e2fsprogs, xfsprogs, dosfstools, and so on).Uses generic tools mostly related to the Operating System (Linux or FreeBSD) or available on both, as
blkid
.On FreeBSD, either
util-linux
ore2fsprogs
package is required.
Parameters
Parameter |
Comments |
---|---|
Target path to block device (Linux) or character device (FreeBSD) or regular file (both). When setting Linux-specific filesystem types on FreeBSD, this module only works when applying to regular files, aka disk images. Currently Support for character devices on FreeBSD has been added in community.general 3.4.0. |
|
If Choices:
|
|
Filesystem type to be created. This option is required with ufs support has been added in community.general 3.4.0. bcachefs support has been added in community.general 8.6.0. Choices:
|
|
List of options to be passed to |
|
If Supported for XFS Will only grow if mounted. Currently, the module is based on commands from vFAT will likely fail if Mutually exclusive with Choices:
|
|
If If When Choices:
|
|
Set filesystem’s UUID to the given value. The UUID options specified in See xfs_admin(8) ( For Supported for This is not idempotent. Specifying this option will always result in a change. Mutually exclusive with |
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
Notes
Note
Potential filesystems on
dev
are checked usingblkid
. In caseblkid
is unable to detect a filesystem (and in casefstyp
on FreeBSD is also unable to detect a filesystem), this filesystem is overwritten even ifforce
isfalse
.On FreeBSD systems, both
e2fsprogs
andutil-linux
packages provide ablkid
command that is compatible with this module. However, these packages conflict with each other, and only theutil-linux
package provides the command required to not fail whenstate=absent
.
See Also
See also
- community.general.filesize
Create a file with a given size, or resize it if it exists.
- ansible.posix.mount
Control active and configured mount points.
- xfs_admin(8) manpage for Linux
Manual page of the GNU/Linux’s xfs_admin implementation
- tune2fs(8) manpage for Linux
Manual page of the GNU/Linux’s tune2fs implementation
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
- name: Create a filesystem on top of a regular file
community.general.filesystem:
dev: /path/to/disk.img
fstype: vfat
- name: Reset an xfs filesystem UUID on /dev/sdb1
community.general.filesystem:
fstype: xfs
dev: /dev/sdb1
uuid: generate
- name: Reset an ext4 filesystem UUID on /dev/sdb1
community.general.filesystem:
fstype: ext4
dev: /dev/sdb1
uuid: random
- name: Reset an LVM filesystem (PV) UUID on /dev/sdc
community.general.filesystem:
fstype: lvm
dev: /dev/sdc
uuid: random