blob: 4421ca5f768a4fc6f834f094bdc4c3d4acefbc16 [file] [log] [blame]
import os
import base64
from planetstack.config import Config
class SyncSliverIps(OpenStackSyncStep):
provides=[Sliver]
def fetch_pending(self):
slivers = Sliver.objects.filter(ip=None)
return slivers
def sync_record(self, sliver):
self.manager.init_admin(tenant=sliver.slice.name)
servers = self.manager.driver.shell.nova.servers.findall(id=sliver.instance_id)
if not servers:
continue
server = servers[0]
ips = server.addresses.get(sliver.slice.name, [])
if not ips:
continue
sliver.ip = ips[0]['addr']
sliver.save()
logger.info("saved sliver ip: %s %s" % (sliver, ips[0]))