Commit Graph

67 Commits (master)

Author SHA1 Message Date
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