]> Frank Brehm's Git Trees - pixelpark/create-terraform.git/commitdiff
Raising an error if there are failing addresses and PowerDNS handing is disabled.
authorFrank Brehm <frank.brehm@pixelpark.com>
Mon, 15 Jul 2024 13:26:50 +0000 (15:26 +0200)
committerFrank Brehm <frank.brehm@pixelpark.com>
Mon, 15 Jul 2024 13:26:50 +0000 (15:26 +0200)
lib/create_terraform/__init__.py
lib/create_terraform/handler/dns.py
requirements.txt

index ea5f43e464c24bd78f409351575d2434d993f8b5..ddff6c59c49453903e548d9f126de6c5238ce7de 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/env python3
 # -*- coding: utf-8 -*-
 
-__version__ = '1.9.5'
+__version__ = '1.10.0'
 
 MIN_VERSION_TERRAFORM = '1.6.5'
 MAX_VERSION_TERRAFORM = '1.9.0'
index 34d16e98c5995f949117b46187b39f64ed4cbbb8..837a7fff5e9d57584b65e7560ce772f9eaca33fa 100644 (file)
@@ -23,7 +23,7 @@ from ..errors import AbortExecution
 
 from ..xlate import XLATOR
 
-__version__ = '0.1.1'
+__version__ = '0.2.0'
 LOG = logging.getLogger(__name__)
 
 _ = XLATOR.gettext
@@ -198,24 +198,43 @@ class CrTfHandlerDnsMixin():
         self._validate_forward_dns_mappings()
         self._validate_reverse_dns_mappings()
 
+        three_gt = self.colored('>>>', 'reset')
+        three_lt = self.colored('<<<', 'reset')
+        asterisk = self.colored(' * ', 'reset')
+
         lines = []
+        has_address_errors = False
         if self.dns_mappings2create['forward']:
             for pair in self.dns_mappings2create['forward']:
-                line = '  * {n!r} => {a!r}'.format(n=pair[0], a=str(pair[1]))
+                line = asterisk + '{n!r} => {a!r}'.format(n=pair[0], a=str(pair[1]))
                 lines.append(line)
         else:
-            lines.append(self.colored('>>> ' + _('None') + ' <<<', 'AQUA'))
-        LOG.info(_("Forward DNS entries to create:") + "\n" + '\n'.join(lines))
+            lines.append(three_gt + self.colored(_('None'), 'AQUA') + three_lt)
+        msg = _("Forward DNS entries to create:") + "\n" + '\n'.join(lines)
+        if self.config.no_pdns and self.dns_mappings2create['forward']:
+            LOG.error(msg)
+            has_address_errors = True
+        else:
+            LOG.info(msg)
 
         lines = []
         if self.dns_mappings2create['reverse']:
             for pair in self.dns_mappings2create['reverse']:
-                line = '  * {r} ({a!r}) => {n!r}'.format(
+                line = asterisk + '{r} ({a!r}) => {n!r}'.format(
                     r=pair[0].reverse_pointer, n=pair[1], a=str(pair[0]))
                 lines.append(line)
         else:
-            lines.append(self.colored('>>> ' + _('None') + ' <<<', 'AQUA'))
-        LOG.info(_("Reverse DNS entries to create:") + "\n" + '\n'.join(lines))
+            lines.append(three_gt + self.colored(_('None'), 'AQUA') + three_lt)
+        msg = _("Reverse DNS entries to create:") + "\n" + '\n'.join(lines)
+        if self.config.no_pdns and self.dns_mappings2create['reverse']:
+            LOG.error(msg)
+            has_address_errors = True
+        else:
+            LOG.info(msg)
+
+        if has_address_errors:
+            msg = _('Failing addresses or reverse resolutions has to be created in before.')
+            raise ExpectedHandlerError(msg)
 
     # -------------------------------------------------------------------------ยท
     def _validate_forward_dns_mappings(self):
index 7d15fd3c58f97f8b83f93dd724dae2f7ae7d9fb7..b2611d1a00f4c82007c6e76e27afeea236ca0af1 100644 (file)
@@ -10,6 +10,6 @@ dnspython
 flake8
 setuptools
 fb_logging
-fb_tools
+fb_tools>=2.6.0
 fb_pdnstools
 fb_vmware