salt.modules.parted

Module for managing partitions on POSIX-like systems.

Some functions may not be available, depending on your version of parted.

Check the manpage for parted(8) for more information, or the online docs at:

http://www.gnu.org/software/parted/manual/html_chapter/parted_2.html

In light of parted not directly supporting partition IDs, some of this module has been written to utilize sfdisk instead. For further information, please reference the man page for sfdisk(8).

salt.modules.parted.align_check(device, part_type, partition)

partition.align_check device part_type partition

Check if partition satisfies the alignment constraint of part_type. Type must be "minimal" or "optimal".

CLI Example:

salt '*' partition.align_check /dev/sda minimal 1
salt.modules.parted.check(device, minor)

partition.check device minor

Checks if the file system on partition <minor> has any errors.

CLI Example:

salt '*' partition.check 1
salt.modules.parted.cp(device, from_minor, to_minor)

partition.check device from_minor to_minor

Copies the file system on the partition <from-minor> to partition
<to-minor>, deleting the original contents of the destination partition.

CLI Example:

salt '*' partition.cp /dev/sda 2 3
salt.modules.parted.get_id(device, minor)

Prints the system ID for the partition. Some typical values are:

 b: FAT32 (vfat)
 7: HPFS/NTFS
82: Linux Swap
83: Linux
8e: Linux LVM
fd: Linux RAID Auto

CLI Example:

salt '*' partition.get_id /dev/sda 1
salt.modules.parted.mkfs(device, fs_type)

partition.mkfs device fs_type

Makes a file system <fs_type> on partition <device>, destroying all data
that resides on that partition. <fs_type> must be one of "ext2", "fat32", "fat16", "linux-swap" or "reiserfs" (if libreiserfs is installed)

CLI Example:

salt '*' partition.mkfs /dev/sda2 fat32
salt.modules.parted.mklabel(device, label_type)

partition.mklabel device label_type

Create a new disklabel (partition table) of label_type. Type should be one of "aix", "amiga", "bsd", "dvh", "gpt", "loop", "mac", "msdos", "pc98", or "sun".

CLI Example:

salt '*' partition.mklabel /dev/sda msdos
salt.modules.parted.mkpart(device, part_type, fs_type, start, end)

partition.mkpart device part_type fs_type start end

Make a part_type partition for filesystem fs_type, beginning at start and
ending at end (by default in megabytes). part_type should be one of "primary", "logical", or "extended".

CLI Example:

salt '*' partition.mkpart /dev/sda primary fat32 0 639
salt.modules.parted.mkpartfs(device, part_type, fs_type, start, end)

partition.mkpartfs device part_type fs_type start end

Make a <part_type> partition with a new filesystem of <fs_type>, beginning
at <start> and ending at <end> (by default in megabytes). <part_type> should be one of "primary", "logical", or "extended". <fs_type> must be one of "ext2", "fat32", "fat16", "linux-swap" or "reiserfs" (if libreiserfs is installed)

CLI Example:

salt '*' partition.mkpartfs /dev/sda logical ext2 440 670
salt.modules.parted.name(device, partition, name)

partition.name device partition name

Set the name of partition to name. This option works only on Mac, PC98,
and GPT disklabels. The name can be placed in quotes, if necessary.

CLI Example:

salt '*' partition.name /dev/sda 1 'My Documents'
salt.modules.parted.part_list(device, unit=None)

partition.part_list device unit

Prints partition information of given <device>

CLI Examples:

salt '*' partition.part_list /dev/sda
salt '*' partition.part_list /dev/sda unit=s
salt '*' partition.part_list /dev/sda unit=kB
salt.modules.parted.probe(device='')

Ask the kernel to update its local partition data

CLI Examples:

salt '*' partition.probe
salt '*' partition.probe /dev/sda
salt.modules.parted.rescue(device, start, end)

partition.rescue device start end

Rescue a lost partition that was located somewhere between start and end.
If a partition is found, parted will ask if you want to create an entry for it in the partition table.

CLI Example:

salt '*' partition.rescue /dev/sda 0 8056
salt.modules.parted.resize(device, minor, start, end)

partition.resize device minor, start, end

Resizes the partition with number <minor>. The partition will start <start>
from the beginning of the disk, and end <end> from the beginning of the disk. resize never changes the minor number. Extended partitions can be resized, so long as the new extended partition completely contains all logical partitions.

CLI Example:

salt '*' partition.resize /dev/sda 3 200 850
salt.modules.parted.rm(device, minor)

partition.rm device minor

Removes the partition with number <minor>.

CLI Example:

salt '*' partition.rm /dev/sda 5
salt.modules.parted.set_(device, minor, flag, state)

partition.set device minor flag state

Changes a flag on the partition with number <minor>. A flag can be either
"on" or "off". Some or all of these flags will be available, depending on what disk label you are using.

CLI Example:

salt '*' partition.set /dev/sda 1 boot on
salt.modules.parted.set_id(device, minor, system_id)

Sets the system ID for the partition. Some typical values are:

 b: FAT32 (vfat)
 7: HPFS/NTFS
82: Linux Swap
83: Linux
8e: Linux LVM
fd: Linux RAID Auto

CLI Example:

salt '*' partition.set_id /dev/sda 1 83
salt.modules.parted.toggle(device, partition, flag)

partition.toggle device partition flag

Toggle the state of <flag> on <partition>

CLI Example:

salt '*' partition.name /dev/sda 1 boot