Ejemplo n.º 1
0
def test_migrate13Config(tmpdir):
    local_config = LocalConfig()

    config_file = str(tmpdir / "gns3_gui.conf")

    server_config = {
        "allow_console_from_anywhere": True,
        "auth": False,
        "auto_start": True,
        "console_end_port_range": 5000,
        "console_start_port_range": 2001,
        "host": "127.0.0.1",
        "images_path": "/home/gns3/GNS3/images",
        "password": "",
        "path": "/bin/gns3server",
        "port": 8001,
        "projects_path": "/home/gns3/GNS3/projects",
        "report_errors": False,
        "udp_end_port_range": 20000,
        "udp_start_port_range": 10000,
        "user": ""
    }

    with open(config_file, "w+") as f:
        f.write(json.dumps({
            "LocalServer": server_config,
            "RemoteServers": [
                server_config
            ],
            "GUI": {
                "hide_getting_started_dialog": True
            },
            "type": "settings",
            "version": "1.3.7"}))

    local_config._readConfig(config_file)
    local_config._migrateOldConfig()

    # The old config should not be erased in order to avoid losing data when rollback to 1.3
    assert local_config._settings["LocalServer"] == server_config
    assert local_config._settings["RemoteServers"] == [server_config]
    assert local_config._settings["Servers"]["local_server"] == server_config
    assert local_config._settings["Servers"]["remote_servers"] == [server_config]
    assert local_config._settings["MainWindow"]["hide_getting_started_dialog"] == True

    # When the file is migrated to 1.4 we should not try to modify it
    with open(config_file, "w+") as f:
        f.write(json.dumps({
            "LocalServer": {"host": "error"},
            "type": "settings",
            "version": "1.4.2"}))

    local_config._readConfig(config_file)
    local_config._migrateOldConfig()

    assert local_config._settings["LocalServer"]["host"] == "error"
    assert local_config._settings["Servers"]["local_server"]["host"] == "127.0.0.1"
Ejemplo n.º 2
0
def test_migrate13Config(tmpdir):
    config_file = str(tmpdir / "gns3_gui.conf")
    local_config = LocalConfig(config_file=config_file)

    server_config = {
        "allow_console_from_anywhere": True,
        "auth": False,
        "auto_start": True,
        "console_end_port_range": 5000,
        "console_start_port_range": 2001,
        "host": "127.0.0.1",
        "images_path": "/home/gns3/GNS3/images",
        "password": "",
        "path": "/bin/gns3server",
        "port": 8001,
        "projects_path": "/home/gns3/GNS3/projects",
        "report_errors": False,
        "udp_end_port_range": 20000,
        "udp_start_port_range": 10000,
        "user": ""
    }

    with open(config_file, "w+") as f:
        f.write(json.dumps({
            "LocalServer": server_config,
            "RemoteServers": [
                server_config
            ],
            "GUI": {
                "hide_getting_started_dialog": True
            },
            "type": "settings",
            "version": "1.3.7"}))

    local_config._readConfig(config_file)
    local_config._migrateOldConfig()

    # The old config should not be erased in order to avoid losing data when rollback to 1.3
    assert local_config._settings["LocalServer"] == server_config
    assert local_config._settings["RemoteServers"] == [server_config]
    assert local_config._settings["Servers"]["local_server"] == server_config
    assert local_config._settings["Servers"]["remote_servers"] == [server_config]
    assert local_config._settings["MainWindow"]["hide_getting_started_dialog"]

    # When the file is migrated to 1.4 we should not try to modify it
    with open(config_file, "w+") as f:
        f.write(json.dumps({
            "LocalServer": {"host": "error"},
            "type": "settings",
            "version": "1.4.2"}))

    local_config._readConfig(config_file)
    local_config._migrateOldConfig()

    assert local_config._settings["LocalServer"]["host"] == "error"
    assert local_config._settings["Servers"]["local_server"]["host"] == "127.0.0.1"
