Skip to content

Commit e05774e

Browse files
Jaganathan PalanisamyJaganathan Palanisamy
authored andcommitted
[WIP] Adding networker ovs dpdk CR
This changes to add new nodeset CR for networker ovs dpdk.
1 parent 5acf791 commit e05774e

File tree

2 files changed

+266
-0
lines changed

2 files changed

+266
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
apiVersion: kustomize.config.k8s.io/v1alpha1
2+
kind: Component
3+
4+
namespace: openstack
5+
nameSuffix: -networker-ovs-dpdk
6+
7+
components:
8+
- ../baremetal
9+
10+
resources:
11+
- values.yaml
12+
13+
replacements:
14+
# OpenStackDataPlaneNodeSet customizations
15+
- source:
16+
kind: DataPlaneConfig
17+
name: edpm-networker-ovs-dpdk-values
18+
fieldPath: data.nodeset.nodetemplate.ansible.vars
19+
targets:
20+
- select:
21+
kind: OpenStackDataPlaneNodeSet
22+
fieldPaths:
23+
- spec.nodeTemplate.ansible.ansibleVars
24+
options:
25+
create: true
26+
- source:
27+
kind: DataPlaneConfig
28+
name: edpm-networker-ovs-dpdk-values
29+
fieldPath: data.nodeset.services
30+
targets:
31+
- select:
32+
kind: OpenStackDataPlaneNodeSet
33+
fieldPaths:
34+
- spec.services
35+
options:
36+
create: true
37+
- source:
38+
kind: DataPlaneConfig
39+
name: edpm-networker-ovs-dpdk-values
40+
fieldPath: data.nodeset.nodes
41+
targets:
42+
- select:
43+
kind: OpenStackDataPlaneNodeSet
44+
fieldPaths:
45+
- spec.nodes
46+
options:
47+
create: true
48+
- source:
49+
kind: DataPlaneConfig
50+
name: edpm-networker-ovs-dpdk-values
51+
fieldPath: data.nodeset.baremetalsettemplate
52+
targets:
53+
- select:
54+
kind: OpenStackDataPlaneNodeSet
55+
fieldPaths:
56+
- spec.baremetalSetTemplate
57+
options:
58+
create: true
59+
- source:
60+
kind: DataPlaneConfig
61+
name: edpm-networker-ovs-dpdk-values
62+
fieldPath: data.preProvisioned
63+
targets:
64+
- select:
65+
kind: OpenStackDataPlaneNodeSet
66+
fieldPaths:
67+
- spec.preProvisioned
68+
options:
69+
create: true
70+
- source:
71+
kind: DataPlaneConfig
72+
name: edpm-networker-ovs-dpdk-values
73+
fieldPath: data.nodeset.nodetemplate.networks
74+
targets:
75+
- select:
76+
kind: OpenStackDataPlaneNodeSet
77+
fieldPaths:
78+
- spec.nodeTemplate.networks
79+
options:
80+
create: true
Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
# local-config: referenced, but not emitted by kustomize
2+
apiVersion: v1
3+
kind: DataPlaneConfig
4+
metadata:
5+
name: edpm-networker-ovs-dpdk-values
6+
annotations:
7+
config.kubernetes.io/local-config: "true"
8+
data:
9+
preProvisioned: false
10+
nodeset:
11+
baremetalsettemplate:
12+
bmhLabelSelector:
13+
app: openstack
14+
ctlplaneInterface: enp1s0
15+
cloudUserName: cloud-admin
16+
nodetemplate:
17+
ansible:
18+
vars:
19+
edpm_network_config_hide_sensitive_logs: false
20+
edpm_network_config_os_net_config_mappings:
21+
# Need to provide nic mapping based on system uuid or system product name
22+
# here used systetm uuid
23+
networker-0: # CHANGEME
24+
nic1: 6c:fe:54:3f:8a:01 # CHANGEME
25+
nic2: 6c:fe:54:3f:8a:02 # CHANGEME
26+
nic3: 6c:fe:54:3f:8a:03 # CHANGEME
27+
nic4: 6c:fe:54:3f:8a:04 # CHANGEME
28+
nic5: 6c:fe:54:3f:8a:05 # CHANGEME
29+
nic6: 6c:fe:54:3f:8a:06 # CHANGEME
30+
nic7: 6c:fe:54:3f:8a:07 # CHANGEME
31+
edpm_network_config_template: |
32+
---
33+
{% set mtu_list = [ctlplane_mtu] %}
34+
{% for network in nodeset_networks %}
35+
{{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }}
36+
{%- endfor %}
37+
{% set min_viable_mtu = mtu_list | max %}
38+
network_config:
39+
- type: linux_bond
40+
name: bond_api
41+
bonding_options: "mode=active-backup"
42+
use_dhcp: false
43+
dns_servers: {{ ctlplane_dns_nameservers }}
44+
members:
45+
- type: interface
46+
name: nic1
47+
addresses:
48+
- ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_cidr }}
49+
routes:
50+
- default: true
51+
next_hop: {{ ctlplane_gateway_ip }}
52+
53+
{% for network in nodeset_networks if network not in ['external', 'tenant'] %}
54+
- type: vlan
55+
mtu: {{ lookup('ars', networks_lower[network] ~ '_mtu') }}
56+
vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }}
57+
addresses:
58+
- ip_netmask: {{ lookup('vars', networks_lower[network] ~ '_ip') }}/{{ lookup('vars', networks_lower[network] ~ '_cidr') }}
59+
{% endfor %}
60+
- type: ovs_user_bridge
61+
name: br-link0
62+
use_dhcp: false
63+
ovs_extra: "set port br-link0 tag={{ lookup('vars', networks_lower['tenant'] ~ '_vlan_id') }}"
64+
addresses:
65+
- ip_netmask: {{ lookup('vars', networks_lower['tenant'] ~ '_ip') }}/{{ lookup('vars', networks_lower['tenant'] ~ '_cidr')}}
66+
members:
67+
- type: ovs_dpdk_bond
68+
name: dpdkbond0
69+
mtu: 9000
70+
rx_queue: 4
71+
ovs_options: "bond_mode=balance-tcp lacp=active other_config:lacp-time=fast other-config:lacp-fallback-ab=true other_config:lb-output-action=true"
72+
members:
73+
- type: ovs_dpdk_port
74+
name: dpdk0
75+
members:
76+
- type: interface
77+
name: nic2
78+
79+
- type: ovs_dpdk_port
80+
name: dpdk1
81+
members:
82+
- type: interface
83+
name: nic3
84+
85+
- type: ovs_user_bridge
86+
name: br-link1
87+
use_dhcp: false
88+
ovs_extra: "set port br-link1 tag={{ lookup('vars', networks_lower['external'] ~ '_vlan_id') }}"
89+
addresses:
90+
- ip_netmask: {{ lookup('vars', networks_lower['external'] ~ '_ip') }}/{{ lookup('vars', networks_lower['external'] ~ '_cidr')}}
91+
members:
92+
- type: ovs_dpdk_bond
93+
name: dpdkbond2
94+
mtu: 9000
95+
rx_queue: 4
96+
ovs_options: "bond_mode=balance-tcp lacp=active other_config:lacp-time=fast other-config:lacp-fallback-ab=true other_config:lb-output-action=true"
97+
members:
98+
- type: ovs_dpdk_port
99+
name: dpdk4
100+
members:
101+
- type: interface
102+
name: nic6
103+
- type: ovs_dpdk_port
104+
name: dpdk5
105+
members:
106+
- type: interface
107+
name: nic7
108+
109+
- type: ovs_user_bridge
110+
name: br-dpdk0
111+
use_dhcp: false
112+
mtu: 9000
113+
members:
114+
- type: ovs_dpdk_port
115+
rx_queue: 4
116+
name: dpdk2
117+
members:
118+
- type: interface
119+
name: nic4
120+
121+
- type: ovs_user_bridge
122+
name: br-dpdk1
123+
use_dhcp: false
124+
mtu: 9000
125+
members:
126+
- type: ovs_dpdk_port
127+
rx_queue: 4
128+
name: dpdk3
129+
members:
130+
- type: interface
131+
name: nic5
132+
133+
# edpm_nodes_validation
134+
edpm_nodes_validation_validate_controllers_icmp: false
135+
edpm_nodes_validation_validate_gateway_icmp: false
136+
# edpm nfv ovs dpdk config
137+
edpm_kernel_args: "default_hugepagesz=1GB hugepagesz=1G hugepages=64 iommu=pt intel_iommu=on tsx=off isolcpus=2-19,22-39"
138+
edpm_tuned_profile: "cpu-partitioning-powersave"
139+
edpm_tuned_isolated_cores: "2-19,22-39"
140+
edpm_ovs_dpdk_pmd_core_list: "2-19,22-39"
141+
edpm_ovs_dpdk_socket_memory: "4096"
142+
edpm_ovs_dpdk_memory_channels: "4"
143+
edpm_ovs_dpdk_vhost_postcopy_support: "true"
144+
edpm_enable_chassis_gw: true
145+
edpm_ovn_bridge_mappings:
146+
- dpdkexternal:br-link1
147+
- dpdkmgmt:br-link0
148+
- dpdkdata0:br-dpdk0
149+
- dpdkdata1:br-dpdk1
150+
gather_facts: false
151+
enable_debug: false
152+
edpm_sshd_allowed_ranges: ['192.168.122.0/24']
153+
nodeset:
154+
nodetemplate:
155+
ansible:
156+
vars:
157+
edpm_enable_chassis_gw: true
158+
nodes:
159+
networker-0:
160+
hostName: networker-0
161+
ansible:
162+
ansibleHost: 192.168.122.100
163+
networks:
164+
- name: ctlplane
165+
subnetName: subnet1
166+
defaultRoute: true
167+
fixedIP: 192.168.122.100
168+
- name: internalapi
169+
subnetName: subnet1
170+
- name: tenant
171+
subnetName: subnet1
172+
services:
173+
- bootstrap
174+
- download-cache
175+
- reboot-os
176+
- configure-ovs-dpdk
177+
- configure-network
178+
- validate-network
179+
- install-os
180+
- configure-os
181+
- ssh-known-hosts
182+
- run-os
183+
- install-certs
184+
- ovn
185+
- neutron-ovn
186+
- neutron-metadata

0 commit comments

Comments
 (0)