blob: 28d24ccd4e77a73c2d2ecd20c7f7616276e09261 [file] [log] [blame]
import os
import base64
from planetstack.config import Config
from observer.openstacksyncstep import OpenStackSyncStep
from core.models.site import Deployment
class SyncExternalRoutes(OpenStackSyncStep):
# XXX what does this provide?
provides=[]
requested_interval = 86400 # This step is slow like a pig. Let's run it infrequently
def call(self, **args):
deployments = Deployment.objects.all()
self.driver = self.driver.admin_driver(deployment=deployments[0],tenant='admin')
routes = self.driver.get_external_routes()
subnets = self.driver.shell.quantum.list_subnets()['subnets']
for subnet in subnets:
try:
self.driver.add_external_route(subnet, routes)
except:
logger.log_exc("failed to add external route for subnet %s" % subnet)