CORD-1244 Modify model_policies for OpenStack synchronizer
Change-Id: I8e946e3ca665689bd0449b80d87fe4bb29afde99
diff --git a/xos/synchronizer/model_policies/model_policy_SlicePrivilege.py b/xos/synchronizer/model_policies/model_policy_SlicePrivilege.py
index f4fab58..428c7e3 100644
--- a/xos/synchronizer/model_policies/model_policy_SlicePrivilege.py
+++ b/xos/synchronizer/model_policies/model_policy_SlicePrivilege.py
@@ -1,15 +1,22 @@
from synchronizers.new_base.modelaccessor import *
+from synchronizers.new_base.policy import Policy
-def handle(slice_privilege):
- # slice_privilege = SlicePrivilege.get(slice_privilege_id)
- # apply slice privilage at all controllers
- controller_slice_privileges = ControllerSlicePrivilege.objects.filter(
- slice_privilege = slice_privilege,
- )
- existing_controllers = [sp.controller for sp in controller_slice_privileges]
- all_controllers = Controller.objects.all()
- for controller in all_controllers:
- if controller not in existing_controllers:
- ctrl_slice_priv = ControllerSlicePrivilege(controller=controller, slice_privilege=slice_privilege)
- ctrl_slice_priv.save()
+class SlicePrivilegePolicy(Policy):
+ model_name = "SlicePrivilege"
+
+ def handle_create(self, slice_privilege):
+ return self.handle_update(slice_privilege)
+
+ def handle_update(self, slice_privilege):
+ # slice_privilege = SlicePrivilege.get(slice_privilege_id)
+ # apply slice privilage at all controllers
+ controller_slice_privileges = ControllerSlicePrivilege.objects.filter(
+ slice_privilege = slice_privilege,
+ )
+ existing_controllers = [sp.controller for sp in controller_slice_privileges]
+ all_controllers = Controller.objects.all()
+ for controller in all_controllers:
+ if controller not in existing_controllers:
+ ctrl_slice_priv = ControllerSlicePrivilege(controller=controller, slice_privilege=slice_privilege)
+ ctrl_slice_priv.save()