Ejemplo n.º 3
0
def test_migrate13ConfigOldOsxServerPath(tmpdir):
    local_config = LocalConfig()

    config_file = str(tmpdir / "gns3_gui.conf")

    server_config = {
        "allow_console_from_anywhere": True,
        "auth": False,
        "auto_start": True,
        "console_end_port_range": 5000,
        "console_start_port_range": 2001,
        "host": "127.0.0.1",
        "images_path": "/home/gns3/GNS3/images",
        "password": "",
        "path":
        "/Applications/GNS3.app/Contents/Resources/server/Contents/MacOS/gns3server",
        "port": 8001,
        "projects_path": "/home/gns3/GNS3/projects",
        "report_errors": False,
        "udp_end_port_range": 20000,
        "udp_start_port_range": 10000,
        "user": ""
    }

    with open(config_file, "w+") as f:
        f.write(
            json.dumps({
                "LocalServer": server_config,
                "RemoteServers": [server_config],
                "type": "settings",
                "version": "1.3.7"
            }))

    local_config._readConfig(config_file)
    local_config._migrateOldConfig()

    # The old config should not be erased in order to avoid losing data when rollback to 1.3
    assert local_config._settings["LocalServer"][
        "path"] == "/Applications/GNS3.app/Contents/Resources/server/Contents/MacOS/gns3server"
    assert local_config._settings["Servers"]["local_server"][
        "path"] == "/Applications/GNS3.app/Contents/MacOS/gns3server"
Ejemplo n.º 4
0
def test_migrate13ConfigOldOsxServerPath(tmpdir):
    local_config = LocalConfig()

    config_file = str(tmpdir / "gns3_gui.conf")

    server_config = {
        "allow_console_from_anywhere": True,
        "auth": False,
        "auto_start": True,
        "console_end_port_range": 5000,
        "console_start_port_range": 2001,
        "host": "127.0.0.1",
        "images_path": "/home/gns3/GNS3/images",
        "password": "",
        "path": "/Applications/GNS3.app/Contents/Resources/server/Contents/MacOS/gns3server",
        "port": 8001,
        "projects_path": "/home/gns3/GNS3/projects",
        "report_errors": False,
        "udp_end_port_range": 20000,
        "udp_start_port_range": 10000,
        "user": ""
    }

    with open(config_file, "w+") as f:
        f.write(json.dumps({
            "LocalServer": server_config,
            "RemoteServers": [
                server_config
            ],
            "type": "settings",
            "version": "1.3.7"}))

    local_config._readConfig(config_file)
    local_config._migrateOldConfig()

    # The old config should not be erased in order to avoid losing data when rollback to 1.3
    assert local_config._settings["LocalServer"]["path"] == "/Applications/GNS3.app/Contents/Resources/server/Contents/MacOS/gns3server"
    assert local_config._settings["Servers"]["local_server"]["path"] == "/Applications/GNS3.app/Contents/MacOS/gns3server"
Ejemplo n.º 5
0
def test_migrateRemoveInternetVM(tmpdir):
    """
    In 2.0 the internet VM is replaced by the nat node
    """
    config_file = str(tmpdir / "gns3_gui.conf")
    local_config = LocalConfig(config_file=config_file)

    with open(config_file, "w+") as f:
        f.write(json.dumps({
            "Qemu": {
                "use_local_server": True,
                "enable_kvm": True,
                "vms": [
                    {
                        "kernel_image": "",
                        "kernel_command_line": "",
                        "first_port_name": "",
                        "cpus": 1,
                        "legacy_networking": False,
                        "process_priority": "normal",
                        "port_name_format": "Ethernet{0}",
                        "port_segment_size": 0,
                        "default_name_format": "{name}-{0}",
                        "mac_address": "",
                        "usage": "",
                        "qemu_path": "/usr/local/bin/qemu-system-x86_64",
                        "ram": 256,
                        "symbol": ":/symbols/qemu_guest.svg",
                        "category": 2,
                        "server": "local",
                        "console_type": "telnet",
                        "hdc_disk_interface": "ide",
                        "hda_disk_image": "linux-microcore-6.4.img",
                        "initrd": "",
                        "hda_disk_interface": "ide",
                        "cpu_throttling": 0,
                        "adapter_type": "e1000",
                        "options": "-nographic",
                        "acpi_shutdown": False,
                        "boot_priority": "c",
                        "hdb_disk_interface": "ide",
                        "name": "dsfgsdf",
                        "hdd_disk_image": "",
                        "adapters": 1,
                        "cdrom_image": "",
                        "hdb_disk_image": "",
                        "linked_clone": True,
                        "hdd_disk_interface": "ide",
                        "hdc_disk_image": "",
                        "platform": ""
                    },
                    {
                        "kernel_image": "",
                        "kernel_command_line": "",
                        "server": "vm",
                        "legacy_networking": False,
                        "process_priority": "normal",
                        "qemu_path": "/usr/bin/qemu-system-i386",
                        "name": "Internet 0.1",
                        "symbol": ":/symbols/cloud.svg",
                        "category": 0,
                        "usage": "Just connect stuff to the appliance. Everything is automated.",
                        "console_type": "telnet",
                        "initrd": "",
                        "hda_disk_image": "core-linux-6.4-internet-0.1.img",
                        "hdc_disk_interface": "ide",
                        "hda_disk_interface": "ide",
                        "cpu_throttling": 0,
                        "adapter_type": "e1000",
                        "options": "-device e1000,netdev=internet0 -netdev vde,sock=/var/run/vde2/qemu0.ctl,id=internet0 -nographic",
                        "hdb_disk_interface": "ide",
                        "hdd_disk_image": "",
                        "adapters": 1,
                        "cdrom_image": "",
                        "hdb_disk_image": "",
                        "hdd_disk_interface": "ide",
                        "hdc_disk_image": "",
                        "ram": 64
                    }
                ]
            },
            "type": "settings",
            "version": "1.5.2"}))

    local_config._readConfig(config_file)
    local_config._migrateOldConfig()

    assert len(local_config._settings["Qemu"]["vms"]) == 1
