community.general.parted (0.2.1) — module

Configure block device partitions

Authors: Fabrizio Colonna (@ColOfAbRiX)

Install collection

Install with ansible-galaxy collection install community.general:==0.2.1


Add to requirements.yml

  collections:
    - name: community.general
      version: 0.2.1

Description

This module allows configuring block device partition using the C(parted) command line tool. For a full description of the fields and the options check the GNU parted manual.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a new ext4 primary partition
  parted:
    device: /dev/sdb
    number: 1
    state: present
    fs_type: ext4
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Remove partition number 1
  parted:
    device: /dev/sdb
    number: 1
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a new primary partition with a size of 1GiB
  parted:
    device: /dev/sdb
    number: 1
    state: present
    part_end: 1GiB
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a new primary partition for LVM
  parted:
    device: /dev/sdb
    number: 2
    flags: [ lvm ]
    state: present
    part_start: 1GiB
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Example on how to read info and reuse it in subsequent task
- name: Read device information (always use unit when probing)
  parted: device=/dev/sdb unit=MiB
  register: sdb_info
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Remove all partitions from disk
  parted:
    device: /dev/sdb
    number: '{{ item.num }}'
    state: absent
  loop: '{{ sdb_info.partitions }}'

Inputs

    
name:
    description:
    - Sets the name for the partition number (GPT, Mac, MIPS and PC98 only).
    type: str

unit:
    choices:
    - s
    - B
    - KB
    - KiB
    - MB
    - MiB
    - GB
    - GiB
    - TB
    - TiB
    - '%'
    - cyl
    - chs
    - compact
    default: KiB
    description:
    - Selects the current default unit that Parted will use to display locations and capacities
      on the disk and to interpret those given by the user if they are not suffixed by
      an unit.
    - When fetching information about a disk, it is always recommended to specify a unit.
    type: str

align:
    choices:
    - cylinder
    - minimal
    - none
    - optimal
    - undefined
    default: optimal
    description: Set alignment for newly created partitions. Use 'undefined' for parted
      default aligment.
    type: str

flags:
    description: A list of the flags that has to be set on the partition.
    type: list

label:
    choices:
    - aix
    - amiga
    - bsd
    - dvh
    - gpt
    - loop
    - mac
    - msdos
    - pc98
    - sun
    default: msdos
    description:
    - Disk label type to use.
    - If C(device) already contains different label, it will be changed to C(label) and
      any previous partitions will be lost.
    type: str

state:
    choices:
    - absent
    - present
    - info
    default: info
    description:
    - Whether to create or delete a partition.
    - If set to C(info) the module will only return the device information.
    type: str

device:
    description: The block device (disk) where to operate.
    required: true
    type: str

number:
    description:
    - The number of the partition to work with or the number of the partition that will
      be created.
    - Required when performing any action on the disk, except fetching information.
    type: int

fs_type:
    description:
    - If specified and the partition does not exist, will set filesystem type to given
      partition.
    type: str
    version_added: 0.2.0
    version_added_collection: community.general

part_end:
    default: 100%
    description:
    - Where the partition will end as offset from the beginning of the disk, that is,
      the "distance" from the start of the disk.
    - The distance can be specified with all the units supported by parted (except compat)
      and it is case sensitive, e.g. C(10GiB), C(15%).
    type: str

part_type:
    choices:
    - extended
    - logical
    - primary
    default: primary
    description:
    - May be specified only with 'msdos' or 'dvh' partition tables.
    - A C(name) must be specified for a 'gpt' partition table.
    - Neither C(part_type) nor C(name) may be used with a 'sun' partition table.
    type: str

part_start:
    default: 0%
    description:
    - Where the partition will start as offset from the beginning of the disk, that is,
      the "distance" from the start of the disk.
    - The distance can be specified with all the units supported by parted (except compat)
      and it is case sensitive, e.g. C(10GiB), C(15%).
    type: str

Outputs

partition_info:
  contains:
    disk:
      description: Generic device information.
      type: dict
    partitions:
      description: List of device partitions.
      type: list
    script:
      description: parted script executed by module
      type: str
  description: Current partition information
  returned: success
  sample:
    disk:
      dev: /dev/sdb
      logical_block: 512
      model: VMware Virtual disk
      physical_block: 512
      size: 5.0
      table: msdos
      unit: gib
    partitions:
    - begin: 0.0
      end: 1.0
      flags:
      - boot
      - lvm
      fstype: ''
      name: ''
      num: 1
      size: 1.0
    - begin: 1.0
      end: 5.0
      flags: []
      fstype: ''
      name: ''
      num: 2
      size: 4.0
    script: 'unit KiB print '
  type: complex