import os import base64 from planetstack.config import Config from observer.openstacksyncstep import OpenStackSyncStep 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): 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)