diff --git a/ansible/site.yml b/ansible/site.yml
index 968549b5d6..a8e107179b 100644
--- a/ansible/site.yml
+++ b/ansible/site.yml
@@ -602,6 +602,16 @@
         tags: ovs-dpdk,
         when: "(enable_openvswitch | bool) and (enable_ovs_dpdk | bool)"}
 
+- name: Apply role ovn-controller
+  gather_facts: false
+  hosts:
+    - ovn-controller
+    - '&enable_ovn_True'
+  serial: '{{ kolla_serial|default("0") }}'
+  roles:
+    - { role: ovn-controller,
+        tags: [ovn, ovn-controller] }
+
 - name: Apply role ovn-db
   gather_facts: false
   hosts:
@@ -614,16 +624,6 @@
     - { role: ovn-db,
         tags: [ovn, ovn-db] }
 
-- name: Apply role ovn-controller
-  gather_facts: false
-  hosts:
-    - ovn-controller
-    - '&enable_ovn_True'
-  serial: '{{ kolla_serial|default("0") }}'
-  roles:
-    - { role: ovn-controller,
-        tags: [ovn, ovn-controller] }
-
 - name: Apply role neutron
   gather_facts: false
   hosts:
diff --git a/releasenotes/notes/ovn-revert-order-a824e0fe4440be46.yaml b/releasenotes/notes/ovn-revert-order-a824e0fe4440be46.yaml
new file mode 100644
index 0000000000..0f3cb143ab
--- /dev/null
+++ b/releasenotes/notes/ovn-revert-order-a824e0fe4440be46.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    Fixes OVN deployment order - as recommended in OVN docs.
+    `LP#1979329 <https://launchpad.net/bugs/1979329>`__