| import os |
| import base64 |
| from django.db.models import F, Q |
| from planetstack.config import Config |
| from observer.syncstep import SyncStep |
| from core.models.image import Image |
| from awslib import * |
| |
| class SyncImages(OpenStackSyncStep): |
| provides=[Image] |
| requested_interval=3600 |
| |
| def fetch_pending(self): |
| images = Image.objects.all() |
| image_names = [image.name for image in images] |
| |
| new_images = [] |
| |
| aws_images = aws_run('ec2 describe-images') |
| |
| for aws_image in aws_images: |
| if aws_image not in image_names: |
| image = Image(image_id=image_id, |
| name=aws_image['name'], |
| disk_format='XXX' |
| container_format='XXX' |
| new_images.append(image) |
| |
| return new_images |
| |
| def sync_record(self, image): |
| image.save() |