summaryrefslogtreecommitdiff
path: root/trove/dns/designate/driver.py
diff options
context:
space:
mode:
Diffstat (limited to 'trove/dns/designate/driver.py')
-rw-r--r--trove/dns/designate/driver.py84
1 files changed, 0 insertions, 84 deletions
diff --git a/trove/dns/designate/driver.py b/trove/dns/designate/driver.py
index 13e441dd..d25859a3 100644
--- a/trove/dns/designate/driver.py
+++ b/trove/dns/designate/driver.py
@@ -21,7 +21,6 @@ import base64
import hashlib
from designateclient import client
-from designateclient.v1.records import Record
from keystoneauth1 import loading
from keystoneauth1 import session
from oslo_log import log as logging
@@ -38,9 +37,6 @@ CONF = cfg.CONF
DNS_TENANT_ID = CONF.dns_account_id
DNS_AUTH_URL = CONF.dns_auth_url
-DNS_ENDPOINT_URL = CONF.dns_endpoint_url
-DNS_SERVICE_TYPE = CONF.dns_service_type
-DNS_REGION = CONF.dns_region
DNS_USERNAME = CONF.dns_username
DNS_PASSKEY = CONF.dns_passkey
DNS_TTL = CONF.dns_ttl
@@ -52,18 +48,6 @@ DNS_PROJECT_DOMAIN_ID = CONF.dns_project_domain_id
LOG = logging.getLogger(__name__)
-class DesignateObjectConverter(object):
-
- @staticmethod
- def domain_to_zone(domain):
- return DesignateDnsZone(id=domain.id, name=domain.name)
-
- def record_to_entry(self, record, dns_zone):
- return driver.DnsEntry(name=record.name, content=record.data,
- type=record.type, ttl=record.ttl,
- priority=record.priority, dns_zone=dns_zone)
-
-
def create_designate_client(api_version='2'):
"""Creates a Designate DNSaaS client."""
loader = loading.get_plugin_loader('password')
@@ -77,74 +61,6 @@ def create_designate_client(api_version='2'):
return client.Client(api_version, session=sesh)
-class DesignateDriver(driver.DnsDriver):
-
- def __init__(self):
- self.dns_client = create_designate_client(api_version='1')
- self.converter = DesignateObjectConverter()
- self.default_dns_zone = DesignateDnsZone(id=DNS_DOMAIN_ID,
- name=DNS_DOMAIN_NAME)
-
- def create_entry(self, entry, content):
- """Creates the entry in the driver at the given dns zone."""
- dns_zone = entry.dns_zone or self.default_dns_zone
- if not dns_zone.id:
- raise TypeError(_("The entry's dns_zone must have an ID "
- "specified."))
- name = entry.name
- LOG.debug("Creating DNS entry %s.", name)
- client = self.dns_client
- # Record name has to end with a '.' by dns standard
- record = Record(name=entry.name + '.',
- type=entry.type,
- data=content,
- ttl=entry.ttl,
- priority=entry.priority)
- client.records.create(dns_zone.id, record)
-
- def delete_entry(self, name, type, dns_zone=None):
- """Deletes an entry with the given name and type from a dns zone."""
- dns_zone = dns_zone or self.default_dns_zone
- records = self._get_records(dns_zone)
- matching_record = [rec for rec in records
- if rec.name == name + '.' and rec.type == type]
- if not matching_record:
- raise exception.DnsRecordNotFound(name=name)
- LOG.debug("Deleting DNS entry %s.", name)
- self.dns_client.records.delete(dns_zone.id, matching_record[0].id)
-
- def get_entries_by_content(self, content, dns_zone=None):
- """Retrieves all entries in a DNS zone with matching content field."""
- records = self._get_records(dns_zone)
- return [self.converter.record_to_entry(record, dns_zone)
- for record in records if record.data == content]
-
- def get_entries_by_name(self, name, dns_zone):
- records = self._get_records(dns_zone)
- return [self.converter.record_to_entry(record, dns_zone)
- for record in records if record.name == name]
-
- def get_dns_zones(self, name=None):
- """Returns all dns zones (optionally filtered by the name argument."""
- domains = self.dns_client.domains.list()
- return [self.converter.domain_to_zone(domain)
- for domain in domains if not name or domain.name == name]
-
- def modify_content(self, name, content, dns_zone):
- # We dont need this in trove for now
- raise NotImplementedError(_("Not implemented for Designate DNS."))
-
- def rename_entry(self, content, name, dns_zone):
- # We dont need this in trove for now
- raise NotImplementedError(_("Not implemented for Designate DNS."))
-
- def _get_records(self, dns_zone):
- dns_zone = dns_zone or self.default_dns_zone
- if not dns_zone:
- raise TypeError(_('DNS domain is must be specified'))
- return self.dns_client.records.list(dns_zone.id)
-
-
class DesignateDriverV2(driver.DnsDriver):
def __init__(self):