Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 16:34

    remerle on functional-test-upgrade

    (compare)

  • 16:34
    remerle closed #1050
  • 16:34

    remerle on functional-test-upgrade

    (compare)

  • 16:33

    remerle on functional-test-upgrade

    WIP - Functional Test Updates … (compare)

  • 06:49
    codecov[bot] commented #1051
  • 06:41
    codecov[bot] commented #1051
  • 06:41
    codecov[bot] commented #1051
  • 06:41
    Aravindh-Raju synchronize #1051
  • Sep 27 12:35
    codecov[bot] commented #1051
  • Sep 27 12:33
    Jay07GIT synchronize #1050
  • Sep 27 12:28
    codecov[bot] commented #1051
  • Sep 27 12:28
    codecov[bot] commented #1051
  • Sep 27 12:28
    Aravindh-Raju synchronize #1051
  • Sep 27 11:48
    codecov[bot] commented #1051
  • Sep 27 11:41
    codecov[bot] commented #1051
  • Sep 27 11:41
    codecov[bot] commented #1051
  • Sep 27 11:40
    Aravindh-Raju synchronize #1051
  • Sep 27 11:35
    codecov[bot] commented #1051
  • Sep 27 11:25
    Aravindh-Raju synchronize #1051
  • Sep 27 11:03
    Aravindh-Raju synchronize #1051
Paul Cleary
@pauljamescleary
https://github.com/vinyldns/vinyldns-python/blob/0e49e2faf636ede752e7a8b3e8a3aa212b5b7150/tests/sampledata.py#L48 - shows creating an NS record, adding multiple records in the array should be fine
if you are using batch changes (dns requests) instead of creating the recordsets directly, this is an example in python of creating the batch change (you would need to replace AData with NSData) - https://github.com/vinyldns/vinyldns-python/blob/0e49e2faf636ede752e7a8b3e8a3aa212b5b7150/tests/test_batch_change.py#L70
batch changes are a little tricky, as you need multiple AddRecord, each with a single NSData
slandry90
@slandry90
That was helpful! I got the add working now.. for others reference this is my code block, (DEFAULT_NAMESERVERS is a list of ns strings)..
for record in DEFAULT_NAMESERVERS:
       record_list.append(NSData(record))
record_set = RecordSet(parent_zone_object.id, zone_name, RecordType.NS, 3600,records=record_list)
VINYLDNS_CLIENT.create_record_set(record_set)
Paul Cleary
@pauljamescleary
Nice!
slandry90
@slandry90
Ok, next question, how do I go about deleting a record when I only have the record name?
slandry90
@slandry90
@pauljamescleary I was thinking about using the search function for python but it doesn't exist in the release of vinyldns-python
Paul Cleary
@pauljamescleary
Right, general search hasn't been moved to all the clients yet. If you are interested, feel free to open an issue there or even a PR
For delete recordset, you can get the record set to get the ID and then issue the delete https://github.com/vinyldns/vinyldns-python/blob/0e49e2faf636ede752e7a8b3e8a3aa212b5b7150/src/vinyldns/client.py#L505
Paul Cleary
@pauljamescleary
deleting a record set by FQDN+RRType should be low-hanging fruit but is not there yet
slandry90
@slandry90
Thank Paul, I got it sorted by using the list function and filtering by the record name to get a record set list.
Paul Cleary
@pauljamescleary
tbh there is now FQDN in the database, so adding an endpoint like DELETE /recordsets/<typ>/<name> or something like that
Lukas M
@lukasmrtvy
guys? is possible to use env variables in vinyldns config ? can vinyldns handle hotreaload ( reload service if config was changed ) ? i want to make a helm chart for vinyldns ( i did find any k8s yamls for vinyldns ). i am also wondering what to use as standalone dns server. powerdns does have official docker image nor unbound, seems that bind has, but i am not sure if is ( and how ) possible to run bind9 in multiple instances
Paul Cleary
@pauljamescleary
Hello @lukasmrtvy, there is no way currently to hot reload confit, although I imagine it’s a simple thing to do.
For a dns server you can try bind or Knot?
Lukas M
@lukasmrtvy
@pauljamescleary not sure what will happend if I will run knot/bind9 in multiple instances, zone file will be shared via persistant volume, but not sure if multple instances can access single zone file
Lukas M
@lukasmrtvy
any chance for supporting coredns with etcd plugin as dns backend ?
like bind,knot even powerdns are not really cloud native
Paul Cleary
@pauljamescleary
@lukasmrtvy we can support any dns backend today, at least those that talk the DNS protocol and accept updates via DDNS
The reason for specific backend implementations is for doing things beyond the standard DNS protocol. For example, Route 53 talks the Route 53 API, not DNS, to query and make updates
I haven't looked, but I am fairly certain that coredns speaks the DNS protocol
Lukas M
@lukasmrtvy
@pauljamescleary there is at least https://coredns.io/plugins/transfer/ plugin, but i am not sure about DDNS updates
also CoreDNS is not authoritative server https://coredns.io/plugins/etcd/
Paul Cleary
@pauljamescleary
At a glance, it appears as though etcd is provided as a means of service discovery, not necessarily DNS
They have all these plugins, this one for example - https://coredns.io/plugins/auto/
Lukas M
@lukasmrtvy
seems its not implemented, thus not compatible with vinyldns
Paul Cleary
@pauljamescleary
Yea, looks like I was offbase when it came to my response that it supports DNS :(
If coredns had any authoritative support, even something like gRPC as opposed to DNS, we could support it.
Lukas M
@lukasmrtvy
I still can not find proper DNS server ( "cloud native" ) that can be suitable for bundling with VinylDNS as a helm chart
Paul Cleary
@pauljamescleary
What are you lookin for in. terms of "proper DNS server", like what attributes of the DNS software?
Lukas M
@lukasmrtvy
Well, main problem is that DNS servers are not made for K8s..
At least with local zone files
So running it in multiple replicas would not work
Maybe some pdns + sql backend
Paul Cleary
@pauljamescleary
Ok, yes persistence would be a challenge. Offloading that from K8s would be an option (although it has been sometime since I looked at K8S persistent storage).
I am kinda shocked that coredns doesn't have authoritative support with an etcd backend, that just makes a lot of sense for them :/
Lukas M
@lukasmrtvy
Persitance itself is not a problem for K8s, problem is that DNS servers are not written for mutliple rw access to zone file, where zone file is share across all instances
Paul Cleary
@pauljamescleary
power dns + mysql seems like a simple enough path to follow
Lukas M
@lukasmrtvy
Would be nice if VinylDNS could create a Zone via pdns API
Paul Cleary
@pauljamescleary
Hmm, does the pdns API offer such a thing?
Paul Cleary
@pauljamescleary
If so, could create a powerdns HTTP api backend that allowed zone creation. It is there for aws
Lukas M
@lukasmrtvy
what i did not find is what backends vinyldns supports..
Paul Cleary
@pauljamescleary
vinyldns supports all backends that talk the DNS protocol and Route 53
The plan is to allow zone creation eventually, but there are security considerations there. The thinking is to allow zone creation for support / sys admins initially before allowing automatic / self service zone creation in the authoritative system
Lukas M
@lukasmrtvy
yes, it makes sense
fingers crossed for support for OpenStack DNS, Azure DNS and eventually PDNS ( but DDNS and ZoneTransfer is just ok ) :D
Lukas M
@lukasmrtvy
@pauljamescleary is support for Consul on the roadmap?