summaryrefslogtreecommitdiff
path: root/designate/worker/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'designate/worker/utils.py')
-rw-r--r--designate/worker/utils.py82
1 files changed, 0 insertions, 82 deletions
diff --git a/designate/worker/utils.py b/designate/worker/utils.py
deleted file mode 100644
index f82d5432..00000000
--- a/designate/worker/utils.py
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 2016 Rackspace Inc.
-#
-# Author: Tim Simmons <tim.simmons@rackspace>
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.mport threading
-import dns
-import dns.exception
-import dns.query
-from oslo_config import cfg
-from oslo_log import log as logging
-
-LOG = logging.getLogger(__name__)
-CONF = cfg.CONF
-
-
-def prepare_msg(zone_name, rdatatype=dns.rdatatype.SOA, notify=False):
- """
- Do the needful to set up a dns packet with dnspython
- """
- dns_message = dns.message.make_query(zone_name, rdatatype)
- if notify:
- dns_message.set_opcode(dns.opcode.NOTIFY)
- else:
- dns_message.set_opcode(dns.opcode.QUERY)
- return dns_message
-
-
-def dig(zone_name, host, rdatatype, port=53):
- """
- Set up and send a regular dns query, datatype configurable
- """
- query = prepare_msg(zone_name, rdatatype=rdatatype)
-
- return send_dns_msg(query, host, port=port)
-
-
-def notify(zone_name, host, port=53):
- """
- Set up a notify packet and send it
- """
- msg = prepare_msg(zone_name, notify=True)
-
- return send_dns_msg(msg, host, port=port)
-
-
-def send_dns_msg(dns_message, host, port=53):
- """
- Send the dns message and return the response
-
- :return: dns.Message of the response to the dns query
- """
- # This can raise some exceptions, but we'll catch them elsewhere
- if not CONF['service:mdns'].all_tcp:
- return dns.query.udp(
- dns_message, host, port=port, timeout=10)
- else:
- return dns.query.tcp(
- dns_message, host, port=port, timeout=10)
-
-
-def get_serial(zone_name, host, port=53):
- """
- Possibly raises dns.exception.Timeout or dns.query.BadResponse.
- Possibly returns 0 if, e.g., the answer section is empty.
- """
- resp = dig(zone_name, host, dns.rdatatype.SOA, port=port)
- if not resp.answer:
- return 0
- rdataset = resp.answer[0].to_rdataset()
- if not rdataset:
- return 0
- return rdataset[0].serial