blob: 3cb3dd0a3bebba3baebc177c80900575a0fe6b93 [file] [log] [blame]
import os
import base64
import random
from datetime import datetime
from django.db.models import F, Q
from planetstack.config import Config
from observer.openstacksyncstep import OpenStackSyncStep
from core.models.node import Node
from core.models.deployment import Deployment
from core.models.site import Site
class SyncNodes(OpenStackSyncStep):
provides=[Node]
requested_interval=0
def fetch_pending(self):
# collect local nodes
sites = Site.objects.all()
one_and_only_deployment = Deployments.objects.all()
node_hostnames = [node.name for node in nodes]
instance_types = 'm1.small | m1.medium | m1.large | m1.xlarge | m3.medium | m3.large | m3.xlarge | m3.2xlarge'.split(' | ')
all_new_nodes = []
for s in sites:
node_names = [n.name for n in s.nodes]
new_node_names = list(set(instance_types) - set(node_names))
new_nodes = []
for node_name in new_node_names:
node = Node(name=node_name,
site=s, deployment=one_and_only_deployment)
new_nodes.append(node)
all_new_nodes.extend(new_nodes)
return all_new_nodes
def sync_record(self, node):
node.save()