Update the template_version alias for all the templates to pike.
[apex-tripleo-heat-templates.git] / puppet / services / neutron-ovs-dpdk-agent.yaml
1 heat_template_version: pike
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   RoleName:
17     default: ''
18     description: Role name on which the service is applied
19     type: string
20   RoleParameters:
21     default: {}
22     description: Parameters specific to the role
23     type: json
24   EndpointMap:
25     default: {}
26     description: Mapping of service endpoint -> protocol. Typically set
27                  via parameter_defaults in the resource registry.
28     type: json
29   HostCpusList:
30     description: List of cores to be used for host process
31     type: string
32     constraints:
33       - allowed_pattern: "'[0-9,-]+'"
34   NeutronDpdkCoreList:
35     description: List of cores to be used for DPDK Poll Mode Driver
36     type: string
37     constraints:
38       - allowed_pattern: "'[0-9,-]+'"
39   NeutronDpdkMemoryChannels:
40     description: Number of memory channels to be used for DPDK
41     type: string
42     constraints:
43       - allowed_pattern: "[0-9]+"
44   NeutronDpdkSocketMemory:
45     default: ""
46     description: Memory allocated for each socket
47     type: string
48   NeutronDpdkDriverType:
49     default: "vfio-pci"
50     description: DPDK Driver type
51     type: string
52   # below parameters has to be set in neutron agent only for compute nodes.
53   # as of now there is no other usecase for these parameters except dpdk.
54   # should be moved to compute only ovs agent in case of any other usecases.
55   NeutronDatapathType:
56     default: ""
57     description: Datapath type for ovs bridges
58     type: string
59   NeutronVhostuserSocketDir:
60     default: ""
61     description: The vhost-user socket directory for OVS
62     type: string
63
64 resources:
65
66   NeutronOvsAgent:
67     type: ./neutron-ovs-agent.yaml
68     properties:
69       ServiceNetMap: {get_param: ServiceNetMap}
70       DefaultPasswords: {get_param: DefaultPasswords}
71       EndpointMap: {get_param: EndpointMap}
72       RoleName: {get_param: RoleName}
73       RoleParameters: {get_param: RoleParameters}
74
75   OpenVswitchUpgrade:
76     type: ./openvswitch-upgrade.yaml
77
78 outputs:
79   role_data:
80     description: Role data for the Neutron OVS DPDK Agent service.
81     value:
82       service_name: neutron_ovs_dpdk_agent
83       config_settings:
84         map_merge:
85           - map_replace:
86             - get_attr: [NeutronOvsAgent, role_data, config_settings]
87             - keys:
88                 tripleo.neutron_ovs_agent.firewall_rules: tripleo.neutron_ovs_dpdk_agent.firewall_rules
89           - neutron::agents::ml2::ovs::enable_dpdk: true
90             neutron::agents::ml2::ovs::datapath_type: {get_param: NeutronDatapathType}
91             neutron::agents::ml2::ovs::vhostuser_socket_dir: {get_param: NeutronVhostuserSocketDir}
92             vswitch::dpdk::host_core_list: {get_param: HostCpusList}
93             vswitch::dpdk::pmd_core_list: {get_param: NeutronDpdkCoreList}
94             vswitch::dpdk::memory_channels: {get_param: NeutronDpdkMemoryChannels}
95             vswitch::dpdk::socket_mem: {get_param: NeutronDpdkSocketMemory}
96             vswitch::dpdk::driver_type: {get_param: NeutronDpdkDriverType}
97       step_config: {get_attr: [NeutronOvsAgent, role_data, step_config]}
98       upgrade_tasks:
99         get_attr: [OpenVswitchUpgrade, role_data, upgrade_tasks]