OpenStackDataPlaneNodeSet CR spec properties for dynamic routing

You can use a variety of OpenStackDataPlaneNodeSet CR spec properties to configure an environment that uses dynamic routing.

nodeTemplate

Defines the common attributes for the nodes in this OpenStackDataPlaneNodeSet. You can override these common attributes in the definition for each individual node.

Table 1. nodeTemplate properties
Field Description

ansibleSSHPrivateKeySecret

Name of the private SSH key secret that contains the private SSH key for connecting to nodes.

Secret name format: Secret.data.ssh-privatekey

For more information, see Creating an SSH authentication secret.

Default: dataplane-ansible-ssh-private-key-secret

edpm_frr_bgp_ipv4_src_network

The main IPv4 network used by the neutron OVN agent to communicate with FRRounting (FRR) on the RHOSO data plane.

edpm_frr_bgp_ipv6_src_network

The main IPv6 network used by the neutron OVN agent to communicate with FRR on the RHOSO data plane.

edpm_frr_bgp_neighbor_password

The password used to authenticate with the BGP peer.

edpm_frr_bgp_uplinks

The list of network interfaces used to communicate with the BGP peers, for example, nic3 and nic4.

edpm_neutron_ovn_agent_bgp_peer_bridges

The BGP peer bridges required for the ovn-bgp extension. Each bridge connects the OVN overlay from the corresponding EDPM node with a BGP peering switch (leaf, ToR, …​). Set this variable when ovn-agent is configured with the ovn-bgp extension.

edpm_neutron_ovn_agent_agent_extensions

Functionalities that you can enable on the OVN agent. For dynamic routing, enable both the metadata and the ovn-bgp extensions.

edpm_frr_ovn_vrf_advertise

The VRF name for the ovn-bgp extension, that is used to advertise BGP routes to workload IP addresses.

edpm_frr_ovn_vrf_learn

The VRF name for the ovn-bgp extension, used to learn BGP routes.

edpm_ovn_encap_ip

The IP address that overrides the default IP address used to establish Geneve tunnels between Compute nodes and OVN controllers. The default value for edpm_ovn_encap_ip uses the tenant network IP address that is assigned to the Compute node. In the following example, an IP address from a network called bgpmainnet overrides the default. The bgpmainnet network is configured on the loopback interface, the interface that BGP advertises: edpm_ovn_encap_ip: '{{ lookup(''vars'', ''bgpmainnet_ip'') }}'.

managementNetwork

Name of the network to use for management (SSH/Ansible). Default: ctlplane

networks

Network definitions for the OpenStackDataPlaneNodeSet.

ansible

Ansible configuration options. For more information, see ansible properties.

extraMounts

The files to mount into an Ansible Execution Pod.

userData

UserData configuration for the OpenStackDataPlaneNodeSet.

networkData

NetworkData configuration for the OpenStackDataPlaneNodeSet.

nodes

Defines the node names and node-specific attributes for the nodes in this OpenStackDataPlaneNodeSet. Overrides the common attributes defined in the nodeTemplate.

Table 2. nodes properties
Field Description

ansible

Ansible configuration options. For more information, see ansible properties.

edpm_frr_bgp_peers

  • 100.64.0.5
  • 100.65.0.5

extraMounts

The files to mount into an Ansible Execution Pod.

hostName

The node name.

managementNetwork

Name of the network to use for management (SSH/Ansible).

networkData

NetworkData configuration for the node.

networks

Instance networks.

userData

Node-specific user data.

ansible

Defines the group of Ansible configuration options.

Table 3. ansible properties
Field Description

ansibleUser

The user associated with the secret you created in Creating the data plane secrets. Default: rhel-user

ansibleHost

SSH host for the Ansible connection.

ansiblePort

SSH port for the Ansible connection.

ansibleVars

The Ansible variables that customize the set of nodes. You can use this property to configure any custom Ansible variable, including the Ansible variables available for each edpm-ansible role. For a complete list of Ansible variables by role, see the edpm-ansible documentation.

Note
The ansibleVars parameters that you can configure for an OpenStackDataPlaneNodeSet CR are determined by the services defined for the OpenStackDataPlaneNodeSet. The OpenStackDataPlaneService CRs call the Ansible Playbooks from the edpm-ansible playbook collection, which include the roles that are run as part of the data plane service.

ansibleVarsFrom

A list of sources to populate Ansible variables from. Values defined by an AnsibleVars with a duplicate key take precedence. For more information, see ansibleVarsFrom properties.

ansibleVarsFrom

Defines the list of sources to populate Ansible variables from.

Table 4. ansibleVarsFrom properties
Field Description

prefix

An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.

configMapRef

The ConfigMap CR to select the ansibleVars from.

secretRef

The Secret CR to select the ansibleVars from.

Overriding network defaults with `networkData

When configuring your data plane nodes, you can provide node-specific network configurations by using the networkData parameter, which refers to a Secret that contains the configuration. You can define networkData at two levels within the OpenStackDataPlaneNodeSet CR: under the nodeTemplate properties and under the individual nodes properties. The nodeTemplate field is used to configure the common baseline properties applied to all nodes in the node set. However, if you apply the networkData property to a specific node within the nodes section, this node-specific configuration overrides the inherited default values from the nodeTemplate. This override mechanism allows you to establish a broad default network configuration for a group of nodes, while safely overriding those defaults for specific nodes that require unique, node-specific network setups.