auroradns: Add support for Health Checks #672
Conversation
@@ -140,6 +272,14 @@ def list_zones(self): | |||
return zones | |||
|
|||
def list_records(self, zone): | |||
""" |
Kami
Jan 5, 2016
Member
There is no need to add docstring for methods which are the same as the ones already defined in the base class - those docstrings are automatically inherited from the parent class methods.
There is no need to add docstring for methods which are the same as the ones already defined in the base class - those docstrings are automatically inherited from the parent class methods.
|
||
zone = driver.get_zone('auroradns.eu') | ||
|
||
health_check = driver.create_healthcheck(zone=zone, |
Kami
Jan 5, 2016
Member
I assume this should be ex_create_health_check
? :)
I assume this should be ex_create_health_check
? :)
@@ -1,6 +1,5 @@ | |||
from libcloud.dns.types import Provider | |||
from libcloud.dns.types import Provider, RecordType |
Kami
Jan 5, 2016
Member
We tend to use one import per line - this makes searching and grepping a bit easier.
We tend to use one import per line - this makes searching and grepping a bit easier.
ecff808
to
97575b6
@Kami Thank you for the quick reviews! I just force pushed a new version |
a6132bf
to
c1f4062
:param enabled: (optional) If this healthcheck is enabled to run | ||
:type enabled: ``bool`` | ||
:param extra: (optional) Extra attributes (driver specific). |
jimbobhickville
Jan 7, 2016
Contributor
extra
doesn't seem to be used. Is it needed? Are there other 'health check' drivers that use it and this is just allowing it to be passed in for consistency?
extra
doesn't seem to be used. Is it needed? Are there other 'health check' drivers that use it and this is just allowing it to be passed in for consistency?
wido
Jan 13, 2016
Author
Contributor
That is correct. It is indeed just there for consistency with the other APIs
A more generic approach for health checks might be nice, I think that Route 53 and Google DNS also support this.
That is correct. It is indeed just there for consistency with the other APIs
A more generic approach for health checks might be nice, I think that Route 53 and Google DNS also support this.
c874f39
to
31f8284
AuroraDNS supports Health Checks and based on the state of these checks records will be served or not. This way a Round-Robin DNS balancing can be achieved pointing to only healthy servers/services.
I updated the commit with tests for AuroraDNS. They were merged in #679 Tests are passing on my system, waiting for Travis CI :) |
Thanks @wido |
|
||
def __res_to_zone(self, zone): | ||
return Zone(id=zone['id'], domain=zone['name'], type=DEFAULT_ZONE_TYPE, | ||
return Zone(id=zone['id'], domain=zone['name'], | ||
type=DEFAULT_ZONE_TYPE, | ||
ttl=DEFAULT_ZONE_TTL, driver=self, |
tonybaloney
Jan 15, 2016
Contributor
here too
here too
interval=healthcheck['interval'], | ||
port=healthcheck['port'], | ||
enabled=healthcheck['enabled'], | ||
zone=zone, driver=self) |
tonybaloney
Jan 15, 2016
Contributor
I don't know how this method is used. but you should use self.connection.driver. If there are multiple drivers instantiated weird things would happen with this reference!
I don't know how this method is used. but you should use self.connection.driver. If there are multiple drivers instantiated weird things would happen with this reference!
return Record(id=record['id'], name=name, | ||
type=record['type'], | ||
data=record['content'], zone=zone, | ||
driver=self, ttl=record['ttl'], |
tonybaloney
Jan 15, 2016
Contributor
and here
and here
@tonybaloney Thanks for the feedback! I wasn't aware of that. Fixed that in a new commit. |
thanks. merging |
AuroraDNS supports Health Checks and based on the state of these
checks records will be served or not.
This way a Round-Robin DNS balancing can be achieved pointing to
only healthy servers/services.