heat_template_version: pike description: > OpenStack Neutron SR-IOV host configuration parameters: ServiceData: default: {} description: Dictionary packing service data type: json ServiceNetMap: default: {} description: > Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. This mapping overrides those in ServiceNetMapDefaults. type: json DefaultPasswords: default: {} type: json RoleName: default: '' description: Role name on which the service is applied type: string RoleParameters: default: {} description: Parameters specific to the role type: json EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json NeutronSriovNumVFs: description: > Provide the list of VFs to be reserved for each SR-IOV interface. Format ":,:" Example "eth1:4096,eth2:128" type: comma_delimited_list default: "" resources: NeutronBase: type: ./neutron-base.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} # Merging role-specific parameters (RoleParameters) with the default parameters. # RoleParameters will have the precedence over the default parameters. RoleParametersValue: type: OS::Heat::Value properties: type: json value: map_replace: - map_replace: - tripleo::host::sriov::number_of_vfs: NeutronSriovNumVFs - values: {get_param: [RoleParameters]} - values: NeutronSriovNumVFs: {get_param: NeutronSriovNumVFs} outputs: role_data: description: Role data for the Neutron SR-IOV nic agent service. value: service_name: neutron_sriov_host_config config_settings: map_merge: - get_attr: [NeutronBase, role_data, config_settings] - get_attr: [RoleParametersValue, value] step_config: | include ::tripleo::host::sriov