Merge "Use common directory in CI scenario for net-config"
[apex-tripleo-heat-templates.git] / puppet / services / neutron-ovs-dpdk-agent.yaml
1 heat_template_version: ocata
2
3 description: >
4   OpenStack Neutron OVS DPDK configured with Puppet for Compute Role
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   EndpointMap:
17     default: {}
18     description: Mapping of service endpoint -> protocol. Typically set
19                  via parameter_defaults in the resource registry.
20     type: json
21   HostCpusList:
22     description: List of cores to be used for host process
23     type: string
24     constraints:
25       - allowed_pattern: "'[0-9,-]+'"
26   NeutronDpdkCoreList:
27     description: List of cores to be used for DPDK Poll Mode Driver
28     type: string
29     constraints:
30       - allowed_pattern: "'[0-9,-]+'"
31   NeutronDpdkMemoryChannels:
32     description: Number of memory channels to be used for DPDK
33     type: string
34     constraints:
35       - allowed_pattern: "[0-9]+"
36   NeutronDpdkSocketMemory:
37     default: ""
38     description: Memory allocated for each socket
39     type: string
40   NeutronDpdkDriverType:
41     default: "vfio-pci"
42     description: DPDK Driver type
43     type: string
44   # below parameters has to be set in neutron agent only for compute nodes.
45   # as of now there is no other usecase for these parameters except dpdk.
46   # should be moved to compute only ovs agent in case of any other usecases.
47   NeutronDatapathType:
48     default: ""
49     description: Datapath type for ovs bridges
50     type: string
51   NeutronVhostuserSocketDir:
52     default: ""
53     description: The vhost-user socket directory for OVS
54     type: string
55
56 resources:
57
58   NeutronOvsAgent:
59     type: ./neutron-ovs-agent.yaml
60     properties:
61       ServiceNetMap: {get_param: ServiceNetMap}
62       DefaultPasswords: {get_param: DefaultPasswords}
63       EndpointMap: {get_param: EndpointMap}
64
65 outputs:
66   role_data:
67     description: Role data for the Neutron OVS DPDK Agent service.
68     value:
69       service_name: neutron_ovs_dpdk_agent
70       config_settings:
71         map_merge:
72           - get_attr: [NeutronOvsAgent, role_data, config_settings]
73           - neutron::agents::ml2::ovs::enable_dpdk: true
74             neutron::agents::ml2::ovs::datapath_type: {get_param: NeutronDatapathType}
75             neutron::agents::ml2::ovs::vhostuser_socket_dir: {get_param: NeutronVhostuserSocketDir}
76             vswitch::dpdk::host_core_list: {get_param: HostCpusList}
77             vswitch::dpdk::pmd_core_list: {get_param: NeutronDpdkCoreList}
78             vswitch::dpdk::memory_channels: {get_param: NeutronDpdkMemoryChannels}
79             vswitch::dpdk::socket_mem: {get_param: NeutronDpdkSocketMemory}
80             vswitch::dpdk::driver_type: {get_param: NeutronDpdkDriverType}
81       step_config: {get_attr: [NeutronOvsAgent, role_data, step_config]}