diff --git a/puppet-manifests/src/manifests/controller.pp b/puppet-manifests/src/manifests/controller.pp index 7b8e785f8..832507c3e 100644 --- a/puppet-manifests/src/manifests/controller.pp +++ b/puppet-manifests/src/manifests/controller.pp @@ -100,6 +100,8 @@ include ::openstack::barbican::api include ::platform::sm +include ::platform::lmon + class { '::platform::config::controller::post': stage => post, } diff --git a/puppet-manifests/src/manifests/worker.pp b/puppet-manifests/src/manifests/worker.pp index 3de509d46..d7d2b837b 100644 --- a/puppet-manifests/src/manifests/worker.pp +++ b/puppet-manifests/src/manifests/worker.pp @@ -38,6 +38,7 @@ include ::platform::client include ::platform::ceph::worker include ::platform::worker::storage include ::platform::pciirqaffinity +include ::platform::lmon class { '::platform::config::worker::post': stage => post, diff --git a/puppet-manifests/src/modules/platform/manifests/lmon.pp b/puppet-manifests/src/modules/platform/manifests/lmon.pp new file mode 100644 index 000000000..8ae5cee5a --- /dev/null +++ b/puppet-manifests/src/modules/platform/manifests/lmon.pp @@ -0,0 +1,42 @@ +class platform::lmon::params( + $data_iface_devices = [], +) { } + +class platform::lmon + inherits ::platform::lmon::params { + + include ::platform::params + include ::platform::network::mgmt::params + include ::platform::network::oam::params + include ::platform::network::cluster_host::params + include ::platform::kubernetes::params + + # dependent template variables + $management_interface = $::platform::network::mgmt::params::interface_name + $cluster_host_interface = $::platform::network::cluster_host::params::interface_name + $oam_interface = $::platform::network::oam::params::interface_name + $host_labels = $::platform::kubernetes::params::host_labels + + $data_interface = length($data_iface_devices) > 0 + and !('openstack-compute-node' + in $host_labels) + $data_interface_str = join($data_iface_devices,',') + + $lmon_conf = '/etc/lmon/lmon.conf' + + file { '/etc/lmon': + ensure => directory, + owner => 'root', + group => 'root', + mode => '0755', + } + + file { $lmon_conf: + ensure => present, + content => template('platform/lmon.conf.erb'), + owner => 'root', + group => 'root', + mode => '0644', + } + +} diff --git a/puppet-manifests/src/modules/platform/templates/lmon.conf.erb b/puppet-manifests/src/modules/platform/templates/lmon.conf.erb new file mode 100644 index 000000000..86b58c63e --- /dev/null +++ b/puppet-manifests/src/modules/platform/templates/lmon.conf.erb @@ -0,0 +1,20 @@ +<%- if @management_interface -%> +management_interface=<%= @management_interface %> +<%- else -%> +management_interface= +<%- end -%> +<%- if @cluster_host_interface -%> +cluster_host_interface=<%= @cluster_host_interface %> +<%- else -%> +cluster_host_interface= +<%- end -%> +<%- if @oam_interface -%> +oam_interface=<%= @oam_interface %> +<%- else -%> +oam_interface= +<%- end -%> +<%- if @data_interface == true -%> +data_network_interface=<%= @data_interface_str %> +<%- else -%> +data_network_interface= +<%- end -%> \ No newline at end of file