| 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) |