salt.states.zfs
States for managing zfs datasets
- maintainer
-
Jorge Schrauwen <sjorge@blackdot.be>
- maturity
-
new
- depends
-
salt.utils.zfs, salt.modules.zfs
- platform
-
smartos, illumos, solaris, freebsd, linux
New in version 2016.3.0.
Changed in version 2018.3.1: Big refactor to remove duplicate code, better type conversions and improved consistency in output.
test/shares/yuki: zfs.filesystem_present: - create_parent: true - properties: quota: 16G test/iscsi/haruhi: zfs.volume_present: - create_parent: true - volume_size: 16M - sparse: true - properties: readonly: on test/shares/yuki@frozen: zfs.snapshot_present moka_origin: zfs.hold_present: - snapshot: test/shares/yuki@frozen test/shares/moka: zfs.filesystem_present: - cloned_from: test/shares/yuki@frozen test/shares/moka@tsukune: zfs.snapshot_absent
-
ensure bookmark is absent on the system
- namestring
-
name of snapshot
- forceboolean
-
try harder to destroy the dataset (zfs destroy -f)
- recursiveboolean
-
also destroy all the child datasets (zfs destroy -r)
salt.states.zfs.bookmark_absent(name, force=False, recursive=False)
-
ensure bookmark exists
- namestring
-
name of bookmark
- snapshotstring
-
name of snapshot
salt.states.zfs.bookmark_present(name, snapshot)
-
ensure filesystem is absent on the system
- namestring
-
name of filesystem
- forceboolean
-
try harder to destroy the dataset (zfs destroy -f)
- recursiveboolean
-
also destroy all the child datasets (zfs destroy -r)
Warning
If a volume with
name
exists, this state will succeed without destroying the volume specified byname
. This module is dataset type sensitive.
salt.states.zfs.filesystem_absent(name, force=False, recursive=False)
-
ensure filesystem exists and has properties set
- namestring
-
name of filesystem
- create_parentboolean
-
creates all the non-existing parent datasets. any property specified on the command line using the -o option is ignored.
- cloned_fromstring
-
name of snapshot to clone
- propertiesdict
-
additional zfs properties (-o)
Note
cloned_from
is only use if the filesystem does not exist yet, whencloned_from
is set after the filesystem exists it will be ignored.Note
Properties do not get cloned, if you specify the properties in the state file they will be applied on a subsequent run.
salt.states.zfs.filesystem_present(name, create_parent=False, properties=None, cloned_from=None)
-
ensure hold is absent on the system
- namestring
-
name of hold
- snapshotstring
-
name of snapshot
- recursiveboolean
-
recursively releases a hold with the given tag on the snapshots of all descendent file systems.
salt.states.zfs.hold_absent(name, snapshot, recursive=False)
-
ensure hold is present on the system
- namestring
-
name of holdt
- snapshotstring
-
name of snapshot
- recursiveboolean
-
recursively add hold with the given tag on the snapshots of all descendent file systems.
salt.states.zfs.hold_present(name, snapshot, recursive=False)
-
ensure a dataset is not a clone
- namestring
-
name of fileset or volume
Warning
only one dataset can be the origin, if you promote a clone the original will now point to the promoted dataset
salt.states.zfs.promoted(name)
-
maintain a set of snapshots based on a schedule
- namestring
-
name of filesystem or volume
- prefixstring
-
prefix for the snapshots e.g. 'test' will result in snapshots being named 'test-yyyymmdd_hhmm'
- recursiveboolean
-
create snapshots for all children also
- scheduledict
-
dict holding the schedule, the following keys are available (minute, hour, day, month, and year) by default all are set to 0 the value indicated the number of snapshots of that type to keep around.
Warning
snapshots will only be created and pruned every time the state runs. a schedule must be setup to automatically run the state. this means that if you run the state daily the hourly snapshot will only be made once per day!
Changed in version 2018.3.0: switched to localtime from gmtime so times now take into account timezones.
salt.states.zfs.scheduled_snapshot(name, prefix, recursive=True, schedule=None)
-
ensure snapshot is absent on the system
- namestring
-
name of snapshot
- forceboolean
-
try harder to destroy the dataset (zfs destroy -f)
- recursiveboolean
-
also destroy all the child datasets (zfs destroy -r)
salt.states.zfs.snapshot_absent(name, force=False, recursive=False)
-
ensure snapshot exists and has properties set
- namestring
-
name of snapshot
- recursiveboolean
-
recursively create snapshots of all descendent datasets
- propertiesdict
-
additional zfs properties (-o)
salt.states.zfs.snapshot_present(name, recursive=False, properties=None)
-
ensure volume is absent on the system
- namestring
-
name of volume
- forceboolean
-
try harder to destroy the dataset (zfs destroy -f)
- recursiveboolean
-
also destroy all the child datasets (zfs destroy -r)
Warning
If a filesystem with
name
exists, this state will succeed without destroying the filesystem specified byname
. This module is dataset type sensitive.
salt.states.zfs.volume_absent(name, force=False, recursive=False)
-
ensure volume exists and has properties set
- namestring
-
name of volume
- volume_sizestring
-
size of volume
- sparseboolean
-
create sparse volume
- create_parentboolean
-
creates all the non-existing parent datasets. any property specified on the command line using the -o option is ignored.
- cloned_fromstring
-
name of snapshot to clone
- propertiesdict
-
additional zfs properties (-o)
Note
cloned_from
is only use if the volume does not exist yet, whencloned_from
is set after the volume exists it will be ignored.Note
Properties do not get cloned, if you specify the properties in the state file they will be applied on a subsequent run.
volume_size
is considered a property, so the volume's size will be corrected when the properties get updated if it differs from the original volume.The sparse parameter is ignored when using
cloned_from
.
salt.states.zfs.volume_present(name, volume_size, sparse=False, create_parent=False, properties=None, cloned_from=None)
© 2021 SaltStack.
Licensed under the Apache License, Version 2.0.
https://docs.saltproject.io/en/latest/ref/states/all/salt.states.zfs.html