Vitaliy Filippov
c03be448e0
Send empty replies to AAAA requests
...
In conformance with https://tools.ietf.org/html/rfc4074 # Expected Behavior
2020-01-23 18:43:32 +03:00
Vitaliy Filippov
57dfab11eb
Enable TCP by default and add option to disable it
2020-01-22 13:50:25 +03:00
Vitaliy Filippov
42c7d2b5e6
Add dns_address cli parameter
2020-01-17 17:48:14 +03:00
Vitaliy Filippov
6de1109854
Change to a non-root user after starting the server
2020-01-17 17:22:19 +03:00
Justin Riley
1d7f8dcf63
catch and log all sync exceptions in daemon
...
...instead of crashing.
2017-04-14 14:14:57 -04:00
Justin Riley
16dd655a94
add --version flag
...
closes #1
2017-04-14 13:16:15 -04:00
Justin Riley
f71b8080cc
daemon: sync with opennebula on defined interval
...
- Added --sync-interval option that defaults to 5 minutes
2016-10-21 00:30:39 -04:00
Justin Riley
198fa9f770
daemon: set default dns port to 53
2016-10-17 15:40:52 -04:00
Justin Riley
f05db7d322
tests: add fixtures from opennebula test instance
2016-10-07 15:30:32 -04:00
Justin Riley
f9554f7f79
resolver: remove unused future print import
2016-10-06 00:29:49 -04:00
Justin Riley
9ca71db458
server: sanitize VM names in _get_vm_dns_entries
...
...using the same method as 15-hostname in OpenNebula/addon-context-linux
2016-10-06 00:23:40 -04:00
Justin Riley
abd1744553
utils: add tests for get_fqdn
2016-10-05 23:36:07 -04:00
Justin Riley
5475be37f2
add tests for onedns.server (now at 100% coverage)
2016-09-28 11:35:07 -04:00
Justin Riley
4c245819ce
server: implement tiebreaker for VMs with same name/IP
...
The tiebreaker is first-come first serve - ie whichever VM had the name
or IP first wins (based on VM id). The sync() method now sorts the VM
list by id in order to evaluate the tiebreaker correctly (VM list comes
that way from ONED but just in case...).
2016-09-28 11:18:14 -04:00
Justin Riley
a7051e0689
server: build new zone and replace live copy in sync
...
Instead of clearing the live zone and iterating through and adding
records from OpenNebula we build an entirely new zone, sync it with
OpenNebula, and instantaneously swap it with the currently live zone.
This minimizes the amount of time that the DNS server is missing entries
while its syncing with OpenNebula.
2016-09-28 11:16:31 -04:00
Justin Riley
3a07adba10
resolver: add zone kwarg to {add,remove}_host methods
2016-09-28 11:07:12 -04:00
Justin Riley
bc88849e31
add utils for verifying presence/absence in DNS
2016-09-28 10:48:26 -04:00
Justin Riley
8bad8b47d4
add tests for onedns base exception
2016-08-19 12:28:10 -04:00
Justin Riley
a97e9f687c
add tests for cli
2016-08-19 09:19:50 -04:00
Justin Riley
b735c84a04
resolver: add thread mutex and use new zone module
2016-08-17 16:21:05 -04:00
Justin Riley
2c0283fdb7
add zone module with in-memory zone implementation
2016-08-17 10:13:43 -04:00
Justin Riley
56f6998753
add vms fixture that gets recorded using vcrpy
...
Should help prevent creating duplicate vcrpy yaml's in
onedns/tests/fixtures for the same 'get all vms' request in multiple
tests.
2016-08-12 11:24:52 -04:00
Justin Riley
6892508b9e
resolver: add zone kwarg to add_host
...
This will allow OneDNS.sync to build a new zone and instantly swap it
with the currently active zone to minimize downtime.
2016-08-12 11:13:50 -04:00
Justin Riley
ec8c1902ab
move get_fqdn to onedns.utils module
2016-08-12 11:12:11 -04:00
Justin Riley
7f2a3ca8a8
add kwargs for server, port, and tcp to dnsquery
2016-08-12 11:03:55 -04:00
Justin Riley
6fecaed95a
add optional vms kwarg to sync for testing
2016-08-12 10:44:09 -04:00
Justin Riley
9ba49ee677
tests: move dns query code to onedns.tests.utils
2016-08-03 12:01:41 -04:00
Justin Riley
e6a1724251
fix flake8 failures
2016-08-03 11:45:57 -04:00
Justin Riley
2c32c03ab4
vcr: scrub ONE xmlrpc auth from recordings
2016-08-03 11:38:10 -04:00
Justin Riley
17acd42c7d
vcr: decompress response bodies before recording
2016-08-03 11:33:36 -04:00
Justin Riley
8d00264eb7
vcr: save fixtures with .yaml extension
2016-08-03 11:33:17 -04:00
Justin Riley
a0cadb7258
logger: remove unused os import
2016-08-03 00:38:56 -04:00
Justin Riley
679f3a0369
use vcrpy for oneclient tests
...
Will commit cassettes later once the tests have been executed on a test
VM and the test authorization token has been stripped.
2016-08-03 00:36:18 -04:00
Justin Riley
eff941dbf8
utils: add get_kwargs_from_env function
2016-08-03 00:13:16 -04:00
Justin Riley
923c8305ae
add tests for utils module
2016-08-02 23:19:04 -04:00
Justin Riley
649fb7d6a6
add tests for onedns.logger module
2016-08-02 18:35:17 -04:00
Justin Riley
8b02727e35
remove unused onedns.monitor module
2016-08-02 18:08:50 -04:00
Justin Riley
c4941aaf44
add tests for one.OneClient
2016-08-02 18:06:51 -04:00
Justin Riley
ea68558d63
logger: remove syslog handlers for now
2016-08-02 17:28:44 -04:00
Justin Riley
68b64b58ee
logger: leave default log completely unconfigured
...
...dont add NullHandler
2016-08-02 17:25:38 -04:00
Justin Riley
989e194c1a
cli: remove all commands except daemon and shell
...
...for now
2016-08-02 13:32:12 -04:00
Justin Riley
fb1608ce56
move api.py module to server.py
2016-08-02 13:31:55 -04:00
Justin Riley
c1a6d81157
add daemon method to DynamicResolver
...
Keeps main process up indefinitely as long as DynamicResolver UDP
socketserver is up
2016-08-02 13:29:30 -04:00
Justin Riley
12a2a46f14
move server.py -> resolver.py
2016-08-02 12:39:02 -04:00
Justin Riley
8dfa63da5d
remove all traces of skydns and etcd from code
2016-08-02 11:54:29 -04:00
Justin Riley
a80a85191c
add DynamicResolver class with 100% test coverage
2016-08-02 11:29:16 -04:00
Justin Riley
ee1e22708d
cli: add args=None kwarg to main()
2016-07-21 15:21:47 -04:00
Justin Riley
0063ecc526
move get_kwargs to utils as get_kwargs_from_dict
2016-07-21 15:15:51 -04:00
Justin Riley
f8126ea533
improve implementation of show_tb kwarg
...
...shows traceback while still showing ERROR or WARN
2016-07-21 13:39:59 -04:00
Justin Riley
93db7bcd17
add log instance to IPython shell environment
2016-07-21 13:37:03 -04:00