move api.py module to server.py

master
Justin Riley 2016-08-02 13:29:53 -04:00
parent c1a6d81157
commit fb1608ce56
2 changed files with 15 additions and 11 deletions

View File

@ -1,14 +1,14 @@
import argparse import argparse
from onedns import api
from onedns import utils from onedns import utils
from onedns import server
from onedns import logger from onedns import logger
from onedns import monitor
def daemon(args, one_args): def daemon(args, one_args):
mon = monitor.OneMonitor(args.domain, one_kwargs=one_args) srv = server.OneDNS(args.domain, one_kwargs=one_args)
mon.run(args.interval) srv.sync()
srv.daemon(dns_port=args.dns_port)
def add_host(args, one_args): def add_host(args, one_args):
@ -30,9 +30,9 @@ def remove_vm(args, one_args):
def shell(args, one_args): def shell(args, one_args):
onemon = monitor.OneMonitor(args.domain, one_kwargs=one_args) srv = server.OneDNS(args.domain, one_kwargs=one_args)
oneclient = onemon._one oneclient = srv._one
ns = dict(onemon=onemon, oneclient=oneclient, log=logger.log) ns = dict(one_dns=srv, oneclient=oneclient, log=logger.log)
utils.shell(local_ns=ns) utils.shell(local_ns=ns)
@ -55,8 +55,8 @@ def main(args=None):
daemon_parser = subparsers.add_parser('daemon') daemon_parser = subparsers.add_parser('daemon')
daemon_parser.set_defaults(func=daemon) daemon_parser.set_defaults(func=daemon)
daemon_parser.add_argument( daemon_parser.add_argument(
'-i', '--interval', required=False, type=int, default=60, '--dns-port', required=False, default=5053, type=int,
help="how often in seconds to poll ONE and update DNS") help="port for DNS server to listen on")
add_parser = subparsers.add_parser('add') add_parser = subparsers.add_parser('add')
add_subparser = add_parser.add_subparsers() add_subparser = add_parser.add_subparsers()

View File

@ -1,15 +1,17 @@
from onedns import resolver
from onedns import exception from onedns import exception
from onedns.clients import one from onedns.clients import one
from onedns.logger import log from onedns.logger import log
class OneDNS(object): class OneDNS(resolver.DynamicResolver):
""" """
This class provides convenience methods for adding/removing VMs to the This class provides convenience methods for adding/removing VMs to the
DynamicResolver. DynamicResolver.
""" """
def __init__(self, domain, one_kwargs={}): def __init__(self, domain, one_kwargs={}):
super(OneDNS, self).__init__(domain)
self._one = one.OneClient(**one_kwargs) self._one = one.OneClient(**one_kwargs)
def _check_for_networks(self, vm): def _check_for_networks(self, vm):
@ -50,7 +52,9 @@ class OneDNS(object):
return self.remove_vm(vm) return self.remove_vm(vm)
def sync(self): def sync(self):
for vm in self._one.vms(): vms = self._one.vms()
self.clear()
for vm in vms:
try: try:
self.add_vm(vm) self.add_vm(vm)
except exception.NoNetworksError as e: except exception.NoNetworksError as e: