blob: 6c2d228451f702da616e3aebccffb2b02ba20650 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
|
---
# This file defines hardware-specific settings for neutron. If you use the same
# hardware profile as this environment, you should not need to change this file.
# Otherwise, you should review the settings here and adjust for your hardware.
# In particular:
# 1. logical network interface names
# 2. physical device mappigns
# TODO: Should move to global layer and become tied to the hardware profile
#
# OVS-DPDK NOTE:
# This chart is created to support deployment of ovs-dpdk.
# Do not use for env that uses regular ovs kernel.
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: neutron-ovsdpdk
labels:
name: neutron-ovsdpdk-cntt
component: neutron
layeringDefinition:
abstract: false
layer: type
parentSelector:
name: neutron-global
component: neutron
actions:
- method: merge
path: .
storagePolicy: cleartext
substitutions:
# Chart source
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .ovs-dpdk.charts.osh.neutron
dest:
path: .source
# Images
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .ovs-dpdk.images.osh.neutron
dest:
path: .values.images.tags
# OVS-DPDK settings for neutron
- src:
schema: pegleg/CommonAddresses/v1
name: common-addresses-ovsdpdk
path: .bridge_for_ovsdpdk
dest:
- path: .values.conf.ovs_dpdk.bridges[0].name
pattern: TUNNEL_BRIDGE
- path: .values.conf.ovs_dpdk.bonds[0].bridge
pattern: TUNNEL_BRIDGE
- path: .values.conf.plugins.openvswitch_agent.ovs.bridge_mappings
pattern: TUNNEL_BRIDGE
- path: .values.network.interface.tunnel
pattern: TUNNEL_BRIDGE
## OVS-DPDK NOTE: Using storage network for dpdk work for now
- src:
schema: drydock/Network/v1
name: storage
path: .mtu
dest:
path: .values.conf.ovs_dpdk.bonds[0].mtu
- src:
schema: drydock/HardwareProfile/v1
name: intel-s2600wt
path: .device_aliases.data_nic2.address
dest:
path: .values.conf.ovs_dpdk.bonds[0].nics[0].pci_id
- src:
schema: drydock/HardwareProfile/v1
name: intel-s2600wt
path: .device_aliases.data_nic3.address
dest:
path: .values.conf.ovs_dpdk.bonds[0].nics[1].pci_id
data:
wait:
timeout: 1800
test:
timeout: 900
values:
labels:
sriov:
node_selector_key: sriov
node_selector_value: enabled
pod:
replicas:
server: 9
security_context:
neutron_sriov_agent:
pod:
runAsUser: 42424
container:
neutron_sriov_agent_init:
privileged: true
runAsUser: 0
readOnlyRootFilesystem: false
neutron_sriov_agent:
readOnlyRootFilesystem: true
privileged: true
probes:
dhcp_agent:
dhcp_agent:
readiness:
enabled: false
liveness:
enabled: false
l3_agent:
l3_agent:
readiness:
enabled: false
liveness:
enabled: false
metadata_agent:
metadata_agent:
readiness:
enabled: false
liveness:
enabled: false
ovs_agent:
ovs_agent:
liveness:
enabled: false
sriov_agent:
sriov_agent:
readiness:
enabled: false
network:
interface:
sriov:
- device: ens785f1
num_vfs: 32
promisc: false
- device: ens785f2
num_vfs: 32
promisc: false
tunnel: TUNNEL_BRIDGE
backend:
- openvswitch
- sriov
conf:
# api-paste entrypoint neutron.api.versions:Versions.factory was deprecated in Queens
# See https://docs.openstack.org/releasenotes/neutron/queens.html:
paste:
app:neutronversions:
paste.app_factory: neutron.pecan_wsgi.app:versions_factory
ovs_dpdk:
enabled: true
driver: vfio-pci
nics: []
bridges:
- name: TUNNEL_BRIDGE
bonds:
- name: dpdkbond0
bridge: TUNNEL_BRIDGE
# The IP from the first nic in nics list shall be used
migrate_ip: false
n_rxq: 4
n_txq: 4
n_rxq_size: 1024
n_txq_size: 1024
ovs_options: "bond_mode=active-backup"
nics:
- name: dpdk_b0s0
vf_index: 0
- name: dpdk_b0s1
vf_index: 0
neutron:
DEFAULT:
service_plugins: router,trunk
plugins:
openvswitch_agent:
default:
ovs_vsctl_timeout: 30
agent:
tunnel_types: ""
securitygroup:
enable_security_group: False
firewall_driver: neutron.agent.firewall.NoopFirewallDriver
ovs:
bridge_mappings: ovsnet:TUNNEL_BRIDGE
datapath_type: netdev
of_connect_timeout: 60
of_request_timeout: 30
vhostuser_socket_dir: /var/run/openvswitch/vhostuser
ml2_conf:
ml2:
mechanism_drivers: l2population,openvswitch,sriovnicswitch
ml2_type_vlan:
## NOTE: Must have at least 1 sriov network defined
network_vlan_ranges: external,sriovnet1:100:4000,sriovnet2:100:4000,ovsnet:2:4094
sriov_agent:
securitygroup:
firewall_driver: neutron.agent.firewall.NoopFirewallDriver
sriov_nic:
## NOTE: Must have at least 1 sriov network to physical device
## mapping, otherwise sriov agent readiness check
## will fail.
physical_device_mappings: sriovnet1:ens785f1,sriovnet2:ens785f2
exclude_devices: ens785f1:0000:05:06.0,ens785f2:05:0a.0
# Need to wait for sriov agent to come up and configure VFs first
dependencies:
dynamic:
targeted:
openvswitch:
ovs_agent:
pod:
- requireSameNode: true
labels:
application: neutron
component: neutron-sriov-agent
dependencies:
- neutron-htk-ovsdpdk
...
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: neutron-htk-ovsdpdk
labels:
name: neutron-htk-ovsdpdk-cntt
component: neutron
layeringDefinition:
abstract: false
layer: type
storagePolicy: cleartext
substitutions:
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .ovs-dpdk.charts.osh.neutron-htk
dest:
path: .source
data:
chart_name: neutron-htk
release: neutron-htk
namespace: neutron-htk
values: {}
dependencies: []
...
|