Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 77 additions & 1 deletion modules/installation-osp-kuryr-octavia-configuration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ controller-0$ sudo docker restart octavia_worker
[NOTE]
====
Depending on your {rh-openstack} environment, Octavia might not support UDP
listeners. If you use Kuryr SDN on OpenStack version 15 or earlier, UDP services are not supported.
listeners. If you use Kuryr SDN on OpenStack version 15 or earlier, UDP services are not supported.
{rh-openstack} version 16 or later support UDP.
====

Expand Down Expand Up @@ -240,3 +240,79 @@ If Kuryr uses `ovn` instead of Amphora, it offers the following benefits:
* Reduced network latency.
* Increased service creation speed by using OpenFlow rules instead of a VM for each Service.
* Distributed load balancing actions across all nodes instead of centralized on Amphora VMs.


[id="installation-osp-kuryr-octavia-driver_upgrade_{context}"]
== Upgrading to Octavia OVN Driver on existing deployments

It is possible to upgrade {product-title} that has been deployed before OVN Octavia driver was made available on the {rh-openstack} side.
The steps to perform the upgrade from amphora to ovn-octavia are the next:

[NOTE]
====
Upgrading from amphora to ovn-octavia loadbalancer requires recreation of the
loadbalancers, which means there will be some downtime when accessing the pods
through their associated services -- time needed to delete the amphora load
balancer plus the time needed to create the ovn load balancer.
====

.Procedure

. Check ovn-octavia driver is available
+
----
$ openstack loadbalancer provider list
+---------+-------------------------------------------------+
| name    | description                                     |
+---------+-------------------------------------------------+
| amphora | The Octavia Amphora driver.                     |
| octavia | Deprecated alias of the Octavia Amphora driver. |
| ovn     | Octavia OVN driver.                             |
+---------+-------------------------------------------------+
----

. Edit the `kuryr-config` ConfigMap to trigger the recreation. You simply need
to delete the annotation that states the `default` kuryr-octavia-provider is
being used:
+
----
$ oc -n openshift-kuryr edit cm kuryr-config
...
kind: ConfigMap
metadata:
annotations:
networkoperator.openshift.io/kuryr-octavia-provider: default <-- Remove this line
...
----

. Wait until Cluster Network Operator reconcile loop is executed and detects the
Comment thread
maxwelldb marked this conversation as resolved.
Outdated
modification, triggering the recreation of the kuryr-controller and kuryr-cni
pods

. Check `kuryr-config` ConfigMap annotation has been readded but indicating the
`ovn` driver is being used
+
----
$ oc -n openshift-kuryr edit cm kuryr-config
...
kind: ConfigMap
metadata:
annotations:
networkoperator.openshift.io/kuryr-octavia-provider: ovn
...
----

. Wait until all the loadbalancers have been recreated. Only one amphora
loadbalancer must remain (the one created by Cluster Network Operator) and the
rest should be of ovn type:
+
----
$ openstack loadbalancer list | grep amphora
a4db683b-2b7b-4988-a582-c39daaad7981 | ostest-7mbj6-kuryr-api-loadbalancer | 84c99c906edd475ba19478a9a6690efd | 172.30.0.1 | ACTIVE | amphora
$ openstack loadbalancer list | grep ovn
2dffe783-98ae-4048-98d0-32aa684664cc | openshift-apiserver-operator/metrics | 84c99c906edd475ba19478a9a6690efd | 172.30.167.119 | ACTIVE | ovn
0b1b2193-251f-4243-af39-2f99b29d18c5 | openshift-etcd/etcd | 84c99c906edd475ba19478a9a6690efd | 172.30.143.226 | ACTIVE | ovn
f05b07fc-01b7-4673-bd4d-adaa4391458e | openshift-dns-operator/metrics | 84c99c906edd475ba19478a9a6690efd | 172.30.152.27 | ACTIVE | ovn
....
----