diff --git a/puppet-manifests/src/manifests/worker.pp b/puppet-manifests/src/manifests/worker.pp index 98d214302..3de509d46 100644 --- a/puppet-manifests/src/manifests/worker.pp +++ b/puppet-manifests/src/manifests/worker.pp @@ -37,6 +37,7 @@ include ::platform::multipath include ::platform::client include ::platform::ceph::worker include ::platform::worker::storage +include ::platform::pciirqaffinity class { '::platform::config::worker::post': stage => post, diff --git a/puppet-manifests/src/modules/platform/manifests/pciirqaffinity.pp b/puppet-manifests/src/modules/platform/manifests/pciirqaffinity.pp new file mode 100644 index 000000000..646c058b8 --- /dev/null +++ b/puppet-manifests/src/modules/platform/manifests/pciirqaffinity.pp @@ -0,0 +1,44 @@ +# +# Copyright (c) 2019 StarlingX. +# +# SPDX-License-Identifier: Apache-2.0 +# +class platform::pciirqaffinity::params ( + $openstack_enabled, + $openstack_auth_host, + $openstack_user_domain, + $openstack_project_domain, + $openstack_keyring_service, + $rabbit_host, + $rabbit_port, + $rabbit_userid, + $rabbit_password, + $rabbit_virtual_host, +) {} + + +class platform::pciirqaffinity + inherits ::platform::pciirqaffinity::params { + + file { '/etc/pci_irq_affinity/config.ini': + ensure => 'present', + replace => true, + content => template('platform/pci-irq-affinity.conf.erb'), + } +} + + +class platform::pciirqaffinity::reload { + exec {'restart-pciirqaffinity-service': + command => 'systemctl restart pci-irq-affinity-agent.service', + } +} + + +class platform::pciirqaffinity::runtime { + include ::platform::pciirqaffinity + + class {'::platform::pciirqaffinity::reload': + stage => post + } +} diff --git a/puppet-manifests/src/modules/platform/templates/pci-irq-affinity.conf.erb b/puppet-manifests/src/modules/platform/templates/pci-irq-affinity.conf.erb new file mode 100644 index 000000000..9b4a435cd --- /dev/null +++ b/puppet-manifests/src/modules/platform/templates/pci-irq-affinity.conf.erb @@ -0,0 +1,26 @@ +# +# Copyright (c) 2019 StarlingX. +# +# SPDX-License-Identifier: Apache-2.0 +# +[openstack] +openstack_enabled=<%= @openstack_enabled %> +<% if @openstack_enabled -%> +username=admin +tenant=admin +authorization_protocol=http +authorization_ip=<%= @openstack_auth_host %> +authorization_port=5000 +user_domain_name=<%= @openstack_user_domain %> +project_domain_name=<%= @openstack_project_domain %> +project_name=admin +keyring_service=<%= @openstack_keyring_service %> +auth_url=http://keystone.openstack.svc.cluster.local/v3 + +[amqp] +host=<%= @rabbit_host %> +port=<%= @rabbit_port %> +user_id=<%= @rabbit_userid %> +password=<%= @rabbit_password %> +virt_host=<%= @rabbit_virtual_host %> +<% end -%>