CORD-1244 Modify model_policies for OpenStack synchronizer

Change-Id: I8e946e3ca665689bd0449b80d87fe4bb29afde99
diff --git a/xos/synchronizer/model_policies/model_policy_Image.py b/xos/synchronizer/model_policies/model_policy_Image.py
index 153b6b3..37936c1 100644
--- a/xos/synchronizer/model_policies/model_policy_Image.py
+++ b/xos/synchronizer/model_policies/model_policy_Image.py
@@ -1,17 +1,24 @@
 from synchronizers.new_base.modelaccessor import *
+from synchronizers.new_base.policy import Policy
 
-def handle(image):
-    if (image.kind == "container"):
-        # container images do not get instantiated
-        return
+class ImagePolicy(Policy):
+    model_name = "Image"
 
-    controller_images = ControllerImages.objects.filter(image_id=image.id)
-    existing_controllers = [cs.controller for cs in controller_images]
-    existing_controller_ids = [c.id for c in existing_controllers]
+    def handle_create(self, image):
+        return self.handle_update(image)
 
-    all_controllers = Controller.objects.all()
-    for controller in all_controllers:
-        if controller.id not in existing_controller_ids:
-            sd = ControllerImages(image=image, controller=controller)
-            sd.save()
+    def handle_update(self, image):
+        if (image.kind == "container"):
+            # container images do not get instantiated
+            return
+
+        controller_images = ControllerImages.objects.filter(image_id=image.id)
+        existing_controllers = [cs.controller for cs in controller_images]
+        existing_controller_ids = [c.id for c in existing_controllers]
+
+        all_controllers = Controller.objects.all()
+        for controller in all_controllers:
+            if controller.id not in existing_controller_ids:
+                sd = ControllerImages(image=image, controller=controller)
+                sd.save()