summaryrefslogtreecommitdiffstats
path: root/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp
blob: 4a23a893f8bd88a570dc10aa67f913324c5d5f56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# == Class ovsdpdk::postinstall_ovs_dpdk
#
# Postinstall configuration of ovs-dpdk service
#
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_ovs_conf             = $::ovsdpdk::params::ml2_ovs_conf,
  $neutron_l3_conf          = $::ovsdpdk::params::neutron_l3_conf,
  $openvswitch_agent        = $::ovsdpdk::params::openvswitch_agent,
) inherits ovsdpdk {

  require ovsdpdk::install_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'],
      }
  }

  if $controller == 'True' {
    service {'neutron-server':
       ensure => 'running',
    }
  }

  if $compute == 'True' {
	  service {"${openvswitch_agent}":
	    ensure  => 'running',
	    require => [ Exec['restart_ovs'], Service["${openvswitch_service_name}"] ],
	  }
  }

}