Skip to content

Commit bcf917d

Browse files
author
Jaganathan Palanisamy
committed
[WIP] Adding networker ovs dpdk CR
This changes to add new nodeset CR for networker ovs dpdk.
1 parent 5acf791 commit bcf917d

File tree

2 files changed

+205
-0
lines changed

2 files changed

+205
-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: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
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+
edpm-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+
edpm_network_config_template: |
28+
---
29+
{% set mtu_list = [ctlplane_mtu] %}
30+
{% for network in nodeset_networks %}
31+
{{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }}
32+
{%- endfor %}
33+
network_config:
34+
- type: linux_bond
35+
name: bond_api
36+
bonding_options: "mode=active-backup"
37+
use_dhcp: false
38+
dns_servers: {{ ctlplane_dns_nameservers }}
39+
members:
40+
- type: interface
41+
name: nic1
42+
addresses:
43+
- ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_cidr }}
44+
routes:
45+
- default: true
46+
next_hop: {{ ctlplane_gateway_ip }}
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-link1
56+
use_dhcp: false
57+
ovs_extra: "set port br-link1 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+
mtu: {{ lookup('vars', networks_lower['tenant'] ~ '_mtu') }}
61+
members:
62+
- type: ovs_dpdk_port
63+
name: dpdk1
64+
members:
65+
- type: interface
66+
name: nic2
67+
- type: ovs_user_bridge
68+
name: br-link2
69+
use_dhcp: false
70+
mtu: 9000
71+
members:
72+
- type: ovs_dpdk_port
73+
name: dpdk2
74+
members:
75+
- type: interface
76+
name: nic3
77+
78+
# edpm_nodes_validation
79+
edpm_nodes_validation_validate_controllers_icmp: false
80+
edpm_nodes_validation_validate_gateway_icmp: false
81+
# edpm nfv ovs dpdk config
82+
edpm_kernel_args: "default_hugepagesz=1GB hugepagesz=1G hugepages=64 iommu=pt intel_iommu=on tsx=off isolcpus=2-11,14-23"
83+
edpm_tuned_profile: "cpu-partitioning"
84+
edpm_tuned_isolated_cores: "2-11,14-23"
85+
edpm_ovs_dpdk_pmd_core_list: "1,13,2,14,3,15"
86+
edpm_ovs_dpdk_socket_memory: "4096"
87+
edpm_ovs_dpdk_memory_channels: "4"
88+
edpm_ovs_dpdk_vhost_postcopy_support: "true"
89+
edpm_ovn_bridge_mappings: ['dpdk2:br-link2','dpdk1:br-link1']
90+
gather_facts: false
91+
enable_debug: false
92+
edpm_sshd_allowed_ranges: ['192.168.122.0/24']
93+
nodeset:
94+
nodetemplate:
95+
ansible:
96+
vars:
97+
edpm_enable_chassis_gw: true
98+
nodes:
99+
edpm-networker-0:
100+
hostName: edpm-networker-0
101+
ansible:
102+
ansibleHost: 192.168.122.100
103+
networks:
104+
- name: ctlplane
105+
subnetName: subnet1
106+
defaultRoute: true
107+
fixedIP: 192.168.122.100
108+
- name: internalapi
109+
subnetName: subnet1
110+
- name: tenant
111+
subnetName: subnet1
112+
services:
113+
- bootstrap
114+
- download-cache
115+
- reboot-os
116+
- configure-ovs-dpdk
117+
- configure-network
118+
- validate-network
119+
- install-os
120+
- configure-os
121+
- ssh-known-hosts
122+
- run-os
123+
- install-certs
124+
- ovn
125+
- neutron-ovn

0 commit comments

Comments
 (0)