Skip to content

Commit 7176a78

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 7176a78

File tree

2 files changed

+237
-0
lines changed

2 files changed

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

0 commit comments

Comments
 (0)