gns3-server 3.0.3__py3-none-any.whl → 3.0.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gns3-server might be problematic. Click here for more details.

Files changed (116) hide show
  1. gns3_server-3.0.5.dist-info/METADATA +202 -0
  2. {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info}/RECORD +114 -59
  3. {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info}/WHEEL +1 -1
  4. gns3server/api/routes/compute/cloud_nodes.py +1 -1
  5. gns3server/api/routes/controller/computes.py +1 -1
  6. gns3server/api/routes/controller/images.py +0 -5
  7. gns3server/api/routes/controller/links.py +52 -1
  8. gns3server/appliances/almalinux.gns3a +30 -0
  9. gns3server/appliances/arista-veos.gns3a +15 -15
  10. gns3server/appliances/aruba-arubaoscx.gns3a +39 -0
  11. gns3server/appliances/asterfusion-vAsterNOS-campus.gns3a +50 -0
  12. gns3server/appliances/asterfusion-vAsterNOS.gns3a +1 -1
  13. gns3server/appliances/centos-cloud.gns3a +24 -54
  14. gns3server/appliances/cisco-asav.gns3a +2 -2
  15. gns3server/appliances/cisco-c8000v.gns3a +15 -2
  16. gns3server/appliances/cisco-cat9k.gns3a +2 -2
  17. gns3server/appliances/cisco-csr1000v.gns3a +3 -3
  18. gns3server/appliances/cisco-iosv.gns3a +22 -7
  19. gns3server/appliances/cisco-iosvl2.gns3a +2 -1
  20. gns3server/appliances/cisco-iosxrv.gns3a +2 -2
  21. gns3server/appliances/cisco-iosxrv9k.gns3a +16 -133
  22. gns3server/appliances/cisco-iou-l2.gns3a +2 -0
  23. gns3server/appliances/cisco-iou-l3.gns3a +2 -0
  24. gns3server/appliances/cisco-nxosv.gns3a +2 -1
  25. gns3server/appliances/cisco-nxosv9k.gns3a +36 -343
  26. gns3server/appliances/exos.gns3a +13 -0
  27. gns3server/appliances/fedora-cloud.gns3a +30 -0
  28. gns3server/appliances/fortianalyzer.gns3a +42 -0
  29. gns3server/appliances/fortigate.gns3a +42 -0
  30. gns3server/appliances/fortimanager.gns3a +43 -1
  31. gns3server/appliances/infix.gns3a +118 -0
  32. gns3server/appliances/juniper-vJunos-router.gns3a +75 -0
  33. gns3server/appliances/nethsecurity.gns3a +44 -0
  34. gns3server/appliances/oracle-linux-cloud.gns3a +31 -1
  35. gns3server/appliances/rhel.gns3a +57 -1
  36. gns3server/appliances/rockylinux.gns3a +15 -0
  37. gns3server/appliances/vyos.gns3a +13 -0
  38. gns3server/compute/builtin/nodes/nat.py +1 -1
  39. gns3server/compute/docker/__init__.py +8 -9
  40. gns3server/compute/docker/docker_vm.py +2 -1
  41. gns3server/compute/qemu/qemu_vm.py +69 -28
  42. gns3server/compute/vmware/vmware_vm.py +1 -2
  43. gns3server/controller/__init__.py +14 -0
  44. gns3server/controller/compute.py +4 -3
  45. gns3server/controller/gns3vm/virtualbox_gns3_vm.py +55 -28
  46. gns3server/crash_report.py +1 -1
  47. gns3server/custom_symbols/6wind.svg +1 -0
  48. gns3server/custom_symbols/alpine-virt-qemu.svg +46 -0
  49. gns3server/custom_symbols/arista_bybaro.svg +24 -0
  50. gns3server/custom_symbols/asterfusion-vAsterNOS.svg +48 -0
  51. gns3server/custom_symbols/cisco-fmcv.svg +498 -0
  52. gns3server/custom_symbols/cisco-ise.svg +244 -0
  53. gns3server/custom_symbols/csr1000v_bybaro.svg +38 -0
  54. gns3server/custom_symbols/cumulus_bybaro.svg +27 -0
  55. gns3server/custom_symbols/firefox.svg +1 -0
  56. gns3server/custom_symbols/fortigate_bybaro.svg +42 -0
  57. gns3server/custom_symbols/fortinet.svg +72 -0
  58. gns3server/custom_symbols/innovaphone-ap-icon.jpg +0 -0
  59. gns3server/custom_symbols/innovaphone-pbx-green.png +0 -0
  60. gns3server/custom_symbols/juniper-vmx.svg +284 -0
  61. gns3server/custom_symbols/juniper-vqfx.svg +324 -0
  62. gns3server/custom_symbols/junos_olive_bybaro.svg +18 -0
  63. gns3server/custom_symbols/linux_guest.svg +1917 -0
  64. gns3server/custom_symbols/loadbalancer.svg +380 -0
  65. gns3server/custom_symbols/loadbalancer_docker.svg +387 -0
  66. gns3server/custom_symbols/mgmt_station.svg +1967 -0
  67. gns3server/custom_symbols/mgmt_station_docker.svg +1996 -0
  68. gns3server/custom_symbols/microsoft.svg +85 -0
  69. gns3server/custom_symbols/multilayer_switch_docker.svg +332 -0
  70. gns3server/custom_symbols/multilayer_switch_green_docker.svg +344 -0
  71. gns3server/custom_symbols/multilayer_switch_red_docker.svg +344 -0
  72. gns3server/custom_symbols/opennac.png +0 -0
  73. gns3server/custom_symbols/opensuse.svg +126 -0
  74. gns3server/custom_symbols/openvswitch_bybaro.svg +26 -0
  75. gns3server/custom_symbols/ostinato-3d-icon.svg +95 -0
  76. gns3server/custom_symbols/packetfence2.png +0 -0
  77. gns3server/custom_symbols/pan-vm-fw.svg +364 -0
  78. gns3server/custom_symbols/parrotlogo.png +0 -0
  79. gns3server/custom_symbols/qemu_guest_win10_bybaro.svg +56 -0
  80. gns3server/custom_symbols/qemu_guest_win7_bybaro.svg +59 -0
  81. gns3server/custom_symbols/qemu_guest_win8_bybaro.svg +56 -0
  82. gns3server/custom_symbols/router_docker.svg +213 -0
  83. gns3server/custom_symbols/router_green.svg +206 -0
  84. gns3server/custom_symbols/router_green_docker.svg +665 -0
  85. gns3server/custom_symbols/router_red.svg +206 -0
  86. gns3server/custom_symbols/router_red_docker.svg +213 -0
  87. gns3server/custom_symbols/rpi.png +0 -0
  88. gns3server/custom_symbols/securityonion-logo.png +0 -0
  89. gns3server/custom_symbols/shieldedtux.png +0 -0
  90. gns3server/custom_symbols/steelhead-vcx.png +0 -0
  91. gns3server/custom_symbols/stormshield.png +0 -0
  92. gns3server/custom_symbols/ubuntu.svg +1750 -0
  93. gns3server/custom_symbols/vRIN.svg +316 -0
  94. gns3server/custom_symbols/vsrx_bybaro.svg +44 -0
  95. gns3server/custom_symbols/vyos.svg +35 -0
  96. gns3server/disks/OVMF_CODE_4M.fd +0 -0
  97. gns3server/disks/OVMF_VARS_4M.fd +0 -0
  98. gns3server/schemas/__init__.py +1 -1
  99. gns3server/schemas/compute/docker_nodes.py +2 -2
  100. gns3server/schemas/compute/dynamips_nodes.py +5 -5
  101. gns3server/schemas/compute/iou_nodes.py +2 -2
  102. gns3server/schemas/controller/links.py +21 -0
  103. gns3server/schemas/controller/templates/docker_templates.py +2 -2
  104. gns3server/schemas/controller/templates/dynamips_templates.py +19 -19
  105. gns3server/schemas/controller/templates/iou_templates.py +4 -4
  106. gns3server/schemas/controller/templates/qemu_templates.py +1 -1
  107. gns3server/schemas/controller/users.py +3 -3
  108. gns3server/static/web-ui/index.html +1 -1
  109. gns3server/static/web-ui/main.fd9d76d279fa7d5e.js +1 -0
  110. gns3server/utils/images.py +10 -0
  111. gns3server/version.py +2 -2
  112. gns3_server-3.0.3.dist-info/METADATA +0 -869
  113. gns3server/static/web-ui/main.2e807eb4bc32f838.js +0 -1
  114. {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info}/entry_points.txt +0 -0
  115. {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info/licenses}/LICENSE +0 -0
  116. {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info}/top_level.txt +0 -0
