sync images
diff --git a/planetstack/observer/steps/sync_images.py b/planetstack/observer/steps/sync_images.py
new file mode 100644
index 0000000..2dbd74d
--- /dev/null
+++ b/planetstack/observer/steps/sync_images.py
@@ -0,0 +1,29 @@
+import os
+import base64
+from django.db.models import F, Q
+from planetstack.config import Config
+from observer.openstacksyncstep import OpenStackSyncStep
+from core.models.image import Image
+
+class SyncImages(OpenStackSyncStep):
+ provides=[Image]
+ requested_interval=0
+
+ def fetch_pending(self):
+ images = Image.objects.all()
+ image_names = [image.name for image in images]
+
+ new_images = []
+ glance_images = self.driver.shell.glance.get_images()
+ for glance_image in glance_images:
+ if glance_image['name'] not in image_names:
+ image = Image(image_id=glance_image['id'],
+ name=glance_image['name'],
+ disk_format=glance_image['disk_format'],
+ container_format=glance_image['container_format'])
+ new_images.append(image)
+
+ return new_images
+
+ def sync_record(self, image):
+ image.save()