parent
de6045357d
commit
0e9ea0d43a
@ -43,6 +43,11 @@
|
|||||||
# Required when nfs_enabled is at true.
|
# Required when nfs_enabled is at true.
|
||||||
# Defaults to false
|
# Defaults to false
|
||||||
#
|
#
|
||||||
|
# [*nfs_options*]
|
||||||
|
# (optional) NFS mount options
|
||||||
|
# Example: 'nfsvers=3,noacl'
|
||||||
|
# Defaults to 'defaults'
|
||||||
|
#
|
||||||
# [*filesystem_store_datadir*]
|
# [*filesystem_store_datadir*]
|
||||||
# (optional) Full path of data directory to store the instances.
|
# (optional) Full path of data directory to store the instances.
|
||||||
# Don't modify this parameter if you don't know what you do.
|
# Don't modify this parameter if you don't know what you do.
|
||||||
@ -74,6 +79,7 @@ class cloud::compute::hypervisor(
|
|||||||
# when using NFS storage backend
|
# when using NFS storage backend
|
||||||
$nfs_enabled = false,
|
$nfs_enabled = false,
|
||||||
$nfs_device = false,
|
$nfs_device = false,
|
||||||
|
$nfs_options = 'defaults',
|
||||||
$filesystem_store_datadir = '/var/lib/nova/instances',
|
$filesystem_store_datadir = '/var/lib/nova/instances',
|
||||||
# set to false to keep backward compatibility
|
# set to false to keep backward compatibility
|
||||||
$ks_spice_public_proto = false,
|
$ks_spice_public_proto = false,
|
||||||
@ -121,14 +127,15 @@ class cloud::compute::hypervisor(
|
|||||||
nova_config { 'DEFAULT/instances_path': value => $filesystem_store_datadir; }
|
nova_config { 'DEFAULT/instances_path': value => $filesystem_store_datadir; }
|
||||||
$nfs_mount = {
|
$nfs_mount = {
|
||||||
"${filesystem_store_datadir}" => {
|
"${filesystem_store_datadir}" => {
|
||||||
'ensure' => 'present',
|
'ensure' => 'present',
|
||||||
'fstype' => 'nfs',
|
'fstype' => 'nfs',
|
||||||
'device' => $nfs_device
|
'device' => $nfs_device,
|
||||||
|
'options' => $nfs_options
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ensure_resource('class', 'nfs', {
|
ensure_resource('class', 'nfs', {})
|
||||||
mounts => $nfs_mount
|
create_resources('types::mount', $nfs_mount)
|
||||||
})
|
|
||||||
# Not using /var/lib/nova/instances may cause side effects.
|
# Not using /var/lib/nova/instances may cause side effects.
|
||||||
if $filesystem_store_datadir != '/var/lib/nova/instances' {
|
if $filesystem_store_datadir != '/var/lib/nova/instances' {
|
||||||
warning('filesystem_store_datadir is not /var/lib/nova/instances so you may have side effects (SElinux, etc)')
|
warning('filesystem_store_datadir is not /var/lib/nova/instances so you may have side effects (SElinux, etc)')
|
||||||
|
@ -78,6 +78,11 @@
|
|||||||
# Required when running 'nfs' backend.
|
# Required when running 'nfs' backend.
|
||||||
# Defaults to false
|
# Defaults to false
|
||||||
#
|
#
|
||||||
|
# [*nfs_options*]
|
||||||
|
# (optional) NFS mount options
|
||||||
|
# Example: 'nfsvers=3,noacl'
|
||||||
|
# Defaults to 'defaults'
|
||||||
|
#
|
||||||
class cloud::image::api(
|
class cloud::image::api(
|
||||||
$glance_db_host = '127.0.0.1',
|
$glance_db_host = '127.0.0.1',
|
||||||
$glance_db_user = 'glance',
|
$glance_db_user = 'glance',
|
||||||
@ -102,6 +107,7 @@ class cloud::image::api(
|
|||||||
$backend = 'rbd',
|
$backend = 'rbd',
|
||||||
$filesystem_store_datadir = undef,
|
$filesystem_store_datadir = undef,
|
||||||
$nfs_device = false,
|
$nfs_device = false,
|
||||||
|
$nfs_options = 'defaults',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
# Disable twice logging if syslog is enabled
|
# Disable twice logging if syslog is enabled
|
||||||
@ -187,14 +193,14 @@ class cloud::image::api(
|
|||||||
}
|
}
|
||||||
$nfs_mount = {
|
$nfs_mount = {
|
||||||
"${filesystem_store_datadir}" => {
|
"${filesystem_store_datadir}" => {
|
||||||
'ensure' => 'present',
|
'ensure' => 'present',
|
||||||
'fstype' => 'nfs',
|
'fstype' => 'nfs',
|
||||||
'device' => $nfs_device
|
'device' => $nfs_device,
|
||||||
|
'options' => $nfs_options
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ensure_resource('class', 'nfs', {
|
ensure_resource('class', 'nfs', {})
|
||||||
mounts => $nfs_mount
|
create_resources('types::mount', $nfs_mount)
|
||||||
})
|
|
||||||
} else {
|
} else {
|
||||||
fail('When running NFS backend, you need to provide nfs_device parameter.')
|
fail('When running NFS backend, you need to provide nfs_device parameter.')
|
||||||
}
|
}
|
||||||
|
@ -494,14 +494,16 @@ describe 'cloud::compute::hypervisor' do
|
|||||||
before :each do
|
before :each do
|
||||||
params.merge!(
|
params.merge!(
|
||||||
:nfs_enabled => true,
|
:nfs_enabled => true,
|
||||||
:nfs_device => 'nfs.example.com:/vol1' )
|
:nfs_device => 'nfs.example.com:/vol1',
|
||||||
|
:nfs_options => 'noacl,fsid=123' )
|
||||||
end
|
end
|
||||||
it 'configure nova instances path and NFS mount' do
|
it 'configure nova instances path and NFS mount' do
|
||||||
is_expected.to contain_nova_config('DEFAULT/instances_path').with('value' => '/var/lib/nova/instances')
|
is_expected.to contain_nova_config('DEFAULT/instances_path').with('value' => '/var/lib/nova/instances')
|
||||||
is_expected.to contain_mount('/var/lib/nova/instances').with({
|
is_expected.to contain_mount('/var/lib/nova/instances').with({
|
||||||
'ensure' => 'present',
|
'ensure' => 'present',
|
||||||
'fstype' => 'nfs',
|
'fstype' => 'nfs',
|
||||||
'device' => 'nfs.example.com:/vol1',
|
'device' => 'nfs.example.com:/vol1',
|
||||||
|
'options' => 'noacl,fsid=123'
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -110,7 +110,8 @@ describe 'cloud::image::api' do
|
|||||||
before :each do
|
before :each do
|
||||||
params.merge!(:backend => 'nfs',
|
params.merge!(:backend => 'nfs',
|
||||||
:filesystem_store_datadir => '/srv/images/',
|
:filesystem_store_datadir => '/srv/images/',
|
||||||
:nfs_device => 'nfs.example.com:/vol1' )
|
:nfs_device => 'nfs.example.com:/vol1',
|
||||||
|
:nfs_options => 'noacl,fsid=123' )
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'configure Glance with NFS backend' do
|
it 'configure Glance with NFS backend' do
|
||||||
@ -119,9 +120,10 @@ describe 'cloud::image::api' do
|
|||||||
is_expected.to contain_glance_api_config('DEFAULT/filesystem_store_datadir').with('value' => '/srv/images/')
|
is_expected.to contain_glance_api_config('DEFAULT/filesystem_store_datadir').with('value' => '/srv/images/')
|
||||||
is_expected.to contain_glance_api_config('DEFAULT/default_store').with('value' => 'file')
|
is_expected.to contain_glance_api_config('DEFAULT/default_store').with('value' => 'file')
|
||||||
is_expected.to contain_mount('/srv/images/').with({
|
is_expected.to contain_mount('/srv/images/').with({
|
||||||
'ensure' => 'present',
|
'ensure' => 'present',
|
||||||
'fstype' => 'nfs',
|
'fstype' => 'nfs',
|
||||||
'device' => 'nfs.example.com:/vol1',
|
'device' => 'nfs.example.com:/vol1',
|
||||||
|
'options' => 'noacl,fsid=123',
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user