Bring in FDIO (VPP+DPDK) scenario
[fuel.git] / mcp / reclass / classes / cluster / mcp-fdio-noha / openstack / gateway.yml
1 ##############################################################################
2 # Copyright (c) 2018 Mirantis Inc., Enea AB and others.
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
7 ##############################################################################
8 ---
9 classes:
10   - cluster.mcp-common-noha.openstack_gateway
11   - service.neutron.gateway.single
12   - cluster.mcp-fdio-noha
13 parameters:
14   _param:
15     compute_hugepages_size: 1G
16     compute_hugepages_mount: /mnt/hugepages_1G
17   neutron:
18     gateway:
19       agents:
20         l3:
21           interface_driver: neutron.agent.linux.interface.BridgeInterfaceDriver
22         dhcp:
23           interface_driver: neutron.agent.linux.interface.BridgeInterfaceDriver
24       backend:
25         router: 'vpp-router'
26         tenant_network_types: "${_param:neutron_tenant_network_types}"
27         ~mechanism:
28           vpp:
29             driver: vpp
30             etcd_port: ${_param:node_port}
31             etcd_host: ${_param:node_address}
32             l3_hosts: ${_param:openstack_gateway_node01_hostname}
33         physnets:
34           physnet1:
35             vpp_interface: ${_param:external_vpp_tap}
36           physnet2:
37             vpp_interface: ${_param:dpdk0_vpp}
38   linux:
39     system:
40       kernel:
41         hugepages:
42           large:
43             default: true
44             size: ${_param:compute_hugepages_size}
45             count: ${_param:compute_hugepages_count}
46             mount_point: ${_param:compute_hugepages_mount}
47         isolcpu: 1  # NOTE: Hardcoded for now
48         boot_options:
49           - spectre_v2=off
50           - nopti
51           - intel_iommu=on
52           - iommu=pt
53           - nohz_full=${linux:system:kernel:isolcpu}
54           - rcu_nocbs=${linux:system:kernel:isolcpu}
55           - iommu.passthrough=1
56     network:
57       interface:
58         dpdk0:
59           name: ${_param:dpdk0_name}
60           pci: ${_param:dpdk0_pci}
61           driver: ${_param:dpdk0_driver}
62           enabled: true
63           type: dpdk_vpp_port
64           mtu: ${_param:interface_mtu}