Change flat network name for nosdn fdio scenario
[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   ServiceData:
8     default: {}
9     description: Dictionary packing service data
10     type: json
11   ServiceNetMap:
12     default: {}
13     description: Mapping of service_name -> network name. Typically set
14                  via parameter_defaults in the resource registry.  This
15                  mapping overrides those in ServiceNetMapDefaults.
16     type: json
17   DefaultPasswords:
18     default: {}
19     type: json
20   RoleName:
21     default: ''
22     description: Role name on which the service is applied
23     type: string
24   RoleParameters:
25     default: {}
26     description: Parameters specific to the role
27     type: json
28   EndpointMap:
29     default: {}
30     description: Mapping of service endpoint -> protocol. Typically set
31                  via parameter_defaults in the resource registry.
32     type: json
33   # below parameters has to be set in neutron agent only for compute nodes.
34   # as of now there is no other usecase for these parameters except dpdk.
35   # should be moved to compute only ovs agent in case of any other usecases.
36   NeutronDatapathType:
37     default: ""
38     description: Datapath type for ovs bridges
39     type: string
40   NeutronVhostuserSocketDir:
41     default: ""
42     description: The vhost-user socket directory for OVS
43     type: string
44
45 resources:
46
47   NeutronOvsAgent:
48     type: ./neutron-ovs-agent.yaml
49     properties:
50       ServiceData: {get_param: ServiceData}
51       ServiceNetMap: {get_param: ServiceNetMap}
52       DefaultPasswords: {get_param: DefaultPasswords}
53       EndpointMap: {get_param: EndpointMap}
54       RoleName: {get_param: RoleName}
55       RoleParameters: {get_param: RoleParameters}
56
57   # Merging role-specific parameters (RoleParameters) with the default parameters.
58   # RoleParameters will have the precedence over the default parameters.
59   RoleParametersValue:
60     type: OS::Heat::Value
61     properties:
62       type: json
63       value:
64         map_replace:
65           - map_replace:
66             - neutron::agents::ml2::ovs::datapath_type: NeutronDatapathType
67               neutron::agents::ml2::ovs::vhostuser_socket_dir: NeutronVhostuserSocketDir
68             - values: {get_param: [RoleParameters]}
69           - values:
70               NeutronDatapathType: {get_param: NeutronDatapathType}
71               NeutronVhostuserSocketDir: {get_param: NeutronVhostuserSocketDir}
72
73   Ovs:
74     type: ./openvswitch.yaml
75     properties:
76       ServiceNetMap: {get_param: ServiceNetMap}
77       DefaultPasswords: {get_param: DefaultPasswords}
78       EndpointMap: {get_param: EndpointMap}
79       RoleName: {get_param: RoleName}
80       RoleParameters: {get_param: RoleParameters}
81
82 outputs:
83   role_data:
84     description: Role data for the Neutron OVS DPDK Agent service.
85     value:
86       service_name: neutron_ovs_dpdk_agent
87       config_settings:
88         map_merge:
89           - map_replace:
90             - get_attr: [NeutronOvsAgent, role_data, config_settings]
91             - keys:
92                 tripleo.neutron_ovs_agent.firewall_rules: tripleo.neutron_ovs_dpdk_agent.firewall_rules
93           - neutron::agents::ml2::ovs::enable_dpdk: true
94           - get_attr: [Ovs, role_data, config_settings]
95           - get_attr: [RoleParametersValue, value]
96       step_config: {get_attr: [NeutronOvsAgent, role_data, step_config]}
97       upgrade_tasks:
98         get_attr: [Ovs, role_data, upgrade_tasks]