checkport.py 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from django.core.management.base import BaseCommand, CommandError
  2. from services.models import Switch
  3. class Command(BaseCommand):
  4. help = 'Analyse de l’état des ports sur les switchs et dans Djadhere.'
  5. def handle(self, *args, **options):
  6. for sw in Switch.objects.all():
  7. for port in sw.ports.all():
  8. if port.up is True:
  9. if port.service:
  10. continue
  11. if port.reserved:
  12. continue
  13. print("%s UP - %s" % (port, port.notes))
  14. elif port.up is False:
  15. if port.reserved:
  16. continue
  17. if port.service:
  18. print("%s DOWN - %s" % (port, port.service))
  19. continue
  20. if port.notes:
  21. print("%s DOWN - %s" % (port, port.notes))
  22. continue
  23. else:
  24. if port.notes:
  25. print("%s UNKNOWN - %s" % (port, port.notes))
  26. # self.stdout.write(self.style.ERROR("Impossible de parser la ligne n°%d: '%s'" % (i, line[:1])))
  27. # continue
  28. #resource = IPResource.objects.get(ip=g.group(1))
  29. #route = g.group(2)
  30. #if route == 'reserved':
  31. # if resource.in_use:
  32. # alloc = resource.allocations.get(active=True)
  33. # self.stdout.write(self.style.WARNING("L’IP %s est marqué réservée dans ip_ttnn.txt mais allouée au service #%d sur Djadhere" % (resource, alloc.service.pk)))
  34. # if not resource.reserved:
  35. # self.stdout.write(self.style.WARNING("L’IP %s est marqué réservée dans ip_ttnn.txt mais pas dans Djadhere" % resource))
  36. # continue
  37. #if route == "unused":
  38. # if resource.in_use:
  39. # alloc = resource.allocations.get(active=True)
  40. # self.stdout.write(self.style.WARNING("L’IP %s est marqué disponible dans ip_ttnn.txt mais allouée au service #%d sur Djadhere" % (resource, alloc.service.pk)))
  41. # continue
  42. #try:
  43. # route = Route.objects.get(name=route)
  44. #except Route.DoesNotExist:
  45. # self.stdout.write(self.style.WARNING("L’IP %s est routée sur %s dans ip_ttnn.txt mais cette route est inconnue dans Djadhere" % (resource, route)))
  46. # continue
  47. #if resource.in_use:
  48. # alloc = resource.allocations.get(active=True)
  49. # if alloc.route != route:
  50. # self.stdout.write(self.style.WARNING("L’IP %s est routée sur %s dans ip_ttnn.txt mais routée sur %s pour le service #%d sur Djadhere" % (resource, route, alloc.route, alloc.service.pk)))
  51. # continue
  52. #if resource.reserved:
  53. # self.stdout.write(self.style.WARNING("L’IP %s est marqué réservée dans Djadhere alors que routée via %s dans ip_ttnn.txt" % (resource, route)))
  54. #if check_reverse:
  55. # try:
  56. # reverse, _, _ = socket.gethostbyaddr(str(resource))
  57. # except:
  58. # reverse = '?'
  59. #else:
  60. # reverse = '?'
  61. #self.stdout.write(self.style.WARNING("L’IP %s est disponible dans Djadhere alors que routée via %s dans ip_ttnn.txt (reverse : %s)" % (resource, route, reverse)))