You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs_user/modules/proc_adopting-compute-services-to-the-data-plane.adoc
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -637,8 +637,24 @@ done
637
637
----
638
638
+
639
639
[NOTE]
640
+
====
640
641
Ensure that you use the same list of services from the original `OpenStackDataPlaneNodeSet` CR, except for the `ceph-client` and `ceph-hci-pre` services.
641
642
643
+
For environments that are enabled with border gateway protocol (BGP), you must add the following services to the list in the order shown:
644
+
645
+
* After `configure-network` and before `validate-network`: Add `frr` service for FRRouting BGP support
646
+
* After `neutron-metadata` and before `libvirt`: Add `ovn-bgp-agent` service for OVN BGP agent
647
+
648
+
You must also configure the following additional Ansible variables in the `nodeTemplate.ansible.ansibleVars` section:
649
+
650
+
* `edpm_frr_image`: The FRRouting container image
651
+
* `edpm_ovn_bgp_agent_image`: The OVN BGP agent container image
652
+
* `edpm_frr_bgp_ipv4_src_network`: The network name for BGP IPv4 source (for example, `bgpmainnet`)
653
+
* `edpm_frr_bgp_ipv6_src_network`: The network name for BGP IPv6 source (for example, `bgpmainnetv6`)
654
+
* `edpm_frr_bgp_neighbor_password`: The BGP neighbor password
655
+
* `edpm_ovn_encap_ip`: Set to the BGP main network IP (for example, `{{ lookup("vars", "bgpmainnet_ip") }}`)
656
+
====
657
+
642
658
. Optional: Enable `neutron-sriov-nic-agent` in the `OpenStackDataPlaneNodeSet` CR:
Copy file name to clipboardExpand all lines: docs_user/modules/proc_adopting-networker-services-to-the-data-plane.adoc
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -258,6 +258,23 @@ EOF
258
258
* `spec.tlsEnabled` specifies whether TLS Everywhere is enabled. If TLS is enabled, change `spec:tlsEnabled` to `true`.
259
259
* `edpm_ovn_bridge_mappings: <bridge_mappings>` specifies the bridge mapping values that you used in your {rhos_prev_long} {rhos_prev_ver} deployment.
260
260
* `edpm_enable_chassis_gw` specifies whether to run `ovn-controller` in gateway mode.
261
+
+
262
+
[NOTE]
263
+
====
264
+
For environments that are enabled with border gateway protocol (BGP), you must add the following services to the `services` list in the order shown:
265
+
266
+
* After `configure-network` and before `validate-network`: Add `frr` service for FRRouting BGP support
267
+
* After `ovn` and `neutron-metadata` services: Add `ovn-bgp-agent` service
268
+
269
+
You must also configure the following additional Ansible variables in the `nodeTemplate.ansible.ansibleVars` section:
270
+
271
+
* `edpm_frr_image`: The FRRouting container image
272
+
* `edpm_ovn_bgp_agent_image`: The OVN BGP agent container image
273
+
* `edpm_frr_bgp_ipv4_src_network`: The network name for BGP IPv4 source (for example, `bgpmainnet`)
274
+
* `edpm_frr_bgp_ipv6_src_network`: The network name for BGP IPv6 source (for example, `bgpmainnetv6`)
275
+
* `edpm_frr_bgp_neighbor_password`: The BGP neighbor password
276
+
* `edpm_ovn_encap_ip`: Set to the BGP main network IP (for example, `{{ lookup("vars", "bgpmainnet_ip") }}`)
277
+
====
261
278
262
279
. Ensure that you use the same `ovn-controller` settings in the `OpenStackDataPlaneNodeSet` CR that you used in the Networker nodes before adoption. This configuration is stored in the `external_ids` column in the `Open_vSwitch` table in the Open vSwitch database:
For environments that are enabled with border gateway protocol (BGP), the network annotation must include a default route to enable proper routing. Use the following instead:
@@ -136,13 +153,52 @@ The source cloud always uses the same password for cells databases. For that rea
136
153
137
154
.Procedure
138
155
156
+
. If your source {OpenStackShort} environment uses border gateway protocol (BGP) for Layer 3 networking, create a `BGPConfiguration` custom resource to enable BGP routing:
157
+
+
158
+
----
159
+
$ cat << EOF > bgp.yaml
160
+
apiVersion: network.openstack.org/v1beta1
161
+
kind: BGPConfiguration
162
+
metadata:
163
+
name: bgpconfiguration
164
+
namespace: openstack
165
+
spec: {}
166
+
EOF
167
+
168
+
$ oc apply -f bgp.yaml
169
+
----
170
+
+
171
+
The `BGPConfiguration` resource enables BGP route advertisement between the {rhocp_long} cluster and the source cloud, which is necessary for the `mariadb-client` pod to reach the source MariaDB cluster.
172
+
173
+
. Create a persistent `mariadb-client` pod for database operations:
For BGP-enabled environments, this command might take a few moments to succeed while BGP routes are advertised and propagated through the network. The `mariadb-client` pod needs to receive the route to the source MariaDB IP address through BGP before it can establish a connection. If the command fails, wait a few seconds and retry. The connection should succeed once the BGP route advertisement is complete.
191
+
192
+
For standard (non-BGP) deployments, this command should succeed immediately.
193
+
====
194
+
139
195
. Export the shell variables for the following outputs and test the connection to the {OpenStackShort} database:
* `declare -xA SRIOV_AGENTS` gets the `neutron-sriov-nic-agent` configuration to use for the data plane adoption if `neutron-sriov-nic-agent` agents are running in your {OpenStackShort} deployment.
240
296
297
+
. Clean up the `mariadb-client` pod:
298
+
+
299
+
----
300
+
$ oc delete pod mariadb-client
301
+
----
302
+
+
303
+
The `mariadb-client` pod is no longer needed after all the data is exported and stored.
304
+
241
305
.Next steps
242
306
243
307
This configuration and the exported values are required later, during the data plane adoption post-checks. After the {OpenStackShort} control plane services are shut down, if any of the exported values are lost, re-running the `export` command fails because the control plane services are no longer running on the source cloud, and the data cannot be retrieved. To avoid data loss, preserve the exported values in an environment file before shutting down the control plane services.
0 commit comments