Skip to content

Commit 5206594

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 6291b4d commit 5206594

File tree

2 files changed

+206
-0
lines changed

2 files changed

+206
-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: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
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_template: |
21+
---
22+
{% set mtu_list = [ctlplane_mtu] %}
23+
{% for network in nodeset_networks %}
24+
{{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }}
25+
{%- endfor %}
26+
{% set min_viable_mtu = mtu_list | max %}
27+
network_config:
28+
- type: ovs_bridge
29+
name: {{ neutron_physical_bridge_name }}
30+
mtu: {{ min_viable_mtu }}
31+
use_dhcp: false
32+
dns_servers: {{ ctlplane_dns_nameservers }}
33+
domain: {{ dns_search_domains }}
34+
addresses:
35+
- ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_cidr }}
36+
routes: {{ ctlplane_host_routes }}
37+
members:
38+
- type: interface
39+
name: nic1
40+
mtu: {{ min_viable_mtu }}
41+
# force the MAC address of the bridge to this interface
42+
primary: true
43+
{% for network in nodeset_networks if network not in ["external", "tenant"] %}
44+
- type: vlan
45+
mtu: {{ lookup('vars', networks_lower[network] ~ '_mtu') }}
46+
vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }}
47+
addresses:
48+
- ip_netmask:
49+
{{ lookup('vars', networks_lower[network] ~ '_ip') }}/{{ lookup('vars', networks_lower[network] ~ '_cidr') }}
50+
routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }}
51+
{% endfor %}
52+
- type: ovs_user_bridge
53+
name: br-link1
54+
use_dhcp: false
55+
ovs_extra: "set port br-link1 tag={{ lookup('vars', networks_lower['tenant'] ~ '_vlan_id') }}"
56+
addresses:
57+
- ip_netmask: {{ lookup('vars', networks_lower['tenant'] ~ '_ip') }}/{{ lookup('vars', networks_lower['tenant'] ~ '_cidr') }}
58+
59+
mtu: {{ lookup('vars', networks_lower['tenant'] ~ '_mtu') }}
60+
members:
61+
- type: ovs_dpdk_port
62+
name: dpdk1
63+
members:
64+
- type: interface
65+
name: nic3
66+
- type: ovs_user_bridge
67+
name: br-link2
68+
use_dhcp: false
69+
mtu: 9000
70+
members:
71+
- type: ovs_dpdk_port
72+
name: dpdk2
73+
members:
74+
- type: interface
75+
name: nic4
76+
77+
neutron_physical_bridge_name: br-ex
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_nova_libvirt_qemu_group: "hugetlbfs"
85+
edpm_tuned_isolated_cores: "2-11,14-23"
86+
edpm_ovs_dpdk_pmd_core_list: "1,13,2,14,3,15"
87+
edpm_ovs_dpdk_socket_memory: "4096"
88+
edpm_ovs_dpdk_memory_channels: "4"
89+
edpm_ovs_dpdk_vhost_postcopy_support: "true"
90+
edpm_ovn_bridge_mappings: ['dpdk2:br-link2','dpdk1:br-link1']
91+
gather_facts: false
92+
enable_debug: false
93+
edpm_sshd_allowed_ranges: ['192.168.122.0/24']
94+
nodeset:
95+
nodetemplate:
96+
ansible:
97+
vars:
98+
edpm_enable_chassis_gw: true
99+
nodes:
100+
edpm-networker-0:
101+
hostName: edpm-networker-0
102+
ansible:
103+
ansibleHost: 192.168.122.100
104+
networks:
105+
- name: ctlplane
106+
subnetName: subnet1
107+
defaultRoute: true
108+
fixedIP: 192.168.122.100
109+
- name: internalapi
110+
subnetName: subnet1
111+
- name: tenant
112+
subnetName: subnet1
113+
services:
114+
- bootstrap
115+
- download-cache
116+
- reboot-os
117+
- configure-ovs-dpdk
118+
- configure-network
119+
- validate-network
120+
- install-os
121+
- configure-os
122+
- ssh-known-hosts
123+
- run-os
124+
- install-certs
125+
- ovn
126+
- neutron-ovn

0 commit comments

Comments
 (0)