From d9b89eadc2a1bc0f33e7064e83cba504f5401388 Mon Sep 17 00:00:00 2001
From: Hemanth Nakkina <hemanth.nakkina@canonical.com>
Date: Wed, 21 Sep 2022 18:46:25 +0530
Subject: [PATCH] Add mandatory relations

Add mandatory relations to charm

Depends-On: https://review.opendev.org/c/openstack/charm-ops-sunbeam/+/854508
Change-Id: Ieef86d96b6e491b92d82c3c5c261fe2acec772f3
---
 charms/ovn-central-k8s/src/charm.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/charms/ovn-central-k8s/src/charm.py b/charms/ovn-central-k8s/src/charm.py
index 1bc4e737..66108568 100755
--- a/charms/ovn-central-k8s/src/charm.py
+++ b/charms/ovn-central-k8s/src/charm.py
@@ -98,6 +98,10 @@ class OVNCentralOperatorCharm(sunbeam_charm.OSBaseOperatorCharm):
     """Charm the service."""
 
     _state = StoredState()
+    mandatory_relations = {
+        'certificates',
+        'peers'
+    }
 
     def __init__(self, framework):
         super().__init__(framework)
@@ -145,13 +149,15 @@ class OVNCentralOperatorCharm(sunbeam_charm.OSBaseOperatorCharm):
             self.peers = ovn_rhandlers.OVNDBClusterPeerHandler(
                 self,
                 'peers',
-                self.configure_charm)
+                self.configure_charm,
+                'peers' in self.mandatory_relations)
             handlers.append(self.peers)
         if self.can_add_handler('ovsdb-cms', handlers):
             self.ovsdb_cms = ovn_rhandlers.OVSDBCMSProvidesHandler(
                 self,
                 'ovsdb-cms',
-                self.configure_charm)
+                self.configure_charm,
+                'ovsdb-cms' in self.mandatory_relations)
             handlers.append(self.ovsdb_cms)
         handlers = super().get_relation_handlers(handlers)
         return handlers