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=a3fd60f8178ded80617320e7e49e0d2bf80d92c7;hb=0e14c4cb61521bdfc3cd597342f526e1c30ff405;hp=4a23a893f8bd88a570dc10aa67f913324c5d5f56;hpb=9c5d3a2ab72fa9553924ecaf70ae7ef0d1d562d0;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..a3fd60f 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 @@ -6,6 +6,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, @@ -16,59 +17,132 @@ class ovsdpdk::postinstall_ovs_dpdk ( package {'crudini': ensure => installed } 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_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'], + } + + 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'] ], + } + } + + 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'], } 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 { 'remove_old_agent': + command => "${plugin_dir}/files/remove_agent.sh $adminrc_user $adminrc_password $adminrc_tenant $adminrc_hostname", + 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['remove_old_agent'], } + + exec {'restart_nova_scheduler': + command => "/usr/sbin/service nova-scheduler restart", + user => root, + require => Exec['remove_old_agent'], + } + } if $compute == 'True' { - service {"${openvswitch_agent}": - ensure => 'running', - require => [ Exec['restart_ovs'], Service["${openvswitch_service_name}"] ], - } + exec { 'patch_ovs_agent': + command => "cp ${plugin_dir}/files/neutron-plugin-openvswitch-agent.conf /etc/init/neutron-plugin-openvswitch-agent.conf", + path => ['/usr/bin','/bin'], + user => root, + } + + service {"${openvswitch_agent}": + ensure => 'running', + require => [ Exec['restart_ovs'], Service["${openvswitch_service_name}"], Exec['patch_ovs_agent'] ], + } + + 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}"], + } } }