X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=fuel-plugin-ovsnfv%2Fdeployment_scripts%2Fpuppet%2Fmodules%2Fovsdpdk%2Fmanifests%2Fpostinstall_ovs_dpdk.pp;h=315a3c107eb27d7048a0a775b69c9e5d87aea79c;hb=f782a3b57a8a9cc4ce4093a69baf1cbd121db0f8;hp=4a23a893f8bd88a570dc10aa67f913324c5d5f56;hpb=93f7683a2cd9b8020f8870dfc6b162b3d61c3fd2;p=ovsnfv.git diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp index 4a23a89..315a3c1 100755 --- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp +++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp @@ -1,3 +1,17 @@ +# Copyright (c) 2016 Open Platform for NFV Project, Inc. and its contributors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # == Class ovsdpdk::postinstall_ovs_dpdk # # Postinstall configuration of ovs-dpdk service @@ -6,6 +20,7 @@ class ovsdpdk::postinstall_ovs_dpdk ( $plugin_dir = $::ovsdpdk::params::plugin_dir, $nova_conf = $::ovsdpdk::params::nova_conf, $openvswitch_service_name = $::ovsdpdk::params::openvswitch_service_name, + $ml2_conf = $::ovsdpdk::params::ml2_conf, $ml2_ovs_conf = $::ovsdpdk::params::ml2_ovs_conf, $neutron_l3_conf = $::ovsdpdk::params::neutron_l3_conf, $openvswitch_agent = $::ovsdpdk::params::openvswitch_agent, @@ -15,60 +30,137 @@ class ovsdpdk::postinstall_ovs_dpdk ( package {'crudini': ensure => installed } + # compute node specific changes if $compute == 'True' { - # adapt configuration files - exec {'adapt_nova_conf': - command => "${plugin_dir}/files/set_vcpu_pin.sh ${nova_conf}", - path => ['/usr/bin','/bin'], - user => root, - onlyif => "test -f ${nova_conf}", - require => Package['crudini'], - } - - exec {'adapt_ml2_conf': - command => "sudo crudini --set ${ml2_ovs_conf} ovs datapath_type ${ovs_datapath_type}", - path => ['/usr/bin','/bin'], - user => root, - onlyif => "test -f ${ml2_ovs_conf}", - require => Package['crudini'], - } - - exec {'adapt_neutron_l3': - command => "sudo crudini --set ${neutron_l3_conf} DEFAULT external_network_bridge br-ex", - path => ['/usr/bin','/bin'], - user => root, - onlyif => "test -f ${neutron_l3_conf}", - require => Package['crudini'], - } - - - service {"${openvswitch_service_name}": ensure => 'running' } - - # restart OVS to synchronize ovsdb-server with ovs-vswitchd needed - # due to several new --no-wait entries - exec {'restart_ovs': - command => "/usr/sbin/service ${openvswitch_service_name} restart", - user => root, - require => Service["${openvswitch_service_name}"], - } - - exec { "${plugin_dir}/files/configure_bridges.sh ${ovs_datapath_type}": - user => root, - require => Exec['restart_ovs'], - } + # adapt configuration files + exec {'adapt_nova_conf': + command => "${plugin_dir}/files/set_vcpu_pin.sh ${nova_conf}", + path => ['/usr/bin','/bin'], + user => root, + onlyif => "test -f ${nova_conf}", + require => Package['crudini'], + } + + exec {'adapt_ml2_conf_datapath': + command => "sudo crudini --set ${ml2_conf} ovs datapath_type ${ovs_datapath_type}", + path => ['/usr/bin','/bin'], + user => root, + onlyif => "test -f ${ml2_conf}", + require => Package['crudini'], + } + + exec {'adapt_ml2_conf_agent_type': + command => "sudo crudini --set ${ml2_conf} agent agent_type 'DPDK OVS Agent'", + path => ['/usr/bin','/bin'], + user => root, + onlyif => "test -f ${ml2_conf}", + require => Package['crudini'], + } + + exec {'adapt_neutron_l3': + command => "sudo crudini --set ${neutron_l3_conf} DEFAULT external_network_bridge br-ex", + path => ['/usr/bin','/bin'], + user => root, + onlyif => "test -f ${neutron_l3_conf}", + require => Package['crudini'], + } + + + service {"${openvswitch_service_name}": ensure => 'running' } + + # restart OVS to synchronize ovsdb-server with ovs-vswitchd needed + # due to several new --no-wait entries + exec {'restart_ovs': + command => "/usr/sbin/service ${openvswitch_service_name} restart", + user => root, + require => Service["${openvswitch_service_name}"], + } + + exec {'configure_bridges': + command => "${plugin_dir}/files/configure_bridges.sh ${ovs_datapath_type}", + user => root, + require => Exec['restart_ovs'], + } + + service { 'libvirtd': ensure => running } + + exec {'libvirtd_disable_tls': + command => "sudo crudini --set /etc/libvirt/libvirtd.conf '' listen_tls 0", + path => ['/usr/bin','/bin'], + user => root, + require => Package['crudini'], + notify => Service['libvirtd'], + } + + exec {'restart_nova_compute': + command => "/usr/sbin/service nova-compute restart", + user => root, + require => [ Exec['libvirtd_disable_tls'], Service['libvirtd'] ], + } + + service {"${openvswitch_agent}": + ensure => 'running', + require => [ Exec['restart_ovs'], Service["${openvswitch_service_name}"], Exec['adapt_ml2_conf_datapath'], Exec['adapt_ml2_conf_agent_type'] ], + } + + exec { "ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=${ovs_pmd_core_mask}": + path => ['/usr/bin','/bin'], + user => root, + require => Service["${openvswitch_agent}"], + } } + # controller specific part if $controller == 'True' { service {'neutron-server': - ensure => 'running', + ensure => 'running', + } + + exec {'append_NUMATopologyFilter': + command => "sudo crudini --set ${nova_conf} DEFAULT scheduler_default_filters RetryFilter,AvailabilityZoneFilter,RamFilter,\ +CoreFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter", + path => ['/usr/bin','/bin'], + user => root, + onlyif => "test -f ${nova_conf}", + require => Package['crudini'], } + + exec { 'agents_flavors_update': + command => "${plugin_dir}/files/agents_flavors_update.sh", + user => 'root', + logoutput => 'true', + timeout => 0, + require => [ Service['neutron-server'], Exec['append_NUMATopologyFilter'] ], + } + + exec {'restart_neutron_server': + command => "/usr/sbin/service neutron-server restart", + user => root, + require => Exec['agents_flavors_update'], + } + + exec {'restart_nova_scheduler': + command => "/usr/sbin/service nova-scheduler restart", + user => root, + require => Exec['agents_flavors_update'], + } + } - if $compute == 'True' { - service {"${openvswitch_agent}": - ensure => 'running', - require => [ Exec['restart_ovs'], Service["${openvswitch_service_name}"] ], - } + # common part + exec {'adapt_ml2_conf_mechanism_driver': + command => "sudo crudini --set ${ml2_conf} ml2 mechanism_drivers ovsdpdk", + path => ['/usr/bin','/bin'], + user => root, + onlyif => "test -f ${ml2_conf}", + require => Package['crudini'], } + exec {'adapt_ml2_conf_security_group': + command => "sudo crudini --set ${ml2_conf} securitygroup firewall_driver neutron.agent.firewall.NoopFirewallDriver", + path => ['/usr/bin','/bin'], + user => root, + onlyif => "test -f ${ml2_conf}", + require => Package['crudini'], + } }