Enables networking-vpp in nosdn-fdio scenario
[apex.git] / build / puppet-neutron / manifests / agents / ml2 / networking-vpp.pp
1 # == Class: neutron::agents::ml2::networking-vpp
2 #
3 # Setups networking-vpp Neutron agent for ML2 plugin.
4 #
5 # === Parameters
6 #
7 # [*package_ensure*]
8 #   (optional) Package ensure state.
9 #   Defaults to 'present'.
10 #
11 # [*enabled*]
12 #   (required) Whether or not to enable the agent.
13 #   Defaults to true.
14 #
15 # [*manage_service*]
16 #   (optional) Whether to start/stop the service
17 #   Defaults to true
18 #
19 # [*physnets*]
20 #   List of <physical_network>:<physical_interface>
21 #   tuples mapping physical network names to agent's node-specific physical
22 #   network interfaces. Defaults to empty list.
23 #
24 # [*flat_network_if*]
25 #   VPP interface used for flat network
26 #   Defaults to ''.
27 #
28 class neutron::agents::ml2::networking-vpp (
29   $package_ensure   = 'present',
30   $enabled          = true,
31   $manage_service   = true,
32   $physnets         = '',
33   $flat_network_if  = '',
34 ) {
35
36   include ::neutron::params
37
38   if $manage_service {
39     if $enabled {
40       $service_ensure = 'running'
41     } else {
42       $service_ensure = 'stopped'
43     }
44   }
45
46   neutron_plugin_ml2 {
47     'ml2_vpp/physnets': value => $physnets;
48     'ml2_vpp/flat_network_if': value => $flat_network_if;
49   }->
50   service { 'networking-vpp-agent':
51     ensure    => $service_ensure,
52     name      => 'networking-vpp-agent',
53     enable    => $enabled,
54     tag       => 'neutron-service',
55   }
56 }