import os
import base64
+from django.db.models import F, Q
from planetstack.config import Config
+from observer.openstacksyncstep import OpenStackSyncStep
+from core.models.network import *
class SyncNetworkSlivers(OpenStackSyncStep):
- requested_interval = 3600
- provides=[NetworkSliver]
+ requested_interval = 3600
+ provides=[NetworkSliver]
- def call(self):
+ def fetch_pending(self):
+ return NetworkSliver.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None))
+
+ def call(self, failed=[]):
networkSlivers = NetworkSliver.objects.all()
networkSlivers_by_id = {}
networkSlivers_by_port = {}
for sliver in slivers:
slivers_by_instance_id[sliver.instance_id] = sliver
- ports = self.manager.driver.shell.quantum.list_ports()["ports"]
+ ports = self.driver.shell.quantum.list_ports()["ports"]
for port in ports:
if port["id"] in networkSlivers_by_port:
# we already have it
print "port", port["id"], "has no fixed_ips"
continue
-# print "XXX", port
+# print "XXX", port
ns = NetworkSliver(network=network,
sliver=sliver,