Handle config_drive_format option
In order to mount a config drive as CD-ROM the 'genisoimage' package should be explicitly installed on Compute nodes. Change-Id: I197261300ee8c02101b0f3ed9b92bac1006d4ebe
This commit is contained in:
@@ -150,7 +150,7 @@ class nova::compute (
|
|||||||
$compute_manager = 'nova.compute.manager.ComputeManager',
|
$compute_manager = 'nova.compute.manager.ComputeManager',
|
||||||
$heal_instance_info_cache_interval = '60',
|
$heal_instance_info_cache_interval = '60',
|
||||||
$pci_passthrough = undef,
|
$pci_passthrough = undef,
|
||||||
$config_drive_format = undef,
|
$config_drive_format = $::os_service_default,
|
||||||
$allow_resize_to_same_host = false,
|
$allow_resize_to_same_host = false,
|
||||||
$vcpu_pin_set = $::os_service_default,
|
$vcpu_pin_set = $::os_service_default,
|
||||||
# DEPRECATED PARAMETERS
|
# DEPRECATED PARAMETERS
|
||||||
@@ -262,9 +262,14 @@ class nova::compute (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($config_drive_format) {
|
if is_service_default($config_drive_format) or $config_drive_format == 'iso9660' {
|
||||||
|
ensure_packages($::nova::params::genisoimage_package_name, {
|
||||||
|
tag => ['openstack', 'nova-support-package'],
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
nova_config {
|
nova_config {
|
||||||
'DEFAULT/config_drive_format': value => $config_drive_format;
|
'DEFAULT/config_drive_format': value => $config_drive_format;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -29,6 +29,7 @@ class nova::params {
|
|||||||
$sqlite_package_name = undef
|
$sqlite_package_name = undef
|
||||||
$pymysql_package_name = undef
|
$pymysql_package_name = undef
|
||||||
$ceph_client_package_name = 'ceph-common'
|
$ceph_client_package_name = 'ceph-common'
|
||||||
|
$genisoimage_package_name = 'genisoimage'
|
||||||
# service names
|
# service names
|
||||||
$api_service_name = 'openstack-nova-api'
|
$api_service_name = 'openstack-nova-api'
|
||||||
$cells_service_name = 'openstack-nova-cells'
|
$cells_service_name = 'openstack-nova-cells'
|
||||||
@@ -88,6 +89,7 @@ class nova::params {
|
|||||||
$sqlite_package_name = 'python-pysqlite2'
|
$sqlite_package_name = 'python-pysqlite2'
|
||||||
$pymysql_package_name = 'python-pymysql'
|
$pymysql_package_name = 'python-pymysql'
|
||||||
$ceph_client_package_name = 'ceph'
|
$ceph_client_package_name = 'ceph'
|
||||||
|
$genisoimage_package_name = 'genisoimage'
|
||||||
# service names
|
# service names
|
||||||
$api_service_name = 'nova-api'
|
$api_service_name = 'nova-api'
|
||||||
$cells_service_name = 'nova-cells'
|
$cells_service_name = 'nova-cells'
|
||||||
|
@@ -43,6 +43,15 @@ describe 'nova::compute' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it { is_expected.to contain_nova_config('DEFAULT/heal_instance_info_cache_interval').with_value('60') }
|
it { is_expected.to contain_nova_config('DEFAULT/heal_instance_info_cache_interval').with_value('60') }
|
||||||
|
|
||||||
|
it 'installs genisoimage package and sets config_drive_format' do
|
||||||
|
is_expected.to contain_nova_config('DEFAULT/config_drive_format').with(:value => '<SERVICE DEFAULT>')
|
||||||
|
is_expected.to contain_package('genisoimage').with(
|
||||||
|
:ensure => 'present',
|
||||||
|
)
|
||||||
|
is_expected.to contain_package('genisoimage').that_requires('Anchor[nova::install::begin]')
|
||||||
|
is_expected.to contain_package('genisoimage').that_comes_before('Anchor[nova::install::end]')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with overridden parameters' do
|
context 'with overridden parameters' do
|
||||||
@@ -116,6 +125,9 @@ describe 'nova::compute' do
|
|||||||
end
|
end
|
||||||
it 'configures nova config_drive_format to vfat' do
|
it 'configures nova config_drive_format to vfat' do
|
||||||
is_expected.to contain_nova_config('DEFAULT/config_drive_format').with_value('vfat')
|
is_expected.to contain_nova_config('DEFAULT/config_drive_format').with_value('vfat')
|
||||||
|
is_expected.to_not contain_package('genisoimage').with(
|
||||||
|
:ensure => 'present',
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user