From fc88e6cf717f2a3109a049fe034496ad0d7fcd85 Mon Sep 17 00:00:00 2001 From: Miguel Caballer Fernandez Date: Wed, 22 May 2024 09:49:53 +0200 Subject: [PATCH 1/9] Update requests version --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5f307a26b..4db4ba0b0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ Flask_Dance==7.1.0 Werkzeug==3.0.3 Flask==3.0.3 -requests==2.31.0 +requests==2.32.2 PyYAML==6.0.1 packaging==24.0 xmltodict==0.13.0 From e7a52802f2704d59e61bb3beeb56d78bdbd5fafd Mon Sep 17 00:00:00 2001 From: Miguel Caballer Date: Thu, 23 May 2024 08:12:52 +0200 Subject: [PATCH 2/9] Ser ver num 2.5.7 --- app/settings.py | 2 +- codemeta.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/settings.py b/app/settings.py index c15b1cb42..01575191e 100644 --- a/app/settings.py +++ b/app/settings.py @@ -24,7 +24,7 @@ class Settings: def __init__(self, config): """Creator function.""" - self.version = "2.5.6" + self.version = "2.5.7" self.toscaDir = config.get('TOSCA_TEMPLATES_DIR', '') + "/" self.imUrl = config['IM_URL'] self.oidcName = config['OIDC_NAME'] diff --git a/codemeta.json b/codemeta.json index 7c4ffda30..c3c24eb13 100644 --- a/codemeta.json +++ b/codemeta.json @@ -6,7 +6,7 @@ "@type": "SoftwareSourceCode", "identifier": "im-dashboard", "name": "Infrastructure Manager Dashboard", - "version": "2.5.6", + "version": "2.5.7", "description": "Infrastructure Manager - Simple Graphical UI", "license": "GNU General Public License v3.0", "author": [ From 24fa4f9b0b3b4a373d2bb0dd101b971969d6943b Mon Sep 17 00:00:00 2001 From: Miguel Caballer Date: Thu, 23 May 2024 15:53:12 +0200 Subject: [PATCH 3/9] implements #559 --- app/templates/infrastructures.html | 9 ++++++++- app/templates/vminfo.html | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/templates/infrastructures.html b/app/templates/infrastructures.html index 9679036de..bbd4b193d 100644 --- a/app/templates/infrastructures.html +++ b/app/templates/infrastructures.html @@ -18,7 +18,11 @@ function setInfrState(infid, data) { // Set state var state = getSpanFromState(data["state"]) ; - state += '' + data["state"] + ' '; + if (data["state"] == "running") { + state += 'configuring '; + } else { + state += '' + data["state"] + ' '; + } state += ''; state += ''; $('#' + infid + '_state').html(state); @@ -27,6 +31,9 @@ var vms = ''; var delete_vms = ''; $.each( data["vm_states"], function( vmId, vmState ) { + if (vmState == "running") { + vmState = "configuring"; + } var tooltip = getSpanFromState(vmState) + vmState + ''; vms += ''; vms += ' ' + vmId + ''; diff --git a/app/templates/vminfo.html b/app/templates/vminfo.html index e2bfb33a2..4b759d9cb 100644 --- a/app/templates/vminfo.html +++ b/app/templates/vminfo.html @@ -60,7 +60,11 @@

VM ID {{ vmid }}:

{% else %} {% endif %} + {% if state == "running" %} + configuring + {% else %} {{ state }} + {% endif %} From c72b83ac181d307ec09b42ab0e848e616d29c648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Molt=C3=B3?= Date: Sat, 1 Jun 2024 19:15:21 +0200 Subject: [PATCH 4/9] Minor improvements in error message --- app/cred.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/cred.py b/app/cred.py index cd39eb467..37c1664b7 100644 --- a/app/cred.py +++ b/app/cred.py @@ -65,13 +65,13 @@ def validate_cred(self, userid, new_cred): return 1, "Credentials already available." if new_cred["type"] in no_host_types: - return 2, ("There is already a " + new_cred["type"] + " Credentials " + - " It may cause problems authenticating with the Provider." + - " Please disable/remove one of the Credentials.") + return 2, ("There is already a set of" + new_cred["type"] + " credentials. " + + " This may cause problems authenticating with the Cloud provider." + + " Please disable/remove one of the credentials.") elif new_cred["type"] not in ['EGI', 'OpenStack', 'fedcloud']: # these types has no problem if new_cred["host"] and cred["host"] == new_cred["host"]: - return 2, ("This site has already a Credential with same site URL." + - " It may cause problems authenticating with the Site." + - " Please disable/remove one of the Credentials.") + return 2, ("This site has already a Credential with the same site URL." + + " This may cause problems authenticating with the site." + + " Please disable/remove one of the credentials.") return 0, "" From 21f351f221a9224c4abb6e1f24bafb5982b10f03 Mon Sep 17 00:00:00 2001 From: Miguel Caballer Date: Mon, 8 Jul 2024 10:00:12 +0200 Subject: [PATCH 5/9] Add new Nomad AI4EOSC logos --- app/static/images/nomad_ai4eosc.png | Bin 0 -> 17879 bytes app/static/images/nomad_ai4eosc_join.png | Bin 0 -> 17953 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/static/images/nomad_ai4eosc.png create mode 100644 app/static/images/nomad_ai4eosc_join.png diff --git a/app/static/images/nomad_ai4eosc.png b/app/static/images/nomad_ai4eosc.png new file mode 100644 index 0000000000000000000000000000000000000000..40870dac1100e795b6cffb1710f5f7a4be807c3a GIT binary patch literal 17879 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 literal 0 HcmV?d00001 From 9ce381c08485bc77ab35dec334eeaac4b95b601c Mon Sep 17 00:00:00 2001 From: Miguel Caballer Date: Mon, 8 Jul 2024 10:05:43 +0200 Subject: [PATCH 6/9] Remove unused import --- app/oaipmh/oai.py | 1 - 1 file changed, 1 deletion(-) diff --git a/app/oaipmh/oai.py b/app/oaipmh/oai.py index 69493b3a9..94b8f5a40 100644 --- a/app/oaipmh/oai.py +++ b/app/oaipmh/oai.py @@ -20,7 +20,6 @@ # under the License. from lxml import etree # nosec from datetime import datetime, timezone -from urllib.parse import urlparse from app.oaipmh.errors import Errors From 3cc96e6e549a6230c1f59708fdfd1bb7be7dddc5 Mon Sep 17 00:00:00 2001 From: Miguel Caballer Date: Thu, 11 Jul 2024 12:21:08 +0200 Subject: [PATCH 7/9] Minor change --- app/templates/config_form.html | 2 +- app/templates/default_form.html | 2 +- app/templates/service_creds.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/templates/config_form.html b/app/templates/config_form.html index 52904bedc..bd281c208 100644 --- a/app/templates/config_form.html +++ b/app/templates/config_form.html @@ -14,7 +14,7 @@ {% else %} {% endif %} - + diff --git a/app/templates/default_form.html b/app/templates/default_form.html index a886211a8..54a058553 100644 --- a/app/templates/default_form.html +++ b/app/templates/default_form.html @@ -1,7 +1,7 @@
diff --git a/app/templates/service_creds.html b/app/templates/service_creds.html index 782de23ae..fde001549 100644 --- a/app/templates/service_creds.html +++ b/app/templates/service_creds.html @@ -62,10 +62,10 @@

Cloud Credentials

{% if 'vo' in cred %}
VO: {{cred["vo"]}} {% if session['vos'] and cred['vo'] not in session['vos'] %} - + {% endif %} {% if 'project_id' not in cred %} - + {% endif %} {% endif %} {% if 'host' in cred and 'tenant' in cred %} From 18fecd5a83fb37113fc95747d8a13dee436c73f3 Mon Sep 17 00:00:00 2001 From: Miguel Caballer Date: Tue, 16 Jul 2024 09:02:31 +0200 Subject: [PATCH 8/9] Add DT-GEO logo --- app/static/images/dtgeo.png | Bin 0 -> 9626 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/static/images/dtgeo.png diff --git a/app/static/images/dtgeo.png b/app/static/images/dtgeo.png new file mode 100644 index 0000000000000000000000000000000000000000..81041cc587ee556210515bd542066339d4bd3522 GIT binary patch literal 9626 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 c1Rs{F&fR Date: Fri, 19 Jul 2024 12:29:43 +0200 Subject: [PATCH 9/9] Fix error with no renew token --- app/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index dfd525547..93b1c40ff 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -38,7 +38,7 @@ from app.ott import OneTimeTokenData from app import utils, appdb, db from app.vault_info import VaultInfo -from oauthlib.oauth2.rfc6749.errors import InvalidTokenError, TokenExpiredError, InvalidGrantError +from oauthlib.oauth2.rfc6749.errors import InvalidTokenError, TokenExpiredError, InvalidGrantError, MissingTokenError from werkzeug.exceptions import Forbidden from flask import Flask, json, render_template, request, redirect, url_for, flash, session, g, make_response from markupsafe import Markup @@ -139,7 +139,7 @@ def decorated_function(*args, **kwargs): if oidc_blueprint.session.token['expires_in'] < 20: app.logger.debug("Force refresh token") oidc_blueprint.session.get(settings.oidcUserInfoPath) - except (InvalidTokenError, TokenExpiredError, InvalidGrantError): + except (InvalidTokenError, TokenExpiredError, InvalidGrantError, MissingTokenError): flash("Token expired.", 'warning') return logout(next_url=request.full_path)