From fb1608ce56b89ce1a00cc902f276968ed92c7b5d Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 13:29:53 -0400 Subject: [PATCH] move api.py module to server.py --- onedns/cli.py | 18 +++++++++--------- onedns/{api.py => server.py} | 8 ++++++-- 2 files changed, 15 insertions(+), 11 deletions(-) rename onedns/{api.py => server.py} (90%) diff --git a/onedns/cli.py b/onedns/cli.py index 078e022..17fc404 100644 --- a/onedns/cli.py +++ b/onedns/cli.py @@ -1,14 +1,14 @@ import argparse -from onedns import api from onedns import utils +from onedns import server from onedns import logger -from onedns import monitor def daemon(args, one_args): - mon = monitor.OneMonitor(args.domain, one_kwargs=one_args) - mon.run(args.interval) + srv = server.OneDNS(args.domain, one_kwargs=one_args) + srv.sync() + srv.daemon(dns_port=args.dns_port) def add_host(args, one_args): @@ -30,9 +30,9 @@ def remove_vm(args, one_args): def shell(args, one_args): - onemon = monitor.OneMonitor(args.domain, one_kwargs=one_args) - oneclient = onemon._one - ns = dict(onemon=onemon, oneclient=oneclient, log=logger.log) + srv = server.OneDNS(args.domain, one_kwargs=one_args) + oneclient = srv._one + ns = dict(one_dns=srv, oneclient=oneclient, log=logger.log) utils.shell(local_ns=ns) @@ -55,8 +55,8 @@ def main(args=None): daemon_parser = subparsers.add_parser('daemon') daemon_parser.set_defaults(func=daemon) daemon_parser.add_argument( - '-i', '--interval', required=False, type=int, default=60, - help="how often in seconds to poll ONE and update DNS") + '--dns-port', required=False, default=5053, type=int, + help="port for DNS server to listen on") add_parser = subparsers.add_parser('add') add_subparser = add_parser.add_subparsers() diff --git a/onedns/api.py b/onedns/server.py similarity index 90% rename from onedns/api.py rename to onedns/server.py index a3555e1..363c5d6 100644 --- a/onedns/api.py +++ b/onedns/server.py @@ -1,15 +1,17 @@ +from onedns import resolver from onedns import exception from onedns.clients import one from onedns.logger import log -class OneDNS(object): +class OneDNS(resolver.DynamicResolver): """ This class provides convenience methods for adding/removing VMs to the DynamicResolver. """ def __init__(self, domain, one_kwargs={}): + super(OneDNS, self).__init__(domain) self._one = one.OneClient(**one_kwargs) def _check_for_networks(self, vm): @@ -50,7 +52,9 @@ class OneDNS(object): return self.remove_vm(vm) def sync(self): - for vm in self._one.vms(): + vms = self._one.vms() + self.clear() + for vm in vms: try: self.add_vm(vm) except exception.NoNetworksError as e: