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):
13 slivers = Sliver.objects.filter(ip=None)
16 def sync_record(self, sliver):
17 driver = self.driver.client_driver(tenant=sliver.slice.name,
18 deployment=sliver.node.deployment.name)
19 servers = driver.shell.nova.servers.findall(id=sliver.instance_id)
23 ips = server.addresses.get(sliver.slice.name, [])
26 sliver.ip = ips[0]['addr']
28 logger.info("saved sliver ip: %s %s" % (sliver, ips[0]))