1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
# == Class: manila::setup_test_volume
#
# Setup a volume group on a loop device for test purposes.
#
# === Parameters
#
# [*volume_name*]
# (Optional) Volume group name.
# Defaults to 'lvm-shares'.
#
# [*size*]
# (Optional) Volume group size.
# Defaults to '4G'.
#
# [*loopback_device*]
# (Optional) Loop device name.
# Defaults to '/dev/loop2'.
#
# [*volume_path*]
# (Optional) Volume image location.
# Defaults to '/var/lib/manila'.
#
class manila::setup_test_volume(
String[1] $volume_name = 'lvm-shares',
Stdlib::Absolutepath $volume_path = '/var/lib/manila',
$size = '4G',
$loopback_device = '/dev/loop2'
) {
include manila::deps
ensure_packages ( 'lvm2', {
ensure => present,
})
Package<| title == 'lvm2' |> { tag +> 'manila-support-package' }
exec { "create_${volume_path}/${volume_name}":
command => "dd if=/dev/zero of=\"${volume_path}/${volume_name}\" bs=1 count=0 seek=${size}",
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
unless => "stat ${volume_path}/${volume_name}",
require => Anchor['manila::install::end'],
subscribe => Package['lvm2']
}
~> file { "${volume_path}/${volume_name}":
mode => '0640',
}
~> exec { "losetup ${loopback_device} ${volume_path}/${volume_name}":
command => "losetup ${loopback_device} ${volume_path}/${volume_name} && udevadm settle",
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
unless => "losetup ${loopback_device}",
refreshonly => true,
}
~> exec { "pvcreate ${loopback_device}":
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
unless => "pvs ${loopback_device}",
refreshonly => true,
}
~> exec { "vgcreate ${volume_name} ${loopback_device}":
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
unless => "vgs ${volume_name}",
refreshonly => true,
}
-> Anchor['manila::service::begin']
}
|