Feature: pod affinity changes for OVN

Deploy OVN northd using the same pod affinity rules
used with the NB and SB statefulsets. Also change
default anti-affinity for NB and SB statefulsets
to requiredDuringSchedulingIgnoredDuringExecution
over preferredDuringSchedulingIgnoredDuringExecution

Change-Id: I844bbdc53fe10a8b8d9f017b9a3c68d93b695b98

Add unit tests to for OVN Anti-Affinity Rules

These unit tests go over all the statefulset and
deployment  pods using the and make sure they are
all using the right anti-affinity rules.

Change-Id: I2c8b5bf7515040e715bdeed4410acf6656578133
(cherry picked from commit dea3c67d1904ce66de83056cc498a35bc3653e46)
diff --git a/roles/ovn/vars/main.yml b/roles/ovn/vars/main.yml
index b879919..a24b7e9 100644
--- a/roles/ovn/vars/main.yml
+++ b/roles/ovn/vars/main.yml
@@ -43,6 +43,14 @@
               initialDelaySeconds: 30
               timeoutSeconds: 30
               periodSeconds: 60
+    affinity:
+      anti:
+        type:
+          default: requiredDuringSchedulingIgnoredDuringExecution
+        topologyKey:
+          default: kubernetes.io/hostname
+        weight:
+          default: 10
     replicas:
       ovn_ovsdb_nb: 3
       ovn_ovsdb_sb: 3