Merge branch '3.1' into 3.1

This commit is contained in:
Jeremy Grossmann authored and GitHub committed 2026-10-19 18:11:29 +02:00
commit 68b5e89bfa
51 files changed
+3155 -183

No files matched your search

+17
View File
@@ -45,6 +45,23 @@ class Image(BaseTable):
last_error = Column(String)
templates = relationship("Template", secondary=image_template_map, back_populates="images")
@property
def reference(self):
"""An emulator-relative reference, or an absolute additional-root path."""
import os
from gns3server.utils import force_unix_path
from gns3server.utils.images import default_images_directory
root = os.path.abspath(default_images_directory(self.image_type))
path = os.path.abspath(self.path)
try:
if os.path.commonpath([root, path]) == root:
return force_unix_path(os.path.relpath(path, root))
except ValueError: # Different drives on Windows.
pass
return force_unix_path(path)
class ImageSyncJob(BaseTable):
__tablename__ = "image_sync_jobs"
+3
View File
@@ -201,6 +201,9 @@ class QemuTemplate(Template):
hdd_disk_image = Column(String)
hdd_disk_interface = Column(String)
cdrom_image = Column(String)
cdrom2_image = Column(String)
cdrom_interface = Column(String, nullable=False, default="ide", server_default="ide")
cdrom2_interface = Column(String, nullable=False, default="ide", server_default="ide")
initrd = Column(String)
kernel_image = Column(String)
bios_image = Column(String)
+8
View File
@@ -140,12 +140,20 @@ async def connect_to_db(app: FastAPI) -> None:
def upgrade_inventory(connection):
from alembic.operations import Operations
from gns3server.db_migrations.versions.a6c8e1b2d490_add_second_qemu_cdrom import (
upgrade as upgrade_cdrom,
)
from gns3server.db_migrations.versions.d9e8a2b7c401_image_inventory_reconciliation import (
upgrade,
)
from gns3server.db_migrations.versions.e2a7c9d4b601_add_cdrom_interfaces import (
upgrade as upgrade_cdrom_interfaces,
)
with Operations.context(MigrationContext.configure(connection)):
upgrade()
upgrade_cdrom()
upgrade_cdrom_interfaces()
await conn.run_sync(upgrade_inventory)
await conn.run_sync(run_stamp, alembic_cfg)