diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 6b87433b..10fb15d8 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -13,11 +13,10 @@ on: jobs: build: - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest strategy: matrix: - os: [ubuntu-latest] python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] steps: diff --git a/CHANGELOG b/CHANGELOG index 1ba69b21..32c64f3f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,12 @@ # Change Log +## 2.2.26 08/10/2021 + +* Release web UI 2.2.26 +* Sort symbols by theme. Fixes https://github.com/GNS3/gns3-gui/issues/3230 +* Fix memory percentage left warning. Fixes #1966 +* Update affinity symbols. Fixes https://github.com/GNS3/gns3-gui/issues/3232 + ## 2.2.25 14/09/2021 * Release web UI 2.2.25 diff --git a/Dockerfile b/Dockerfile index 3ff8b9d3..d6df9536 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,9 +14,8 @@ RUN set -eux \ && apk add --no-cache --virtual .build-deps build-base \ gcc libc-dev musl-dev linux-headers python3-dev \ vpcs qemu libvirt ubridge \ - && pip install --upgrade pip setuptools wheel \ - && pip install -r /gns3server/requirements.txt \ - && rm -rf /root/.cache/pip + && pip install --no-cache-dir --upgrade pip setuptools wheel \ + && pip install --no-cache-dir -r /gns3server/requirements.txt COPY . /gns3server RUN python3 setup.py install diff --git a/gns3server/appliances/arista-veos.gns3a b/gns3server/appliances/arista-veos.gns3a index 7d49517e..c49cf19c 100644 --- a/gns3server/appliances/arista-veos.gns3a +++ b/gns3server/appliances/arista-veos.gns3a @@ -26,6 +26,13 @@ "kvm": "require" }, "images": [ + { + "filename": "vEOS-lab-4.26.2F.vmdk", + "version": "4.26.2F", + "md5sum": "de8ce9750fddb63bd3f71bccfcd7651e", + "filesize": 475332608, + "download_url": "https://www.arista.com/en/support/software-download" + }, { "filename": "vEOS-lab-4.25.3M.vmdk", "version": "4.25.3M", @@ -210,6 +217,13 @@ } ], "versions": [ + { + "name": "4.26.2F", + "images": { + "hda_disk_image": "Aboot-veos-serial-8.0.0.iso", + "hdb_disk_image": "vEOS-lab-4.26.2F.vmdk" + } + }, { "name": "4.25.3M", "images": { diff --git a/gns3server/appliances/vyos.gns3a b/gns3server/appliances/vyos.gns3a index f7157e4c..d98c26c2 100644 --- a/gns3server/appliances/vyos.gns3a +++ b/gns3server/appliances/vyos.gns3a @@ -26,12 +26,12 @@ }, "images": [ { - "filename": "vyos-1.3.0-rc6-amd64.iso", - "version": "1.3.0-rc6", - "md5sum": "b3939f82a35b23d428ee0ad4ac8be087", + "filename": "vyos-1.3.0-epa1-amd64.iso", + "version": "1.3.0-epa1", + "md5sum": "a2aaa5bd3bc5827909d07a18a9de80a7", "filesize": 331350016, "download_url": "https://vyos.net/get/snapshots/", - "direct_download_url": "https://s3.amazonaws.com/s3-us.vyos.io/snapshot/vyos-1.3.0-rc6/vyos-1.3.0-rc6-amd64.iso" + "direct_download_url": "https://s3.amazonaws.com/s3-us.vyos.io/snapshot/vyos-1.3.0-epa1/generic-iso/vyos-1.3.0-epa1-amd64.iso" }, { "filename": "vyos-1.2.8-amd64.iso", @@ -66,10 +66,10 @@ ], "versions": [ { - "name": "1.3.0-rc6", + "name": "1.3.0-epa1", "images": { "hda_disk_image": "empty8G.qcow2", - "cdrom_image": "vyos-1.3.0-rc6-amd64.iso" + "cdrom_image": "vyos-1.3.0-epa1-amd64.iso" } }, { diff --git a/gns3server/compute/base_node.py b/gns3server/compute/base_node.py index 71ad1a2c..cfa147a8 100644 --- a/gns3server/compute/base_node.py +++ b/gns3server/compute/base_node.py @@ -974,7 +974,7 @@ class BaseNode: """ available_ram = int(psutil.virtual_memory().available / (1024 * 1024)) - percentage_left = psutil.virtual_memory().percent + percentage_left = 100 - psutil.virtual_memory().percent if requested_ram > available_ram: message = '"{}" requires {}MB of RAM to run but there is only {}MB - {}% of RAM left on "{}"'.format( self.name, requested_ram, available_ram, percentage_left, platform.node() diff --git a/gns3server/controller/symbols.py b/gns3server/controller/symbols.py index 395fb947..d1b2e428 100644 --- a/gns3server/controller/symbols.py +++ b/gns3server/controller/symbols.py @@ -106,8 +106,7 @@ class Symbols: theme = "Custom symbols" symbols.append({"symbol_id": symbol_file, "filename": filename, "builtin": False, "theme": theme}) self._symbols_path[symbol_file] = os.path.join(root, filename) - - symbols.sort(key=lambda x: x["filename"]) + symbols.sort(key=lambda x: x["theme"]) return symbols def symbols_path(self): diff --git a/gns3server/crash_report.py b/gns3server/crash_report.py index 46b31fd8..f9f750fe 100644 --- a/gns3server/crash_report.py +++ b/gns3server/crash_report.py @@ -59,7 +59,7 @@ class CrashReport: Report crash to a third party service """ - DSN = "https://54d3363bab36489fb0f7cbbdda6ca7c5:9f1012f8aa1547f683e00c0aac9b99f6@o19455.ingest.sentry.io/38482" + DSN = "https://959feb527c7441068b1bf80301b6e2c4:efa6d99da4c64faa8a7d929360765b40@o19455.ingest.sentry.io/38482" _instance = None def __init__(self): diff --git a/gns3server/static/web-ui/26.30249f0e3aeb3f791226.js b/gns3server/static/web-ui/26.eace20bb0639f4909f27.js similarity index 100% rename from gns3server/static/web-ui/26.30249f0e3aeb3f791226.js rename to gns3server/static/web-ui/26.eace20bb0639f4909f27.js diff --git a/gns3server/static/web-ui/index.html b/gns3server/static/web-ui/index.html index 18243847..aa7e4920 100644 --- a/gns3server/static/web-ui/index.html +++ b/gns3server/static/web-ui/index.html @@ -31,7 +31,7 @@ } })(); - +