Merge "Containerize MySQL for HA"
[apex-tripleo-heat-templates.git] / puppet / services / neutron-sriov-agent.yaml
1 heat_template_version: pike
2
3 description: >
4   OpenStack Neutron SR-IOV nic agent configured with Puppet
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: >
10       Mapping of service_name -> network name. Typically set via
11       parameter_defaults in the resource registry. This mapping overrides those
12       in ServiceNetMapDefaults.
13     type: json
14   DefaultPasswords:
15     default: {}
16     type: json
17   RoleName:
18     default: ''
19     description: Role name on which the service is applied
20     type: string
21   RoleParameters:
22     default: {}
23     description: Parameters specific to the role
24     type: json
25   EndpointMap:
26     default: {}
27     description: Mapping of service endpoint -> protocol. Typically set
28                  via parameter_defaults in the resource registry.
29     type: json
30   NeutronPhysicalDevMappings:
31     description: >
32       List of <physical_network>:<physical device>
33       All physical networks listed in network_vlan_ranges
34       on the server should have mappings to appropriate
35       interfaces on each agent.
36       Example "tenant0:ens2f0,tenant1:ens2f1"
37     type: comma_delimited_list
38     default: ""
39   NeutronExcludeDevices:
40     description: >
41       List of <network_device>:<excluded_devices> mapping
42       network_device to the agent's node-specific list of virtual functions
43       that should not be used for virtual networking. excluded_devices is a
44       semicolon separated list of virtual functions to exclude from
45       network_device. The network_device in the mapping should appear in the
46       physical_device_mappings list.
47     type: comma_delimited_list
48     default: ""
49   NeutronSriovNumVFs:
50     description: >
51       Provide the list of VFs to be reserved for each SR-IOV interface.
52       Format "<interface_name1>:<numvfs1>,<interface_name2>:<numvfs2>"
53       Example "eth1:4096,eth2:128"
54     type: comma_delimited_list
55     default: ""
56
57 resources:
58
59   NeutronBase:
60     type: ./neutron-base.yaml
61     properties:
62       ServiceNetMap: {get_param: ServiceNetMap}
63       DefaultPasswords: {get_param: DefaultPasswords}
64       EndpointMap: {get_param: EndpointMap}
65       RoleName: {get_param: RoleName}
66       RoleParameters: {get_param: RoleParameters}
67
68 outputs:
69   role_data:
70     description: Role data for the Neutron SR-IOV nic agent service.
71     value:
72       service_name: neutron_sriov_agent
73       config_settings:
74         map_merge:
75           - get_attr: [NeutronBase, role_data, config_settings]
76           - neutron::agents::ml2::sriov::physical_device_mappings: {get_param: NeutronPhysicalDevMappings}
77             neutron::agents::ml2::sriov::exclude_devices: {get_param: NeutronExcludeDevices}
78             tripleo::host::sriov::number_of_vfs: {get_param: NeutronSriovNumVFs}
79       step_config: |
80         include ::tripleo::profile::base::neutron::sriov