4 from datetime import datetime
5 from django.db.models import F, Q
6 from planetstack.config import Config
7 from observer.openstacksyncstep import OpenStackSyncStep
8 from core.models.node import Node
9 from core.models.deployment import Deployment
10 from core.models.site import Site
12 class SyncNodes(OpenStackSyncStep):
16 def fetch_pending(self):
18 sites = Site.objects.all()
19 one_and_only_deployment = Deployments.objects.all()
21 node_hostnames = [node.name for node in nodes]
23 instance_types = 'm1.small | m1.medium | m1.large | m1.xlarge | m3.medium | m3.large | m3.xlarge | m3.2xlarge'.split(' | ')
27 node_names = [n.name for n in s.nodes]
28 new_node_names = list(set(instance_types) - set(node_names))
30 for node_name in new_node_names:
31 node = Node(name=node_name,
32 site=s, deployment=one_and_only_deployment)
33 new_nodes.append(node)
35 all_new_nodes.extend(new_nodes)
40 def sync_record(self, node):