@@ -342,6 +342,12 @@ async def write_image(
342
342
  allow_raw_image=False
343
343
  ) -> models.Image:
344
344
 
345
+ db_image = await images_repo.get_image(image_path)
346
+ if db_image and os.path.exists(image_path):
347
+ # the image already exists in the database and on disk
348
+ log.info(f"Image {image_path} already exists")
349
+ return db_image
350
+
345
351
  image_dir, image_name = os.path.split(image_filename)
346
352
  log.info(f"Writing image file to '{image_path}'")
347
353
  # Store the file under its final name only when the upload is completed
@@ -381,6 +387,10 @@ async def write_image(
381
387
  except OSError:
382
388
  log.warning(f"Could not remove '{tmp_path}'")
383
389
 
390
+ if db_image:
391
+ # the image already exists in the database, no need to add it again
392
+ return db_image
393
+
384
394
  return await images_repo.add_image(
385
395
  image_name,
386
396
  image_type,
gns3server/version.py CHANGED
@@ -22,8 +22,8 @@
22
22
  # or negative for a release candidate or beta (after the base version
23
23
  # number has been incremented)
24
24
 
25
- __version__ = "3.0.3"
26
- __version_info__ = (3, 0, 3, 0)
25
+ __version__ = "3.0.5"
26
+ __version_info__ = (3, 0, 5, 0)
27
27
 
28
28
  if "dev" in __version__:
29
29
  try: