class dsa_lvm { case $::cluster { default: { case $::hostname { 'csail-node01','csail-node02': { $conffile = 'lvm-csail-nodeX-ganeti.conf' } 'grnet-node01','grnet-node02': { $conffile = 'lvm-grnet-nodeX-ganeti.conf' } 'prokofiev': { $conffile = 'lvm-prokofiev.conf' } 'conova-node01','conova-node02': { $conffile = 'lvm-conova-ganeti.conf' } 'pieta', 'pijper': { $conffile = 'lvm-osuosl-ganeti2.conf' } 'ubc-node-arm01','ubc-node-arm02','ubc-node-arm03': { $conffile = 'lvm-ubc-ganeti3.conf' } default: { $conffile = '' } } } } if $conffile != '' { package { 'lvm2': ensure => installed, } file { '/etc/lvm/lvm.conf': ensure => file, source => "puppet:///modules/dsa_lvm/${conffile}", } } }