#cloud-config # Cloud-init supports the creation of simple partition tables and filesystems # on devices. # Default disk definitions for AWS # -------------------------------- # (Not implemented yet, but provided for future documentation) disk_setup: ephemeral0: table_type: 'mbr' layout: True overwrite: False fs_setup: - label: None, filesystem: ext3 device: ephemeral0 partition: auto # Default disk definitions for Microsoft Azure # ------------------------------------------ device_aliases: {'ephemeral0': '/dev/sdb'} disk_setup: ephemeral0: table_type: mbr layout: True overwrite: False fs_setup: - label: ephemeral0 filesystem: ext4 device: ephemeral0.1 replace_fs: ntfs # Data disks definitions for Microsoft Azure # ------------------------------------------ disk_setup: /dev/disk/azure/scsi1/lun0: table_type: gpt layout: True overwrite: True fs_setup: - device: /dev/disk/azure/scsi1/lun0 partition: 1 filesystem: ext4 # Default disk definitions for SmartOS # ------------------------------------ device_aliases: {'ephemeral0': '/dev/vdb'} disk_setup: ephemeral0: table_type: mbr layout: False overwrite: False fs_setup: - label: ephemeral0 filesystem: ext4 device: ephemeral0.0 # Caveat for SmartOS: if ephemeral disk is not defined, then the disk will # not be automatically added to the mounts. # The default definition is used to make sure that the ephemeral storage is # setup properly. # "disk_setup": disk partitioning # -------------------------------- # The disk_setup directive instructs Cloud-init to partition a disk. The format is: disk_setup: ephemeral0: table_type: 'mbr' layout: true /dev/xvdh: table_type: 'mbr' layout: - 33 - [33, 82] - 33 overwrite: True # The format is a list of dicts of dicts. The first value is the name of the # device and the subsequent values define how to create and layout the # partition. # The general format is: # disk_setup: # : # table_type: 'mbr' # layout: # overwrite: # # Where: # : The name of the device. 'ephemeralX' and 'swap' are special # values which are specific to the cloud. For these devices # Cloud-init will look up what the real devices is and then # use it. # # For other devices, the kernel device name is used. At this # time only simply kernel devices are supported, meaning # that device mapper and other targets may not work. # # Note: At this time, there is no handling or setup of # device mapper targets. # # table_type=: Currently the following are supported: # 'mbr': default and setups a MS-DOS partition table # 'gpt': setups a GPT partition table # # Note: At this time only 'mbr' and 'gpt' partition tables # are allowed. It is anticipated in the future that # we'll also have "RAID" to create a mdadm RAID. # # layout={...}: The device layout. This is a list of values, with the # percentage of disk that partition will take. # Valid options are: # [, [, is the _percentage_ of the disk to use, while # is the numerical value of the partition type. # # The following setups two partitions, with the first # partition having a swap label, taking 1/3 of the disk space # and the remainder being used as the second partition. # /dev/xvdh': # table_type: 'mbr' # layout: # - [33,82] # - 66 # overwrite: True # # When layout is "true" it means single partition the entire # device. # # When layout is "false" it means don't partition or ignore # existing partitioning. # # If layout is set to "true" and overwrite is set to "false", # it will skip partitioning the device without a failure. # # overwrite=: This describes whether to ride with safetys on and # everything holstered. # # 'false' is the default, which means that: # 1. The device will be checked for a partition table # 2. The device will be checked for a filesystem # 3. If either a partition of filesystem is found, then # the operation will be _skipped_. # # 'true' is cowboy mode. There are no checks and things are # done blindly. USE with caution, you can do things you # really, really don't want to do. # # # fs_setup: Setup the filesystem # ------------------------------ # # fs_setup describes the how the filesystems are supposed to look. fs_setup: - label: ephemeral0 filesystem: 'ext3' device: 'ephemeral0' partition: 'auto' - label: mylabl2 filesystem: 'ext4' device: '/dev/xvda1' - cmd: mkfs -t %(filesystem)s -L %(label)s %(device)s label: mylabl3 filesystem: 'btrfs' device: '/dev/xvdh' # The general format is: # fs_setup: # - label: