3 from django.db.models import F, Q
4 from planetstack.config import Config
5 from observer.openstacksyncstep import OpenStackSyncStep
6 from core.models.sliver import Sliver
8 class SyncSliverIps(OpenStackSyncStep):
12 def fetch_pending(self, deleted):
16 slivers = Sliver.objects.filter(ip=None)
19 def sync_record(self, sliver):
20 driver = self.driver.client_driver(tenant=sliver.slice.name,
21 deployment=sliver.node.deployment.name)
22 servers = driver.shell.nova.servers.findall(id=sliver.instance_id)
26 ips = server.addresses.get(sliver.slice.name, [])
29 sliver.ip = ips[0]['addr']
32 logger.info("saved sliver ip: %s %s" % (sliver, ips[0]))