Ejemplo n.º 6
0
def test_migrateRemoveInternetVM(tmpdir):
    """
    In 2.0 the internet VM is replaced by the nat node
    """
    config_file = str(tmpdir / "gns3_gui.conf")
    local_config = LocalConfig(config_file=config_file)

    with open(config_file, "w+") as f:
        f.write(
            json.dumps({
                "Qemu": {
                    "use_local_server":
                    True,
                    "enable_kvm":
                    True,
                    "vms": [{
                        "kernel_image": "",
                        "kernel_command_line": "",
                        "first_port_name": "",
                        "cpus": 1,
                        "legacy_networking": False,
                        "process_priority": "normal",
                        "port_name_format": "Ethernet{0}",
                        "port_segment_size": 0,
                        "default_name_format": "{name}-{0}",
                        "mac_address": "",
                        "usage": "",
                        "qemu_path": "/usr/local/bin/qemu-system-x86_64",
                        "ram": 256,
                        "symbol": ":/symbols/qemu_guest.svg",
                        "category": 2,
                        "server": "local",
                        "console_type": "telnet",
                        "hdc_disk_interface": "ide",
                        "hda_disk_image": "linux-microcore-6.4.img",
                        "initrd": "",
                        "hda_disk_interface": "ide",
                        "cpu_throttling": 0,
                        "adapter_type": "e1000",
                        "options": "-nographic",
                        "acpi_shutdown": False,
                        "boot_priority": "c",
                        "hdb_disk_interface": "ide",
                        "name": "dsfgsdf",
                        "hdd_disk_image": "",
                        "adapters": 1,
                        "cdrom_image": "",
                        "hdb_disk_image": "",
                        "linked_clone": True,
                        "hdd_disk_interface": "ide",
                        "hdc_disk_image": "",
                        "platform": ""
                    }, {
                        "kernel_image": "",
                        "kernel_command_line": "",
                        "server": "vm",
                        "legacy_networking": False,
                        "process_priority": "normal",
                        "qemu_path": "/usr/bin/qemu-system-i386",
                        "name": "Internet 0.1",
                        "symbol": ":/symbols/cloud.svg",
                        "category": 0,
                        "usage":
                        "Just connect stuff to the appliance. Everything is automated.",
                        "console_type": "telnet",
                        "initrd": "",
                        "hda_disk_image": "core-linux-6.4-internet-0.1.img",
                        "hdc_disk_interface": "ide",
                        "hda_disk_interface": "ide",
                        "cpu_throttling": 0,
                        "adapter_type": "e1000",
                        "options":
                        "-device e1000,netdev=internet0 -netdev vde,sock=/var/run/vde2/qemu0.ctl,id=internet0 -nographic",
                        "hdb_disk_interface": "ide",
                        "hdd_disk_image": "",
                        "adapters": 1,
                        "cdrom_image": "",
                        "hdb_disk_image": "",
                        "hdd_disk_interface": "ide",
                        "hdc_disk_image": "",
                        "ram": 64
                    }]
                },
                "type": "settings",
                "version": "1.5.2"
            }))

    local_config._readConfig(config_file)
    local_config._migrateOldConfig()

    assert len(local_config._settings["Qemu"]["vms"]) == 1