fix: IP-Bereiche mit korrekten Adresstypen erstellen
- Start- und Endadressen als netaddr-Objekte übergeben - Fehler einzelner IP-Adressen beim Abgleich protokollieren - IP-Netzübersicht direkt im IPAM-Menü registrieren - Plugin-Version auf 1.2.1 erhöhen
This commit is contained in:
@@ -11,12 +11,17 @@ class Command(BaseCommand):
|
||||
parser.add_argument("--dry-run", action="store_true")
|
||||
|
||||
def handle(self, *args, **options):
|
||||
created = skipped = 0
|
||||
created = skipped = failed = 0
|
||||
for address in IPAddress.objects.select_related("tenant", "assigned_object_type").iterator():
|
||||
ip_range, was_created = ensure_range_for_ip(address)
|
||||
if options["dry_run"] and was_created:
|
||||
ip_range.delete()
|
||||
created += int(was_created)
|
||||
skipped += int(ip_range is None)
|
||||
try:
|
||||
ip_range, was_created = ensure_range_for_ip(address)
|
||||
if options["dry_run"] and was_created:
|
||||
ip_range.delete()
|
||||
created += int(was_created)
|
||||
skipped += int(ip_range is None)
|
||||
except Exception as exc:
|
||||
failed += 1
|
||||
self.stderr.write(f"Fehler bei {address}: {exc}")
|
||||
verb = "würden erstellt" if options["dry_run"] else "erstellt"
|
||||
self.stdout.write(self.style.SUCCESS(f"{created} IP-Bereiche {verb}; {skipped} Hostmasken ignoriert."))
|
||||
message = f"{created} IP-Bereiche {verb}; {skipped} Hostmasken ignoriert; {failed} Fehler."
|
||||
self.stdout.write(self.style.SUCCESS(message) if not failed else self.style.WARNING(message))
|
||||
|
||||
Reference in New Issue
Block a user