diff options
Diffstat (limited to 'manifests/profile/base/nova/compute.pp')
-rw-r--r-- | manifests/profile/base/nova/compute.pp | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/manifests/profile/base/nova/compute.pp b/manifests/profile/base/nova/compute.pp index 579b474..076996a 100644 --- a/manifests/profile/base/nova/compute.pp +++ b/manifests/profile/base/nova/compute.pp @@ -23,8 +23,13 @@ # for more details. # Defaults to hiera('step') # +# [*cinder_nfs_backend*] +# (Optional) Whether or not Cinder is backed by NFS. +# Defaults to hiera('cinder_enable_nfs_backend', false) +# class tripleo::profile::base::nova::compute ( - $step = hiera('step'), + $step = hiera('step'), + $cinder_nfs_backend = hiera('cinder_enable_nfs_backend', false), ) { if $step >= 4 { @@ -33,9 +38,36 @@ class tripleo::profile::base::nova::compute ( # deploy basic bits for nova-compute include ::nova::compute + # If Service['nova-conductor'] is in catalog, make sure we start it + # before nova-compute. + Service<| title == 'nova-conductor' |> -> Service['nova-compute'] # deploy bits to connect nova compute to neutron include ::nova::network::neutron + + # When utilising images for deployment, we need to reset the iSCSI initiator name to make it unique + # https://bugzilla.redhat.com/show_bug.cgi?id=1244328 + exec { 'reset-iscsi-initiator-name': + command => '/bin/echo InitiatorName=$(/usr/sbin/iscsi-iname) > /etc/iscsi/initiatorname.iscsi', + onlyif => '/usr/bin/test ! -f /etc/iscsi/.initiator_reset', + before => File['/etc/iscsi/.initiator_reset'], + } + file { '/etc/iscsi/.initiator_reset': + ensure => present, + } + } + + # If NFS is used as a Cinder backend + if $cinder_nfs_backend { + ensure_packages('nfs-utils', { ensure => present }) + Package['nfs-utils'] -> Service['nova-compute'] + if str2bool($::selinux) { + selboolean { 'virt_use_nfs': + value => on, + persistent => true, + } + Selboolean['virt_use_nfs'] -> Package['nfs-utils'] + } } } |