37 lines
955 B
ObjectPascal
Raw Normal View History

# follow the instructions for creating a loopback device
# for storage from: http://swift.openstack.org/development_saio.html
#
#
#
# this define needs to be sent a refresh signal to do anything
#
#
# [*title*]
#
# [*byte_size*] Byte size to use for every inode in the created filesystem.
# It is recommened to use 1024 to ensure that the metadata can fit in a single inode.
define swift::storage::ext4(
$device,
$byte_size = '1024',
$mnt_base_dir = '/srv/node',
$loopback = false
) {
# does this have to be refreshonly?
# how can I know if this drive has been formatted?
exec { "mkfs-${name}":
command => "mkfs.ext4 -I ${byte_size} -F ${device}",
path => ['/sbin/'],
refreshonly => true,
}
swift::storage::mount { $name:
device => $device,
mnt_base_dir => $mnt_base_dir,
subscribe => Exec["mkfs-${name}"],
loopback => $loopback,
fstype => 'ext4',
}
}