From 155a61c1d2c3f49d84141b39844b8226c28e97d9 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 31 Aug 2020 11:40:46 +0200 Subject: [PATCH 01/25] adds time snapshots in log --- tests/e2e/package-lock.json | 13 +++++++++++++ tests/e2e/package.json | 3 ++- tests/e2e/utils/auto.js | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/e2e/package-lock.json b/tests/e2e/package-lock.json index 756e942efd6..64c9836f196 100644 --- a/tests/e2e/package-lock.json +++ b/tests/e2e/package-lock.json @@ -3987,6 +3987,19 @@ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" }, + "log-prefix": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/log-prefix/-/log-prefix-0.1.1.tgz", + "integrity": "sha512-aP1Lst8OCdZKATqzXDN0JBissNVZuiKLyo6hOXDBxaQ1jHDsaxh2J1i5Pp0zMy6ayTKDWfUlLMXyLaQe1PJ48g==" + }, + "log-timestamp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/log-timestamp/-/log-timestamp-0.3.0.tgz", + "integrity": "sha512-luRz6soxijd1aJh0GkLXFjKABihxthvTfWTzu3XhCgg5EivG2bsTpSd63QFbUgS+/KmFtL+0RfSpeaD2QvOV8Q==", + "requires": { + "log-prefix": "0.1.1" + } + }, "lolex": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", diff --git a/tests/e2e/package.json b/tests/e2e/package.json index 0baba4dcc6b..e2b35d3c9b3 100644 --- a/tests/e2e/package.json +++ b/tests/e2e/package.json @@ -9,7 +9,8 @@ "dependencies": { "jest": "^25.5.4", "jest-puppeteer": "^4.4.0", - "puppeteer": "^5.2.1" + "puppeteer": "^5.2.1", + "log-timestamp": "^0.3.0" }, "devDependencies": {}, "scripts": { diff --git a/tests/e2e/utils/auto.js b/tests/e2e/utils/auto.js index 3934a9fcd84..390baf36c6f 100644 --- a/tests/e2e/utils/auto.js +++ b/tests/e2e/utils/auto.js @@ -1,5 +1,7 @@ const utils = require("./utils") const responses = require('./responsesQueue'); +require('log-timestamp'); + async function register(page, user, pass) { await utils.waitAndClick(page, '[osparc-test-id="loginCreateAccountBtn"]'); From 3d9f5e8211df3545076f7343de7d4968a0949efc Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 31 Aug 2020 11:41:01 +0200 Subject: [PATCH 02/25] adds timeout to docker service logs to avoid blocking --- ci/github/system-testing/e2e.bash | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ci/github/system-testing/e2e.bash b/ci/github/system-testing/e2e.bash index 8a36a457d4a..c7a306a54ca 100755 --- a/ci/github/system-testing/e2e.bash +++ b/ci/github/system-testing/e2e.bash @@ -151,13 +151,13 @@ recover_artifacts() { # all screenshots are in tests/e2e/screenshots if any # get docker logs. - # WARNING: dumping long logs might take hours!! + # NOTE: dumping logs sometimes hangs. Introducing a timeout mkdir simcore_logs - (docker service logs --timestamps --tail=300 --details ${SWARM_STACK_NAME}_webserver >simcore_logs/webserver.log 2>&1) || true - (docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_director >simcore_logs/director.log 2>&1) || true - (docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_storage >simcore_logs/storage.log 2>&1) || true - (docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_sidecar >simcore_logs/sidecar.log 2>&1) || true - (docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_catalog >simcore_logs/catalog.log 2>&1) || true + (timeout 30 docker service logs --timestamps --tail=300 --details ${SWARM_STACK_NAME}_webserver >simcore_logs/webserver.log 2>&1) || true + (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_director >simcore_logs/director.log 2>&1) || true + (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_storage >simcore_logs/storage.log 2>&1) || true + (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_sidecar >simcore_logs/sidecar.log 2>&1) || true + (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_catalog >simcore_logs/catalog.log 2>&1) || true } clean_up() { From f1be8e257f91cb2c393ea9c71ffd40f5a9c52a84 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Tue, 1 Sep 2020 13:44:23 +0200 Subject: [PATCH 03/25] doc --- .../computation_api.py | 1 + .../computation_comp_tasks_listening_task.py | 28 ++++++++++++------- .../computation_handlers.py | 8 ++++-- .../projects/projects_handlers.py | 5 +++- 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/services/web/server/src/simcore_service_webserver/computation_api.py b/services/web/server/src/simcore_service_webserver/computation_api.py index 2a7a58198b6..56400f4cb27 100644 --- a/services/web/server/src/simcore_service_webserver/computation_api.py +++ b/services/web/server/src/simcore_service_webserver/computation_api.py @@ -448,3 +448,4 @@ async def get_task_output( comp_task = await result.fetchone() if comp_task: return comp_task.outputs + return None diff --git a/services/web/server/src/simcore_service_webserver/computation_comp_tasks_listening_task.py b/services/web/server/src/simcore_service_webserver/computation_comp_tasks_listening_task.py index c5e8563d9e3..0caecfad27f 100644 --- a/services/web/server/src/simcore_service_webserver/computation_comp_tasks_listening_task.py +++ b/services/web/server/src/simcore_service_webserver/computation_comp_tasks_listening_task.py @@ -28,9 +28,12 @@ async def listen(app: web.Application): db_engine: Engine = app[APP_DB_ENGINE_KEY] async with db_engine.acquire() as conn: await conn.execute(listen_query) + while True: msg = await conn.connection.notifies.get() - log.debug("DB comp_tasks.outputs Update: <- %s", msg.payload) + + # Changes on comp_tasks.outputs of non-frontend task + log.debug("DB comp_tasks.outputs updated: <- %s", msg.payload) node = json.loads(msg.payload) node_data = node["data"] task_output = node_data["outputs"] @@ -53,7 +56,7 @@ async def listen(app: web.Application): continue the_project_owner = the_project["prj_owner"] - # update the project + # Update the project try: node_data = await projects_api.update_project_node_outputs( app, the_project_owner, project_id, node_id, data=task_output @@ -70,8 +73,9 @@ async def listen(app: web.Application): project_id, ) continue - # notify the client(s), the owner + any one with read writes - clients = [the_project_owner] + + # Notify the client(s), the owner + any one with read writes + clients_ids = [the_project_owner] for gid, access_rights in the_project["access_rights"].items(): if not access_rights["read"]: continue @@ -79,13 +83,17 @@ async def listen(app: web.Application): async for user in conn.execute( select([user_to_groups.c.uid]).where(user_to_groups.c.gid == gid) ): - clients.append(user["uid"]) + clients_ids.append(user["uid"]) - messages = {"nodeUpdated": {"Node": node_id, "Data": node_data}} - - await logged_gather( - *[post_messages(app, client, messages) for client in clients], False - ) + posts_tasks = [ + post_messages( + app, + uid, + messages={"nodeUpdated": {"Node": node_id, "Data": node_data}}, + ) + for uid in clients_ids + ] + await logged_gather(*posts_tasks, False) async def comp_tasks_listening_task(app: web.Application) -> None: diff --git a/services/web/server/src/simcore_service_webserver/computation_handlers.py b/services/web/server/src/simcore_service_webserver/computation_handlers.py index 9e53a39fd07..cefae76b3d9 100644 --- a/services/web/server/src/simcore_service_webserver/computation_handlers.py +++ b/services/web/server/src/simcore_service_webserver/computation_handlers.py @@ -21,15 +21,15 @@ log = logging.getLogger(__file__) -def get_celery(_app: web.Application): +def get_celery(_app: web.Application) -> Celery: config = _app[APP_CONFIG_KEY][CONFIG_RABBIT_SECTION] rabbit = RabbitConfig(**config) - celery = Celery( + celery_app = Celery( rabbit.name, broker=rabbit.broker_url, backend=rabbit.backend, ) - return celery + return celery_app async def _process_request(request): @@ -73,9 +73,11 @@ async def start_pipeline(request: web.Request) -> web.Response: user_id, project_id = await _process_request(request) + # FIXME: if start is already ongoing. Do not re-start! try: project = await get_project_for_user(request.app, project_id, user_id) await update_pipeline_db(request.app, project_id, project["workbench"]) + except ProjectNotFoundError as exc: raise web.HTTPNotFound(reason=f"Project {project_id} not found") from exc diff --git a/services/web/server/src/simcore_service_webserver/projects/projects_handlers.py b/services/web/server/src/simcore_service_webserver/projects/projects_handlers.py index 7efe7fc8749..1f289464026 100644 --- a/services/web/server/src/simcore_service_webserver/projects/projects_handlers.py +++ b/services/web/server/src/simcore_service_webserver/projects/projects_handlers.py @@ -167,8 +167,8 @@ async def get_project(request: web.Request): user_id=user_id, include_templates=True, ) - return {"data": project} + except ProjectInvalidRightsError as exc: raise web.HTTPForbidden( reason=f"You do not have sufficient rights to read project {project_uuid}" @@ -224,11 +224,14 @@ async def replace_project(request: web.Request): user_id=user_id, include_templates=True, ) + if current_project["accessRights"] != new_project["accessRights"]: await check_permission(request, "project.access_rights.update") + new_project = await db.update_user_project( new_project, user_id, project_uuid, include_templates=True ) + await update_pipeline_db( request.app, project_uuid, new_project["workbench"], replace_pipeline ) From 238d7c26ffafd7834c71ee790a138b15874ecc08 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Wed, 2 Sep 2020 15:53:14 +0200 Subject: [PATCH 04/25] adds pydantic --- services/web/server/requirements/_base.in | 2 ++ services/web/server/requirements/_base.txt | 2 ++ services/web/server/requirements/_test.txt | 2 ++ 3 files changed, 6 insertions(+) diff --git a/services/web/server/requirements/_base.in b/services/web/server/requirements/_base.in index 932c3002c2f..80b4bd10fad 100644 --- a/services/web/server/requirements/_base.in +++ b/services/web/server/requirements/_base.in @@ -28,3 +28,5 @@ python-socketio semantic_version aiodebug json2html + +pydantic diff --git a/services/web/server/requirements/_base.txt b/services/web/server/requirements/_base.txt index 4efd2190709..6973b50db52 100644 --- a/services/web/server/requirements/_base.txt +++ b/services/web/server/requirements/_base.txt @@ -27,6 +27,7 @@ cffi==1.14.2 # via cryptography change-case==0.5.2 # via -r requirements/_base.in chardet==3.0.4 # via aiohttp cryptography==3.0 # via -r requirements/_base.in, aiohttp-session +dataclasses==0.7 # via pydantic expiringdict==1.2.1 # via -r requirements/_base.in hiredis==1.1.0 # via aioredis idna-ssl==1.1.0 # via aiohttp @@ -49,6 +50,7 @@ passlib==1.7.2 # via -r requirements/_base.in prometheus-client==0.8.0 # via -r requirements/../../../../packages/service-library/requirements/_base.in psycopg2-binary==2.8.5 # via -r requirements/../../../../packages/service-library/requirements/_base.in, aiopg, sqlalchemy pycparser==2.20 # via cffi +pydantic==1.6.1 # via -r requirements/_base.in pyrsistent==0.16.0 # via jsonschema python-engineio==3.13.2 # via python-socketio python-socketio==4.6.0 # via -r requirements/_base.in diff --git a/services/web/server/requirements/_test.txt b/services/web/server/requirements/_test.txt index 2595091615e..ebe451d26c7 100644 --- a/services/web/server/requirements/_test.txt +++ b/services/web/server/requirements/_test.txt @@ -36,6 +36,7 @@ codecov==2.1.8 # via -r requirements/_test.in coverage==5.2.1 # via -r requirements/_test.in, codecov, coveralls, pytest-cov coveralls==2.1.2 # via -r requirements/_test.in cryptography==3.0 # via -r requirements/_base.txt, aiohttp-session, paramiko +dataclasses==0.7 # via -r requirements/_base.txt, pydantic distro==1.5.0 # via docker-compose docker-compose==1.26.2 # via pytest-docker docker[ssh]==4.3.0 # via -r requirements/_test.in, docker-compose @@ -74,6 +75,7 @@ psycopg2-binary==2.8.5 # via -r requirements/_base.txt, aiopg, sqlalchemy ptvsd==4.3.2 # via -r requirements/_test.in py==1.9.0 # via pytest pycparser==2.20 # via -r requirements/_base.txt, cffi +pydantic==1.6.1 # via -r requirements/_base.txt pylint==2.5.0 # via -r requirements/_test.in pynacl==1.4.0 # via paramiko pyparsing==2.4.7 # via packaging From b5e4afbb52006b6983876e4ec377392c6414aab6 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Wed, 2 Sep 2020 16:48:31 +0200 Subject: [PATCH 05/25] adds build-time metadatawritten in statics.json for front-end and printed into log upon startup --- services/docker-compose-build.yml | 4 ++ services/docker-compose.yml | 1 - services/web/Dockerfile | 10 ++++- .../simcore_service_webserver/application.py | 3 ++ .../rest_handlers.py | 2 + .../src/simcore_service_webserver/settings.py | 44 +++++++++++++++++++ .../src/simcore_service_webserver/statics.py | 12 +++-- 7 files changed, 70 insertions(+), 6 deletions(-) create mode 100644 services/web/server/src/simcore_service_webserver/settings.py diff --git a/services/docker-compose-build.yml b/services/docker-compose-build.yml index 15f222079ed..d0f47c1652e 100644 --- a/services/docker-compose-build.yml +++ b/services/docker-compose-build.yml @@ -80,6 +80,10 @@ services: - ${DOCKER_REGISTRY:-itisfoundation}/webserver:cache - ${DOCKER_REGISTRY:-itisfoundation}/webserver:${DOCKER_IMAGE_TAG:-latest} target: ${BUILD_TARGET:?build_target_required} + args: + - BUILD_DATE=${BUILD_DATE} + - VCS_URL=${VCS_URL} + - VCS_REF=${VCS_REF} labels: org.label-schema.schema-version: "1.0" org.label-schema.build-date: "${BUILD_DATE}" diff --git a/services/docker-compose.yml b/services/docker-compose.yml index 5b02049300a..4352764ee0d 100644 --- a/services/docker-compose.yml +++ b/services/docker-compose.yml @@ -93,7 +93,6 @@ services: image: ${DOCKER_REGISTRY:-itisfoundation}/webserver:${DOCKER_IMAGE_TAG:-latest} init: true environment: - - BUILD_DATE=${BUILD_DATE:-1970-01-01T01:00:00Z} - DIRECTOR_HOST=${DIRECTOR_HOST:-director} - DIRECTOR_PORT=${DIRECTOR_PORT:-8080} - STORAGE_HOST=${STORAGE_HOST:-storage} diff --git a/services/web/Dockerfile b/services/web/Dockerfile index 9ee0e27b361..3015e15d7e5 100644 --- a/services/web/Dockerfile +++ b/services/web/Dockerfile @@ -9,6 +9,7 @@ FROM python:${PYTHON_VERSION}-slim-buster as base # REQUIRED: context expected at ``osparc-simcore/`` folder because we need access to osparc-simcore/packages # REQUIRED: client_qx:build image ready + LABEL maintainer=pcrespov RUN set -eux; \ @@ -116,10 +117,17 @@ RUN pip --no-cache-dir --quiet install -r requirements/prod.txt # FROM base as production +ARG BUILD_DATE +ARG VCS_URL +ARG VCS_REF + ENV SC_BUILD_TARGET=production \ SC_BOOT_MODE=production \ SC_HEALTHCHECK_INTERVAL=30 \ - SC_HEALTHCHECK_RETRY=3 + SC_HEALTHCHECK_RETRY=3 \ + SC_BUILD_DATE=${BUILD_DATE} \ + SC_VSC_URL=${VCS_URL} \ + SC_VCS_REF=${VCS_REF} ENV PYTHONOPTIMIZE=TRUE diff --git a/services/web/server/src/simcore_service_webserver/application.py b/services/web/server/src/simcore_service_webserver/application.py index dd5cfe5f484..9ff9e707332 100644 --- a/services/web/server/src/simcore_service_webserver/application.py +++ b/services/web/server/src/simcore_service_webserver/application.py @@ -31,6 +31,7 @@ from .tags import setup_tags from .tracing import setup_app_tracing from .users import setup_users +from .settings import setup_settings log = logging.getLogger(__name__) @@ -46,6 +47,8 @@ def create_application(config: Dict) -> web.Application: app = create_safe_application(config) + setup_settings(app) + # TODO: create dependency mechanism # and compute setup order https://github.com/ITISFoundation/osparc-simcore/issues/1142 setup_app_tracing(app) diff --git a/services/web/server/src/simcore_service_webserver/rest_handlers.py b/services/web/server/src/simcore_service_webserver/rest_handlers.py index 4ad305cb014..f35ccc4504d 100644 --- a/services/web/server/src/simcore_service_webserver/rest_handlers.py +++ b/services/web/server/src/simcore_service_webserver/rest_handlers.py @@ -11,6 +11,7 @@ from servicelib.rest_utils import body_to_dict, extract_and_validate from . import __version__ +from .settings import APP_SETTINGS_KEY log = logging.getLogger(__name__) @@ -71,5 +72,6 @@ async def get_config(request: web.Request): data = { "invitation_required": login_cfg.get("registration_invitation_required", False) } + data.update( app[APP_SETTINGS_KEY].public_dict() ) return data diff --git a/services/web/server/src/simcore_service_webserver/settings.py b/services/web/server/src/simcore_service_webserver/settings.py new file mode 100644 index 00000000000..d1c503bf155 --- /dev/null +++ b/services/web/server/src/simcore_service_webserver/settings.py @@ -0,0 +1,44 @@ +""" +TODO: pydantic settings comming soon and replacing trafaret + +""" +from aiohttp import web +from pydantic import BaseSettings +from pprint import pprint +from typing import Dict + +APP_SETTINGS_KEY = f"{__name__ }.build_time_settings" + + +class BuildTimeSettings(BaseSettings): + # All these settings are defined in the Dockerfile at build-image time + vsc_url: Optional[str] = None + vsc_ref: Optional[str] = None + build_date: Optional[str] = None + build_target: Optional[str] = None + + boot_mode: Optional[str] = None + user_name: Optional[str] = None + user_id: Optional[int] = None + + heathcheck_retry: Optional[int] = None + heatcheck_inteval: Optional[int] = None + + class Config: + env_prefix = "SC_" + case_sensitive = False + + # --- + + def public_dict(self) -> Dict: + """ Data publicaly available """ + return self.dict( + include=["vsc_url", "vsc_ref", "build_date"], + exclude_unset=True, + exclude_none=True, + ) + + +def setup_settings(app: web.Application): + app[APP_SETTINGS_KEY] = BuildTimeSettings() + log.info("Captured app settings:\n%s", app[APP_SETTINGS_KEY].json(indent=2)) diff --git a/services/web/server/src/simcore_service_webserver/statics.py b/services/web/server/src/simcore_service_webserver/statics.py index de86dd3f659..06869f17a85 100644 --- a/services/web/server/src/simcore_service_webserver/statics.py +++ b/services/web/server/src/simcore_service_webserver/statics.py @@ -19,6 +19,8 @@ from servicelib.application_keys import APP_CONFIG_KEY from servicelib.application_setup import ModuleCategory, app_module_setup +from .settings import APP_SETTINGS_KEY + INDEX_RESOURCE_NAME = "statics.index" TMPDIR_KEY = f"{__name__}.tmpdir" @@ -46,7 +48,7 @@ async def _delete_tmps(app: web.Application): async def index(request: web.Request): """ - Serves boot application under index + Serves boot application under index """ log.debug("index.request:\n %s", request) @@ -55,14 +57,16 @@ async def index(request: web.Request): return web.Response(text=ofh.read(), content_type="text/html") -def write_statics_file(directory: Path) -> None: +def write_statics_file(app: web.Application, directory: Path) -> None: # ensures directory exists os.makedirs(directory, exist_ok=True) # create statics field statics = {} statics["stackName"] = os.environ.get("SWARM_STACK_NAME") - statics["buildDate"] = os.environ.get("BUILD_DATE") + statics["buildDate"] = app[APP_SETTINGS_KEY].build_date + statics.udpate(app[APP_SETTINGS_KEY].public_dict()) + with open(directory / "statics.json", "wt") as fh: json.dump(statics, fh) @@ -76,7 +80,7 @@ def setup_statics(app: web.Application): outdir: Path = get_client_outdir(app) # Create statics file - write_statics_file(outdir / "resource") + write_statics_file(app, outdir / "resource") required_dirs = ["osparc", "resource", "transpiled"] folders = [x for x in outdir.iterdir() if x.is_dir()] From 098e3ac0b1c83e1b40e4db5c987c4094fa684332 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 4 Sep 2020 14:49:13 +0200 Subject: [PATCH 06/25] Removed downgrade pg on teardown in postgres_db fixture --- .../src/pytest_simcore/postgres_service.py | 38 ++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/packages/pytest-simcore/src/pytest_simcore/postgres_service.py b/packages/pytest-simcore/src/pytest_simcore/postgres_service.py index 47225792688..6be4b4f748f 100644 --- a/packages/pytest-simcore/src/pytest_simcore/postgres_service.py +++ b/packages/pytest-simcore/src/pytest_simcore/postgres_service.py @@ -56,29 +56,49 @@ def postgres_engine( engine.dispose() +@pytest.fixture(scope="module") +def migration_downgrade_disabled() -> bool: + """ Override to enable migration downgrade step in postgres_db teardown """ + return True + + @pytest.fixture(scope="module") def postgres_db( - postgres_dsn: Dict, postgres_engine: sa.engine.Engine + postgres_dsn: Dict, + postgres_engine: sa.engine.Engine, + migration_downgrade_disabled: bool, ) -> sa.engine.Engine: - # migrate the database + + # upgrades database from zero kwargs = postgres_dsn.copy() pg_cli.discover.callback(**kwargs) pg_cli.upgrade.callback("head") + yield postgres_engine - pg_cli.downgrade.callback("base") - pg_cli.clean.callback() + if not migration_downgrade_disabled: + # NOTE: After discussion with ANE, this step delays tests and do not bring much as a fixture + # therefore it is added as optional - # FIXME: deletes all because downgrade is not reliable! - metadata.drop_all(postgres_engine) + pg_cli.downgrade.callback("base") + pg_cli.clean.callback() + # FIXME: migration downgrade fails to remove all tables!!, added drop_all as tmp fix + metadata.drop_all(postgres_engine) + + else: + metadata.drop_all(postgres_engine) @pytest.fixture(scope="module") def postgres_session(postgres_db: sa.engine.Engine) -> sa.orm.session.Session: - Session = sessionmaker(postgres_db) - session = Session() + from sqlalchemy.orm.session import Session + + Session_cls = sessionmaker(postgres_db) + session: Session = Session_cls() + yield session - session.close() + + session.close() # pylint: disable=no-member @tenacity.retry( From d74ea0d64905563e82626c9da01dd37418f5d35a Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 4 Sep 2020 14:51:11 +0200 Subject: [PATCH 07/25] Fixing tests on setup_settings --- .../src/simcore_service_webserver/rest_handlers.py | 14 +++++++------- .../src/simcore_service_webserver/settings.py | 9 ++++++--- .../src/simcore_service_webserver/statics.py | 2 +- .../web/server/tests/unit/isolated/test_rest.py | 3 +++ .../unit/with_dbs/fast/test_access_to_studies.py | 4 +++- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/services/web/server/src/simcore_service_webserver/rest_handlers.py b/services/web/server/src/simcore_service_webserver/rest_handlers.py index f35ccc4504d..63a0ea4f025 100644 --- a/services/web/server/src/simcore_service_webserver/rest_handlers.py +++ b/services/web/server/src/simcore_service_webserver/rest_handlers.py @@ -54,14 +54,14 @@ async def check_action(request: web.Request): async def get_config(request: web.Request): """ - This entrypoint aims to provide an extra configuration mechanism for - the front-end app. + This entrypoint aims to provide an extra configuration mechanism for + the front-end app. - Some of the server configuration can be forwarded to the front-end here + Some of the server configuration can be forwarded to the front-end here - Example use case: the front-end app is served to the client. Then the user wants to - register but the server has been setup to require an invitation. This option is setup - at runtime and the front-end can only get it upon request to /config + Example use case: the front-end app is served to the client. Then the user wants to + register but the server has been setup to require an invitation. This option is setup + at runtime and the front-end can only get it upon request to /config """ await extract_and_validate(request) @@ -72,6 +72,6 @@ async def get_config(request: web.Request): data = { "invitation_required": login_cfg.get("registration_invitation_required", False) } - data.update( app[APP_SETTINGS_KEY].public_dict() ) + data.update(request.app[APP_SETTINGS_KEY].public_dict()) return data diff --git a/services/web/server/src/simcore_service_webserver/settings.py b/services/web/server/src/simcore_service_webserver/settings.py index d1c503bf155..b18f8de2a8a 100644 --- a/services/web/server/src/simcore_service_webserver/settings.py +++ b/services/web/server/src/simcore_service_webserver/settings.py @@ -2,13 +2,16 @@ TODO: pydantic settings comming soon and replacing trafaret """ +import logging +from typing import Dict, Optional + from aiohttp import web from pydantic import BaseSettings -from pprint import pprint -from typing import Dict APP_SETTINGS_KEY = f"{__name__ }.build_time_settings" +log = logging.getLogger(__name__) + class BuildTimeSettings(BaseSettings): # All these settings are defined in the Dockerfile at build-image time @@ -33,7 +36,7 @@ class Config: def public_dict(self) -> Dict: """ Data publicaly available """ return self.dict( - include=["vsc_url", "vsc_ref", "build_date"], + include={"vsc_url", "vsc_ref", "build_date"}, exclude_unset=True, exclude_none=True, ) diff --git a/services/web/server/src/simcore_service_webserver/statics.py b/services/web/server/src/simcore_service_webserver/statics.py index 06869f17a85..68f177cd022 100644 --- a/services/web/server/src/simcore_service_webserver/statics.py +++ b/services/web/server/src/simcore_service_webserver/statics.py @@ -65,7 +65,7 @@ def write_statics_file(app: web.Application, directory: Path) -> None: statics = {} statics["stackName"] = os.environ.get("SWARM_STACK_NAME") statics["buildDate"] = app[APP_SETTINGS_KEY].build_date - statics.udpate(app[APP_SETTINGS_KEY].public_dict()) + statics.update(app[APP_SETTINGS_KEY].public_dict()) with open(directory / "statics.json", "wt") as fh: json.dump(statics, fh) diff --git a/services/web/server/tests/unit/isolated/test_rest.py b/services/web/server/tests/unit/isolated/test_rest.py index ef1a1c9e078..d21a45c9614 100644 --- a/services/web/server/tests/unit/isolated/test_rest.py +++ b/services/web/server/tests/unit/isolated/test_rest.py @@ -16,6 +16,7 @@ from simcore_service_webserver.resources import resources from simcore_service_webserver.rest import setup_rest from simcore_service_webserver.security import setup_security +from simcore_service_webserver.settings import setup_settings @pytest.fixture @@ -43,7 +44,9 @@ async def slow_handler(request: web.Request): "main": server_kwargs, "rest": {"enabled": True, "version": api_version_prefix}, } + # activates only security+restAPI sub-modules + setup_settings(app) setup_security(app) setup_rest(app) diff --git a/services/web/server/tests/unit/with_dbs/fast/test_access_to_studies.py b/services/web/server/tests/unit/with_dbs/fast/test_access_to_studies.py index 79e1937a86f..6dd9d6c24fb 100644 --- a/services/web/server/tests/unit/with_dbs/fast/test_access_to_studies.py +++ b/services/web/server/tests/unit/with_dbs/fast/test_access_to_studies.py @@ -28,6 +28,7 @@ from simcore_service_webserver.rest import setup_rest from simcore_service_webserver.security import setup_security from simcore_service_webserver.session import setup_session +from simcore_service_webserver.settings import setup_settings from simcore_service_webserver.statics import setup_statics from simcore_service_webserver.studies_access import setup_studies_access from simcore_service_webserver.users import setup_users @@ -77,6 +78,7 @@ def client(loop, aiohttp_client, app_cfg, postgres_db, qx_client_outdir, monkeyp app = create_safe_application(cfg) + setup_settings(app) setup_statics(app) setup_db(app) setup_session(app) @@ -98,7 +100,7 @@ def client(loop, aiohttp_client, app_cfg, postgres_db, qx_client_outdir, monkeyp @pytest.fixture async def logged_user(client): # , role: UserRole): - """ adds a user in db and logs in with client + """adds a user in db and logs in with client NOTE: role fixture is defined as a parametrization below """ From 33f60a796ffee19e6a117ef9a85e4a1c7e8ed7c4 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 4 Sep 2020 15:59:31 +0200 Subject: [PATCH 08/25] fixed typos --- services/web/Dockerfile | 2 +- .../web/server/src/simcore_service_webserver/settings.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/web/Dockerfile b/services/web/Dockerfile index 3015e15d7e5..2a603f26b0b 100644 --- a/services/web/Dockerfile +++ b/services/web/Dockerfile @@ -126,7 +126,7 @@ ENV SC_BUILD_TARGET=production \ SC_HEALTHCHECK_INTERVAL=30 \ SC_HEALTHCHECK_RETRY=3 \ SC_BUILD_DATE=${BUILD_DATE} \ - SC_VSC_URL=${VCS_URL} \ + SC_VCS_URL=${VCS_URL} \ SC_VCS_REF=${VCS_REF} ENV PYTHONOPTIMIZE=TRUE diff --git a/services/web/server/src/simcore_service_webserver/settings.py b/services/web/server/src/simcore_service_webserver/settings.py index b18f8de2a8a..20ab95da57c 100644 --- a/services/web/server/src/simcore_service_webserver/settings.py +++ b/services/web/server/src/simcore_service_webserver/settings.py @@ -15,8 +15,8 @@ class BuildTimeSettings(BaseSettings): # All these settings are defined in the Dockerfile at build-image time - vsc_url: Optional[str] = None - vsc_ref: Optional[str] = None + vcs_url: Optional[str] = None + vcs_ref: Optional[str] = None build_date: Optional[str] = None build_target: Optional[str] = None @@ -36,7 +36,7 @@ class Config: def public_dict(self) -> Dict: """ Data publicaly available """ return self.dict( - include={"vsc_url", "vsc_ref", "build_date"}, + include={"vcs_url", "vcs_ref", "build_date"}, exclude_unset=True, exclude_none=True, ) From a169549c047d023f2af49b1fb243e532b5225c59 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 4 Sep 2020 16:08:33 +0200 Subject: [PATCH 09/25] Cleanup --- .../src/simcore_service_webserver/__version__.py | 7 ++++++- .../src/simcore_service_webserver/settings.py | 14 ++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/services/web/server/src/simcore_service_webserver/__version__.py b/services/web/server/src/simcore_service_webserver/__version__.py index 9267ec38c28..1d6e7152e70 100644 --- a/services/web/server/src/simcore_service_webserver/__version__.py +++ b/services/web/server/src/simcore_service_webserver/__version__.py @@ -8,4 +8,9 @@ version = Version(__version__) -api_version_prefix: str = f"v{version.major}" +app_name: str = __name__.split(".")[0] +api_version: str = __version__ +api_vtag: str = f"v{version.major}" + +# legacy +api_version_prefix: str = api_vtag diff --git a/services/web/server/src/simcore_service_webserver/settings.py b/services/web/server/src/simcore_service_webserver/settings.py index 20ab95da57c..62046441505 100644 --- a/services/web/server/src/simcore_service_webserver/settings.py +++ b/services/web/server/src/simcore_service_webserver/settings.py @@ -8,13 +8,19 @@ from aiohttp import web from pydantic import BaseSettings -APP_SETTINGS_KEY = f"{__name__ }.build_time_settings" +from .__version__ import app_name, api_version + +APP_SETTINGS_KEY = f"{__name__ }.app_settings" log = logging.getLogger(__name__) -class BuildTimeSettings(BaseSettings): - # All these settings are defined in the Dockerfile at build-image time +class ApplicationSettings(BaseSettings): + # settings defined by the code + app_name: str = app_name + api_version: str = api_version + + # settings defined when docker image is built vcs_url: Optional[str] = None vcs_ref: Optional[str] = None build_date: Optional[str] = None @@ -43,5 +49,5 @@ def public_dict(self) -> Dict: def setup_settings(app: web.Application): - app[APP_SETTINGS_KEY] = BuildTimeSettings() + app[APP_SETTINGS_KEY] = ApplicationSettings() log.info("Captured app settings:\n%s", app[APP_SETTINGS_KEY].json(indent=2)) From eb1fbc2c6970fb32b7f994a68a922fe7fc6ca21e Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 4 Sep 2020 18:30:34 +0200 Subject: [PATCH 10/25] Fixed typos --- .../src/simcore_service_webserver/settings.py | 3 +-- .../tests/unit/isolated/test_settings.py | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 services/web/server/tests/unit/isolated/test_settings.py diff --git a/services/web/server/src/simcore_service_webserver/settings.py b/services/web/server/src/simcore_service_webserver/settings.py index 62046441505..f4f4dca0b16 100644 --- a/services/web/server/src/simcore_service_webserver/settings.py +++ b/services/web/server/src/simcore_service_webserver/settings.py @@ -42,8 +42,7 @@ class Config: def public_dict(self) -> Dict: """ Data publicaly available """ return self.dict( - include={"vcs_url", "vcs_ref", "build_date"}, - exclude_unset=True, + include={"vcs_url", "vcs_ref", "build_date", "app_name", "api_version"}, exclude_none=True, ) diff --git a/services/web/server/tests/unit/isolated/test_settings.py b/services/web/server/tests/unit/isolated/test_settings.py new file mode 100644 index 00000000000..00e688a43a4 --- /dev/null +++ b/services/web/server/tests/unit/isolated/test_settings.py @@ -0,0 +1,23 @@ +# pylint:disable=unused-argument +# pylint:disable=redefined-outer-name +# pylint:disable=no-name-in-module + +from simcore_service_webserver.settings import setup_settings, APP_SETTINGS_KEY + + +def test_settings_constructs(monkeypatch): + monkeypatch.setenv("SC_VCS_URL", "FOO") + app = dict() + + # + setup_settings(app) + + # + assert APP_SETTINGS_KEY in app + settings = app[APP_SETTINGS_KEY] + + assert 'vcs_url' in settings.public_dict() + assert settings.public_dict()['vcs_url'] == "FOO" + + assert 'app_name' in settings.public_dict() + assert 'api_version' in settings.public_dict() From 71fbe4b6644d7abb5a15289ddaf7cd45cc59fdf8 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 4 Sep 2020 19:02:14 +0200 Subject: [PATCH 11/25] adds check on sensitive info --- services/web/server/tests/unit/isolated/test_settings.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/web/server/tests/unit/isolated/test_settings.py b/services/web/server/tests/unit/isolated/test_settings.py index 00e688a43a4..4ff97d01e85 100644 --- a/services/web/server/tests/unit/isolated/test_settings.py +++ b/services/web/server/tests/unit/isolated/test_settings.py @@ -21,3 +21,8 @@ def test_settings_constructs(monkeypatch): assert 'app_name' in settings.public_dict() assert 'api_version' in settings.public_dict() + + # avoids display of sensitive info + assert not any( "pass" in key for key in settings.public_dict().keys() ) + assert not any( "token" in key for key in settings.public_dict().keys() ) + assert not any( "secret" in key for key in settings.public_dict().keys() ) From ef2d38099c84359796541a76a8d525f500037955 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 11:15:20 +0200 Subject: [PATCH 12/25] Restored pg downgrade and described fix --- .../src/pytest_simcore/postgres_service.py | 30 ++++++++----------- .../computation/test_computation.py | 8 ++--- .../integration/computation/test_rabbit.py | 4 +-- .../integration/test_project_workflow.py | 10 +++---- 4 files changed, 21 insertions(+), 31 deletions(-) diff --git a/packages/pytest-simcore/src/pytest_simcore/postgres_service.py b/packages/pytest-simcore/src/pytest_simcore/postgres_service.py index 6be4b4f748f..0b4f955bfac 100644 --- a/packages/pytest-simcore/src/pytest_simcore/postgres_service.py +++ b/packages/pytest-simcore/src/pytest_simcore/postgres_service.py @@ -56,17 +56,10 @@ def postgres_engine( engine.dispose() -@pytest.fixture(scope="module") -def migration_downgrade_disabled() -> bool: - """ Override to enable migration downgrade step in postgres_db teardown """ - return True - - @pytest.fixture(scope="module") def postgres_db( postgres_dsn: Dict, postgres_engine: sa.engine.Engine, - migration_downgrade_disabled: bool, ) -> sa.engine.Engine: # upgrades database from zero @@ -76,17 +69,18 @@ def postgres_db( yield postgres_engine - if not migration_downgrade_disabled: - # NOTE: After discussion with ANE, this step delays tests and do not bring much as a fixture - # therefore it is added as optional - - pg_cli.downgrade.callback("base") - pg_cli.clean.callback() - # FIXME: migration downgrade fails to remove all tables!!, added drop_all as tmp fix - metadata.drop_all(postgres_engine) - - else: - metadata.drop_all(postgres_engine) + # downgrades database to zero --- + # + # NOTE: This step CANNOT be avoided since it would leave the db in an invalid state + # E.g. 'alembic_version' table is not deleted and keeps head version or routines + # like 'notify_comp_tasks_changed' remain undeleted + # + pg_cli.downgrade.callback("base") + pg_cli.clean.callback() # just cleans discover cache + + # FIXME: migration downgrade fails to remove User types SEE https://github.com/ITISFoundation/osparc-simcore/issues/1776 + # Added drop_all as tmp fix + metadata.drop_all(postgres_engine) @pytest.fixture(scope="module") diff --git a/services/web/server/tests/integration/computation/test_computation.py b/services/web/server/tests/integration/computation/test_computation.py index b2d8752a6b7..a9ff0d74517 100644 --- a/services/web/server/tests/integration/computation/test_computation.py +++ b/services/web/server/tests/integration/computation/test_computation.py @@ -42,14 +42,14 @@ ops_services = [ "minio", - # 'adminer', - # 'portainer' -] +] # + ["adminer", "portainer"] @pytest.fixture def client( - loop, aiohttp_client, app_config, ## waits until swarm with *_services are up + loop, + aiohttp_client, + app_config, ## waits until swarm with *_services are up ): assert app_config["rest"]["version"] == API_VERSION diff --git a/services/web/server/tests/integration/computation/test_rabbit.py b/services/web/server/tests/integration/computation/test_rabbit.py index 6dd1db9973a..e8cb64743b2 100644 --- a/services/web/server/tests/integration/computation/test_rabbit.py +++ b/services/web/server/tests/integration/computation/test_rabbit.py @@ -11,8 +11,8 @@ import aio_pika import pytest +import sqlalchemy as sa from mock import call -from pytest_simcore.postgres_service import postgres_db from servicelib.application import create_safe_application from servicelib.application_keys import APP_CONFIG_KEY @@ -36,8 +36,6 @@ ops_services = [] -import sqlalchemy as sa - @pytest.fixture def client( diff --git a/services/web/server/tests/integration/test_project_workflow.py b/services/web/server/tests/integration/test_project_workflow.py index 4293caf93ad..2fd5c9253bf 100644 --- a/services/web/server/tests/integration/test_project_workflow.py +++ b/services/web/server/tests/integration/test_project_workflow.py @@ -41,9 +41,7 @@ "redis", ] -ops_services = [ - # 'adminer' -] +ops_services = [] # + ["adminer"] @pytest.fixture @@ -122,7 +120,7 @@ def fake_project_data(fake_data_dir: Path) -> Dict: @pytest.fixture async def logged_user(client): # , role: UserRole): - """ adds a user in db and logs in with client + """adds a user in db and logs in with client NOTE: role fixture is defined as a parametrization below """ @@ -150,9 +148,9 @@ def computational_system_mock(mocker): @pytest.fixture async def storage_subsystem_mock(loop, mocker): """ - Patches client calls to storage service + Patches client calls to storage service - Patched functions are exposed within projects but call storage subsystem + Patched functions are exposed within projects but call storage subsystem """ # requests storage to copy data mock = mocker.patch( From 7e90b41f874f44bd0e9c16ae84c8449ee3e8c536 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:19:42 +0200 Subject: [PATCH 13/25] Minor changes in sidecar --- services/sidecar/src/simcore_service_sidecar/config.py | 2 +- services/sidecar/src/simcore_service_sidecar/utils.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/services/sidecar/src/simcore_service_sidecar/config.py b/services/sidecar/src/simcore_service_sidecar/config.py index a68ca2e9b78..e18cd5b1e54 100644 --- a/services/sidecar/src/simcore_service_sidecar/config.py +++ b/services/sidecar/src/simcore_service_sidecar/config.py @@ -43,7 +43,7 @@ ) SIDECAR_LOGLEVEL: str = getattr( - logging, os.environ.get("SIDECAR_LOGLEVEL", "WARNING").upper(), logging.WARNING + logging, os.environ.get("SIDECAR_LOGLEVEL", "WARNING").upper(), logging.DEBUG ) DOCKER_REGISTRY: str = os.environ.get("REGISTRY_URL", "masu.speag.com") diff --git a/services/sidecar/src/simcore_service_sidecar/utils.py b/services/sidecar/src/simcore_service_sidecar/utils.py index 6013cc0a961..0828f22cb32 100644 --- a/services/sidecar/src/simcore_service_sidecar/utils.py +++ b/services/sidecar/src/simcore_service_sidecar/utils.py @@ -99,8 +99,12 @@ async def async_is_gpu_node() -> bool: config=spec_config, name=f"sidecar_{uuid.uuid4()}_test_gpu" ) return True - except aiodocker.exceptions.DockerError as e: - logger.warning("is_gpu_node DockerError during check: %s", str(e)) + except aiodocker.exceptions.DockerError as err: + logger.debug( + "is_gpu_node DockerError while check-run %s: %s", + spec_config, + err + ) return False From 49a733bad7fa76eec1db8db5e141cc6c7f361720 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:24:05 +0200 Subject: [PATCH 14/25] Cleanup webserver's project_* --- .../projects/projects_db.py | 83 +++++++++++-------- .../projects/projects_handlers.py | 18 ++-- 2 files changed, 62 insertions(+), 39 deletions(-) diff --git a/services/web/server/src/simcore_service_webserver/projects/projects_db.py b/services/web/server/src/simcore_service_webserver/projects/projects_db.py index f67d755bbb1..c2009144a01 100644 --- a/services/web/server/src/simcore_service_webserver/projects/projects_db.py +++ b/services/web/server/src/simcore_service_webserver/projects/projects_db.py @@ -6,6 +6,7 @@ """ import logging +import textwrap import uuid as uuidlib from collections import deque from datetime import datetime @@ -170,7 +171,7 @@ async def add_project( force_project_uuid=False, force_as_template=False, ) -> Dict: - """ Inserts a new project in the database and, if a user is specified, it assigns ownership + """Inserts a new project in the database and, if a user is specified, it assigns ownership - A valid uuid is automaticaly assigned to the project except if force_project_uuid=False. In the latter case, invalid uuid will raise an exception. @@ -193,7 +194,10 @@ async def add_project( # TODO: check best rollback design. see transaction.begin... # TODO: check if template, otherwise standard (e.g. template- prefix in uuid) prj.update( - {"creationDate": now_str(), "lastChangeDate": now_str(),} + { + "creationDate": now_str(), + "lastChangeDate": now_str(), + } ) kargs = _convert_to_db_names(prj) kargs.update( @@ -249,13 +253,15 @@ async def load_user_projects(self, user_id: int) -> List[Dict]: log.info("Loading projects for user %s", user_id) async with self.engine.acquire() as conn: user_groups: List[RowProxy] = await self.__load_user_groups(conn, user_id) - query = f""" - SELECT * - FROM projects - WHERE projects.type != 'TEMPLATE' - AND (jsonb_exists_any(projects.access_rights, array[{', '.join(f"'{group.gid}'" for group in user_groups)}]) - OR prj_owner = {user_id}) - """ + query = textwrap.dedent( + f"""\ + SELECT * + FROM projects + WHERE projects.type != 'TEMPLATE' + AND (jsonb_exists_any(projects.access_rights, array[{', '.join(f"'{group.gid}'" for group in user_groups)}]) + OR prj_owner = {user_id}) + """ + ) projects_list = await self.__load_projects( conn, query, user_id, user_groups ) @@ -272,16 +278,20 @@ async def load_template_projects( async with self.engine.acquire() as conn: user_groups: List[RowProxy] = await self.__load_user_groups(conn, user_id) + # NOTE: in order to use specific postgresql function jsonb_exists_any we use raw call here - query = f""" -SELECT * -FROM projects -WHERE projects.type = 'TEMPLATE' -{'AND projects.published ' if only_published else ''} -AND (jsonb_exists_any(projects.access_rights, array[{', '.join(f"'{group.gid}'" for group in user_groups)}]) -OR prj_owner = {user_id}) - """ + query = textwrap.dedent( + f"""\ + SELECT * + FROM projects + WHERE projects.type = 'TEMPLATE' + {'AND projects.published ' if only_published else ''} + AND (jsonb_exists_any(projects.access_rights, array[{', '.join(f"'{group.gid}'" for group in user_groups)}]) + OR prj_owner = {user_id}) + """ + ) db_projects = await self.__load_projects(conn, query, user_id, user_groups) + projects_list.extend(db_projects) return projects_list @@ -337,15 +347,17 @@ async def _get_project( user_groups: List[RowProxy] = await self.__load_user_groups(conn, user_id) # NOTE: in order to use specific postgresql function jsonb_exists_any we use raw call here - query = f""" -SELECT * -FROM projects -WHERE -{"" if include_templates else "projects.type != 'TEMPLATE' AND"} -uuid = '{project_uuid}' -AND (jsonb_exists_any(projects.access_rights, array[{', '.join(f"'{group.gid}'" for group in user_groups)}]) -OR prj_owner = {user_id}) -""" + query = textwrap.dedent( + f"""\ + SELECT * + FROM projects + WHERE + {"" if include_templates else "projects.type != 'TEMPLATE' AND"} + uuid = '{project_uuid}' + AND (jsonb_exists_any(projects.access_rights, array[{', '.join(f"'{group.gid}'" for group in user_groups)}]) + OR prj_owner = {user_id}) + """ + ) result = await conn.execute(query) project_row = await result.first() @@ -392,7 +404,7 @@ async def remove_tag(self, user_id: int, project_uuid: str, tag_id: int) -> Dict return _convert_to_schema_names(project, user_email) async def get_user_project(self, user_id: int, project_uuid: str) -> Dict: - """ Returns all projects *owned* by the user + """Returns all projects *owned* by the user - prj_owner - Notice that a user can have access to a template but he might not onw it @@ -448,16 +460,21 @@ async def get_template_project( return template_prj async def update_user_project( - self, project_data: Dict, user_id: int, project_uuid: str, include_templates: Optional[bool] = False + self, + project_data: Dict, + user_id: int, + project_uuid: str, + include_templates: Optional[bool] = False, ): - """ updates a project from a user - - """ + """updates a project from a user""" log.info("Updating project %s for user %s", project_uuid, user_id) async with self.engine.acquire() as conn: row = await self._get_project( - user_id, project_uuid, exclude_foreign=["tags"], include_templates=include_templates + user_id, + project_uuid, + exclude_foreign=["tags"], + include_templates=include_templates, ) user_groups: List[RowProxy] = await self.__load_user_groups(conn, user_id) _check_project_permissions(row, user_id, user_groups, "write") @@ -505,7 +522,7 @@ async def delete_user_project(self, user_id: int, project_uuid: str): ) async def make_unique_project_uuid(self) -> str: - """ Generates a project identifier still not used in database + """Generates a project identifier still not used in database WARNING: this method does not guarantee always unique id due to possible race condition (i.e. while client gets this uuid and uses it, another client might have used the same id already) diff --git a/services/web/server/src/simcore_service_webserver/projects/projects_handlers.py b/services/web/server/src/simcore_service_webserver/projects/projects_handlers.py index 1f289464026..61b185bf607 100644 --- a/services/web/server/src/simcore_service_webserver/projects/projects_handlers.py +++ b/services/web/server/src/simcore_service_webserver/projects/projects_handlers.py @@ -143,7 +143,12 @@ async def list_projects(request: web.Request): projects_api.validate_project(request.app, project) validated_projects.append(project) except ValidationError: - log.exception("Skipping invalid project from list") + log.warning( + "Invalid project with id='%s' in database." + "Skipping project from listed response." + "RECOMMENDED db data diagnose and cleanup", + project.get("uuid", "undefined"), + ) continue return {"data": validated_projects} @@ -152,9 +157,7 @@ async def list_projects(request: web.Request): @login_required @permission_required("project.read") async def get_project(request: web.Request): - """ Returns all projects accessible to a user (not necesarly owned) - - """ + """Returns all projects accessible to a user (not necesarly owned)""" # TODO: temporary hidden until get_handlers_from_namespace refactor to seek marked functions instead! user_id = request[RQT_USERID_KEY] from .projects_api import get_project_for_user @@ -180,7 +183,7 @@ async def get_project(request: web.Request): @login_required @permission_required("services.pipeline.*") # due to update_pipeline_db async def replace_project(request: web.Request): - """ Implements PUT /projects + """Implements PUT /projects In a PUT request, the enclosed entity is considered to be a modified version of the resource stored on the origin server, and the client is requesting that the @@ -410,7 +413,10 @@ async def state_project(request: web.Request) -> web.Response: # check that project exists await get_project_for_user( - request.app, project_uuid=project_uuid, user_id=user_id, include_templates=True, + request.app, + project_uuid=project_uuid, + user_id=user_id, + include_templates=True, ) with managed_resource(user_id, None, request.app) as rt: users_of_project = await rt.find_users_of_resource("project_id", project_uuid) From 863373e8ec6b98fe2559686d5ef7dd4a2e13210e Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:32:56 +0200 Subject: [PATCH 15/25] updates dependencies of postgres-database package --- packages/postgres-database/requirements/_base.txt | 2 +- .../postgres-database/requirements/_migration.txt | 2 +- packages/postgres-database/requirements/_test.txt | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/postgres-database/requirements/_base.txt b/packages/postgres-database/requirements/_base.txt index a1a556ce21b..79c456b019b 100644 --- a/packages/postgres-database/requirements/_base.txt +++ b/packages/postgres-database/requirements/_base.txt @@ -6,7 +6,7 @@ # idna==2.10 # via yarl multidict==4.7.6 # via yarl -psycopg2-binary==2.8.5 # via sqlalchemy +psycopg2-binary==2.8.6 # via sqlalchemy sqlalchemy[postgresql_psycopg2binary]==1.3.19 # via -r requirements/_base.in typing-extensions==3.7.4.3 # via yarl yarl==1.5.1 # via -r requirements/_base.in diff --git a/packages/postgres-database/requirements/_migration.txt b/packages/postgres-database/requirements/_migration.txt index 99ec2763727..58b43461f95 100644 --- a/packages/postgres-database/requirements/_migration.txt +++ b/packages/postgres-database/requirements/_migration.txt @@ -13,7 +13,7 @@ idna==2.10 # via -r requirements/_base.txt, requests, yarl mako==1.1.3 # via alembic markupsafe==1.1.1 # via mako multidict==4.7.6 # via -r requirements/_base.txt, yarl -psycopg2-binary==2.8.5 # via -r requirements/_base.txt, sqlalchemy +psycopg2-binary==2.8.6 # via -r requirements/_base.txt, sqlalchemy python-dateutil==2.8.1 # via alembic python-editor==1.0.4 # via alembic requests==2.24.0 # via docker diff --git a/packages/postgres-database/requirements/_test.txt b/packages/postgres-database/requirements/_test.txt index 192f4f0a0de..0a8a8387fe8 100644 --- a/packages/postgres-database/requirements/_test.txt +++ b/packages/postgres-database/requirements/_test.txt @@ -18,7 +18,7 @@ chardet==3.0.4 # via -r requirements/_migration.txt, aiohttp, request click==7.1.2 # via -r requirements/_migration.txt coverage==5.2.1 # via -r requirements/_test.in, coveralls, pytest-cov coveralls==2.1.2 # via -r requirements/_test.in -cryptography==3.0 # via paramiko +cryptography==3.1 # via paramiko distro==1.5.0 # via docker-compose docker-compose==1.26.2 # via pytest-docker docker[ssh]==4.3.1 # via -r requirements/_migration.txt, docker-compose @@ -28,18 +28,18 @@ faker==4.1.2 # via -r requirements/_test.in idna-ssl==1.1.0 # via aiohttp idna==2.10 # via -r requirements/_migration.txt, idna-ssl, requests, yarl importlib-metadata==1.7.0 # via jsonschema, pluggy, pytest -isort==5.4.2 # via pylint +isort==5.5.1 # via pylint jsonschema==3.2.0 # via docker-compose lazy-object-proxy==1.4.3 # via astroid mako==1.1.3 # via -r requirements/_migration.txt, alembic markupsafe==1.1.1 # via -r requirements/_migration.txt, mako mccabe==0.6.1 # via pylint -more-itertools==8.4.0 # via pytest +more-itertools==8.5.0 # via pytest multidict==4.7.6 # via -r requirements/_migration.txt, aiohttp, yarl packaging==20.4 # via pytest -paramiko==2.7.1 # via docker +paramiko==2.7.2 # via docker pluggy==0.13.1 # via pytest -psycopg2-binary==2.8.5 # via -r requirements/_migration.txt, aiopg, sqlalchemy +psycopg2-binary==2.8.6 # via -r requirements/_migration.txt, aiopg, sqlalchemy py==1.9.0 # via pytest pycparser==2.20 # via cffi pylint==2.6.0 # via -r requirements/_test.in @@ -61,7 +61,7 @@ six==1.15.0 # via -r requirements/_migration.txt, astroid, bcrypt, sqlalchemy[postgresql_psycopg2binary]==1.3.19 # via -r requirements/_migration.txt, aiopg, alembic tenacity==6.2.0 # via -r requirements/_migration.txt text-unidecode==1.3 # via faker -texttable==1.6.2 # via docker-compose +texttable==1.6.3 # via docker-compose toml==0.10.1 # via pylint typed-ast==1.4.1 # via astroid typing-extensions==3.7.4.3 # via -r requirements/_migration.txt, aiohttp, yarl From 68dbe4927ad9be010b23ba9d71c089430a85addb Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:33:08 +0200 Subject: [PATCH 16/25] updates dependencies of s3wrapper --- packages/s3wrapper/requirements/_test.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/s3wrapper/requirements/_test.txt b/packages/s3wrapper/requirements/_test.txt index c61a4bfae31..44d68ad356c 100644 --- a/packages/s3wrapper/requirements/_test.txt +++ b/packages/s3wrapper/requirements/_test.txt @@ -14,7 +14,7 @@ chardet==3.0.4 # via requests configparser==5.0.0 # via -r requirements/_base.txt, minio coverage==5.2.1 # via -r requirements/_test.in, coveralls, pytest-cov coveralls==2.1.2 # via -r requirements/_test.in -cryptography==3.0 # via paramiko +cryptography==3.1 # via paramiko distro==1.5.0 # via docker-compose docker-compose==1.26.2 # via pytest-docker docker[ssh]==4.3.1 # via docker-compose @@ -22,14 +22,14 @@ dockerpty==0.4.1 # via docker-compose docopt==0.6.2 # via coveralls, docker-compose idna==2.10 # via requests importlib-metadata==1.7.0 # via jsonschema, pluggy, pytest -isort==5.4.2 # via pylint +isort==5.5.1 # via pylint jsonschema==3.2.0 # via docker-compose lazy-object-proxy==1.4.3 # via astroid mccabe==0.6.1 # via pylint minio==6.0.0 # via -r requirements/_base.txt -more-itertools==8.4.0 # via pytest +more-itertools==8.5.0 # via pytest packaging==20.4 # via pytest -paramiko==2.7.1 # via docker +paramiko==2.7.2 # via docker pluggy==0.13.1 # via pytest py==1.9.0 # via pytest pycparser==2.20 # via cffi @@ -47,7 +47,7 @@ pytz==2020.1 # via -r requirements/_base.txt, minio pyyaml==5.3.1 # via docker-compose requests==2.24.0 # via -r requirements/_test.in, coveralls, docker, docker-compose six==1.15.0 # via -r requirements/_base.txt, astroid, bcrypt, cryptography, docker, docker-compose, dockerpty, jsonschema, packaging, pynacl, pyrsistent, python-dateutil, websocket-client -texttable==1.6.2 # via docker-compose +texttable==1.6.3 # via docker-compose toml==0.10.1 # via pylint typed-ast==1.4.1 # via astroid urllib3==1.25.10 # via -r requirements/_base.txt, minio, requests From 52420113d6dbf43f5c07766ce9172065a79c82a2 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:33:34 +0200 Subject: [PATCH 17/25] updates tester dependencies --- api/tests/requirements.txt | 6 +++--- tests/swarm-deploy/requirements/requirements.txt | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/api/tests/requirements.txt b/api/tests/requirements.txt index 2aebb922871..057d7e9c2b1 100644 --- a/api/tests/requirements.txt +++ b/api/tests/requirements.txt @@ -6,7 +6,7 @@ # aiohttp==3.6.2 # via -r requirements.in, pytest-aiohttp async-timeout==3.0.1 # via aiohttp -attrs==20.1.0 # via aiohttp, jsonschema, openapi-core, pytest +attrs==20.2.0 # via aiohttp, jsonschema, openapi-core, pytest chardet==3.0.4 # via aiohttp coverage==5.2.1 # via -r requirements.in, pytest-cov idna-ssl==1.1.0 # via aiohttp @@ -16,13 +16,13 @@ iniconfig==1.0.1 # via pytest isodate==0.6.0 # via openapi-core, openapi-schema-validator jsonschema==3.2.0 # via openapi-schema-validator, openapi-spec-validator lazy-object-proxy==1.5.1 # via openapi-core -more-itertools==8.4.0 # via openapi-core, pytest +more-itertools==8.5.0 # via openapi-core, pytest multidict==4.7.6 # via aiohttp, yarl openapi-core==0.13.4 # via -r requirements.in openapi-schema-validator==0.1.1 # via openapi-core openapi-spec-validator==0.2.9 # via openapi-core packaging==20.4 # via pytest, pytest-sugar -parse==1.16.0 # via openapi-core +parse==1.17.0 # via openapi-core pluggy==0.13.1 # via pytest py==1.9.0 # via pytest pyparsing==2.4.7 # via packaging diff --git a/tests/swarm-deploy/requirements/requirements.txt b/tests/swarm-deploy/requirements/requirements.txt index 5899b6d9a9f..94f10429bf0 100644 --- a/tests/swarm-deploy/requirements/requirements.txt +++ b/tests/swarm-deploy/requirements/requirements.txt @@ -4,12 +4,12 @@ # # pip-compile --output-file=requirements/requirements.txt requirements/requirements.in # -aio-pika==6.6.1 # via -r requirements/requirements.in +aio-pika==6.7.0 # via -r requirements/requirements.in aiohttp==3.6.2 # via pytest-aiohttp aiormq==3.2.3 # via aio-pika alembic==1.4.2 # via -r requirements/requirements.in async-timeout==3.0.1 # via aiohttp -attrs==20.1.0 # via aiohttp, pytest +attrs==20.2.0 # via aiohttp, pytest certifi==2020.6.20 # via requests chardet==3.0.4 # via aiohttp, requests click==7.1.2 # via -r requirements/requirements.in @@ -21,7 +21,7 @@ importlib-metadata==1.7.0 # via pluggy, pytest iniconfig==1.0.1 # via pytest mako==1.1.3 # via alembic markupsafe==1.1.1 # via mako -more-itertools==8.4.0 # via pytest +more-itertools==8.5.0 # via pytest multidict==4.7.6 # via aiohttp, yarl packaging==20.4 # via pytest, pytest-sugar pamqp==2.3.0 # via aiormq @@ -31,7 +31,7 @@ pyparsing==2.4.7 # via packaging pytest-aiohttp==0.3.0 # via -r requirements/requirements.in pytest-cov==2.10.1 # via -r requirements/requirements.in pytest-instafail==0.4.2 # via -r requirements/requirements.in -pytest-mock==3.3.0 # via -r requirements/requirements.in +pytest-mock==3.3.1 # via -r requirements/requirements.in pytest-runner==5.2 # via -r requirements/requirements.in pytest-sugar==0.9.4 # via -r requirements/requirements.in pytest==6.0.1 # via -r requirements/requirements.in, pytest-aiohttp, pytest-cov, pytest-instafail, pytest-mock, pytest-sugar From 0c96c5afa4480ea960802a230cb3f71765f2e8bb Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:33:50 +0200 Subject: [PATCH 18/25] updates dependencies of servicelib package --- .../service-library/requirements/_base.txt | 2 +- .../service-library/requirements/_test.txt | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/service-library/requirements/_base.txt b/packages/service-library/requirements/_base.txt index 3a40ca6e357..c7d387d9946 100644 --- a/packages/service-library/requirements/_base.txt +++ b/packages/service-library/requirements/_base.txt @@ -21,7 +21,7 @@ multidict==4.7.6 # via aiohttp, yarl openapi-core==0.12.0 # via -r requirements/_base.in openapi-spec-validator==0.2.9 # via openapi-core prometheus-client==0.8.0 # via -r requirements/_base.in -psycopg2-binary==2.8.5 # via -r requirements/_base.in, aiopg, sqlalchemy +psycopg2-binary==2.8.6 # via -r requirements/_base.in, aiopg, sqlalchemy pyrsistent==0.16.0 # via jsonschema pyyaml==5.3.1 # via -r requirements/_base.in, openapi-spec-validator six==1.15.0 # via isodate, jsonschema, openapi-core, openapi-spec-validator, pyrsistent, tenacity diff --git a/packages/service-library/requirements/_test.txt b/packages/service-library/requirements/_test.txt index 9c135badd2e..ef35ba52f19 100644 --- a/packages/service-library/requirements/_test.txt +++ b/packages/service-library/requirements/_test.txt @@ -18,29 +18,29 @@ cffi==1.14.2 # via bcrypt, cryptography, pynacl chardet==3.0.4 # via -r requirements/_base.txt, aiohttp, requests coverage==5.2.1 # via -r requirements/_test.in, coveralls, pytest-cov coveralls==2.1.2 # via -r requirements/_test.in -cryptography==3.0 # via paramiko +cryptography==3.1 # via paramiko distro==1.5.0 # via docker-compose docker-compose==1.26.2 # via pytest-docker docker[ssh]==4.3.1 # via docker-compose dockerpty==0.4.1 # via docker-compose docopt==0.6.2 # via coveralls, docker-compose -idna-ssl==1.1.0 # via -r requirements/_base.txt +idna-ssl==1.1.0 # via -r requirements/_base.txt, aiohttp idna==2.10 # via -r requirements/_base.txt, idna-ssl, requests, yarl -importlib-metadata==1.7.0 # via -r requirements/_base.txt +importlib-metadata==1.7.0 # via -r requirements/_base.txt, jsonschema, pluggy, pytest isodate==0.6.0 # via -r requirements/_base.txt, openapi-core -isort==5.4.2 # via pylint +isort==5.5.1 # via pylint jsonschema==3.2.0 # via -r requirements/_base.txt, docker-compose, openapi-spec-validator lazy-object-proxy==1.4.3 # via -r requirements/_base.txt, astroid, openapi-core mccabe==0.6.1 # via pylint -more-itertools==8.4.0 # via pytest +more-itertools==8.5.0 # via pytest multidict==4.7.6 # via -r requirements/_base.txt, aiohttp, yarl openapi-core==0.12.0 # via -r requirements/_base.txt openapi-spec-validator==0.2.9 # via -r requirements/_base.txt, openapi-core packaging==20.4 # via pytest, pytest-sugar -paramiko==2.7.1 # via docker +paramiko==2.7.2 # via docker pluggy==0.13.1 # via pytest prometheus-client==0.8.0 # via -r requirements/_base.txt -psycopg2-binary==2.8.5 # via -r requirements/_base.txt, aiopg, sqlalchemy +psycopg2-binary==2.8.6 # via -r requirements/_base.txt, aiopg, sqlalchemy py==1.9.0 # via pytest pycparser==2.20 # via cffi pylint==2.6.0 # via -r requirements/_test.in @@ -63,10 +63,11 @@ sqlalchemy[postgresql_psycopg2binary]==1.3.19 # via -r requirements/_base.txt, strict-rfc3339==0.7 # via -r requirements/_base.txt, openapi-core tenacity==6.2.0 # via -r requirements/_base.txt termcolor==1.1.0 # via pytest-sugar -texttable==1.6.2 # via docker-compose +texttable==1.6.3 # via docker-compose toml==0.10.1 # via pylint trafaret==2.0.2 # via -r requirements/_base.txt -typing-extensions==3.7.4.3 # via -r requirements/_base.txt +typed-ast==1.4.1 # via astroid +typing-extensions==3.7.4.3 # via -r requirements/_base.txt, aiohttp, yarl ujson==3.1.0 # via -r requirements/_base.txt urllib3==1.25.10 # via requests wcwidth==0.2.5 # via pytest From b9d0eb7dec6eed24b7c8cce553fcff16c7d1eaaa Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:34:01 +0200 Subject: [PATCH 19/25] Updates dependencies of simcore-sdk package --- packages/simcore-sdk/requirements/_base.txt | 2 +- packages/simcore-sdk/requirements/_test.txt | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/simcore-sdk/requirements/_base.txt b/packages/simcore-sdk/requirements/_base.txt index 345b0a7d24f..cf80d30ec2c 100644 --- a/packages/simcore-sdk/requirements/_base.txt +++ b/packages/simcore-sdk/requirements/_base.txt @@ -16,7 +16,7 @@ idna-ssl==1.1.0 # via aiohttp idna==2.10 # via idna-ssl, yarl multidict==4.7.6 # via aiohttp, yarl networkx==2.5 # via -r requirements/_base.in -psycopg2-binary==2.8.5 # via -r requirements/_base.in, aiopg, sqlalchemy +psycopg2-binary==2.8.6 # via -r requirements/_base.in, aiopg, sqlalchemy pydantic==1.6.1 # via -r requirements/_base.in pyyaml==5.3.1 # via trafaret-config six==1.15.0 # via tenacity diff --git a/packages/simcore-sdk/requirements/_test.txt b/packages/simcore-sdk/requirements/_test.txt index 303a2b53524..2c9b35b2743 100644 --- a/packages/simcore-sdk/requirements/_test.txt +++ b/packages/simcore-sdk/requirements/_test.txt @@ -17,7 +17,7 @@ cffi==1.14.2 # via bcrypt, cryptography, pynacl chardet==3.0.4 # via -r requirements/_base.txt, aiohttp, requests coverage==5.2.1 # via -r requirements/_test.in, coveralls, pytest-cov coveralls==2.1.2 # via -r requirements/_test.in -cryptography==3.0 # via paramiko +cryptography==3.1 # via paramiko dataclasses==0.7 # via -r requirements/_base.txt, pydantic decorator==4.4.2 # via -r requirements/_base.txt, networkx distro==1.5.0 # via docker-compose @@ -28,18 +28,18 @@ docopt==0.6.2 # via coveralls, docker-compose idna-ssl==1.1.0 # via -r requirements/_base.txt, aiohttp idna==2.10 # via -r requirements/_base.txt, idna-ssl, requests, yarl importlib-metadata==1.7.0 # via jsonschema, pluggy, pytest -isort==5.4.2 # via pylint +isort==5.5.1 # via pylint jsonschema==3.2.0 # via docker-compose lazy-object-proxy==1.4.3 # via astroid mccabe==0.6.1 # via pylint mock==4.0.2 # via -r requirements/_test.in -more-itertools==8.4.0 # via pytest +more-itertools==8.5.0 # via pytest multidict==4.7.6 # via -r requirements/_base.txt, aiohttp, yarl networkx==2.5 # via -r requirements/_base.txt packaging==20.4 # via pytest, pytest-sugar -paramiko==2.7.1 # via docker +paramiko==2.7.2 # via docker pluggy==0.13.1 # via pytest -psycopg2-binary==2.8.5 # via -r requirements/_base.txt, aiopg, sqlalchemy +psycopg2-binary==2.8.6 # via -r requirements/_base.txt, aiopg, sqlalchemy py==1.9.0 # via pytest pycparser==2.20 # via cffi pydantic==1.6.1 # via -r requirements/_base.txt @@ -51,7 +51,7 @@ pytest-aiohttp==0.3.0 # via -r requirements/_test.in pytest-cov==2.10.1 # via -r requirements/_test.in pytest-docker==0.8.0 # via -r requirements/_test.in pytest-instafail==0.4.2 # via -r requirements/_test.in -pytest-mock==3.3.0 # via -r requirements/_test.in +pytest-mock==3.3.1 # via -r requirements/_test.in pytest-runner==5.2 # via -r requirements/_test.in pytest-sugar==0.9.4 # via -r requirements/_test.in pytest==5.4.3 # via -r requirements/_test.in, pytest-aiohttp, pytest-cov, pytest-docker, pytest-instafail, pytest-mock, pytest-sugar @@ -62,7 +62,7 @@ six==1.15.0 # via -r requirements/_base.txt, astroid, bcrypt, cryp sqlalchemy[postgresql_psycopg2binary]==1.3.19 # via -r requirements/_base.txt, aiopg tenacity==6.2.0 # via -r requirements/_base.txt termcolor==1.1.0 # via pytest-sugar -texttable==1.6.2 # via docker-compose +texttable==1.6.3 # via docker-compose toml==0.10.1 # via pylint trafaret-config==2.0.2 # via -r requirements/_base.txt trafaret==2.0.2 # via -r requirements/_base.txt, trafaret-config From 78700ab435947d88bd73d590c655f0945f6e4a7d Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:41:17 +0200 Subject: [PATCH 20/25] adds recipe to install and recreate package-lock --- Makefile | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 41913ad6cd8..97bc438abd8 100644 --- a/Makefile +++ b/Makefile @@ -318,7 +318,7 @@ push-version: tag-version ## ENVIRONMENT ------------------------------- -.PHONY: devenv devenv-all +.PHONY: devenv devenv-all node-env .venv: python3 -m venv $@ @@ -338,6 +338,15 @@ devenv-all: devenv ## sets up extra development tools (everything else besides p @$(MAKE_C) scripts/json-schema-to-openapi-schema +node_modules: package.json + # checking npm installed + @npm --version + # installing package.json + npm install --package-lock + +nodenv: node_modules ## builds node_modules local environ (TODO) + + .env: .env-devel ## creates .env file from defaults in .env-devel $(if $(wildcard $@), \ @echo "WARNING ##### $< is newer than $@ ####"; diff -uN $@ $<; false;,\ From 0db56fd8163ba2604b23084e192991089e428a2c Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:41:45 +0200 Subject: [PATCH 21/25] Fixing vulnerability https://github.com/advisories/GHSA-p9pc-299p-vxgp --- package-lock.json | 22 +++++++++++++++------- package.json | 3 ++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index ec22eaa55e5..a5d7c367d5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2166,6 +2166,17 @@ "which-module": "^2.0.0", "y18n": "^3.2.1", "yargs-parser": "^9.0.2" + }, + "dependencies": { + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } } } } @@ -2858,13 +2869,10 @@ } }, "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-19.0.4.tgz", + "integrity": "sha512-eXeQm7yXRjPFFyf1voPkZgXQZJjYfjgQUmGPbD2TLtZeIYzvacgWX7sQ5a1HsRgVP+pfKAkRZDNtTGev4h9vhw==", + "dev": true }, "yauzl": { "version": "2.4.1", diff --git a/package.json b/package.json index 19aaa447355..8533c589643 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "eslint-plugin-qx-rules": "^0.1.0", "puppeteer": "^1.19.0", "puppeteer-to-istanbul": "^1.2.2", - "yargs": "^13.3.0" + "yargs": "^13.3.0", + "yargs-parser": ">=13.1.2" } } From afd2629356bd29450d6ddd8b0e7e3278d17b2b47 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:51:10 +0200 Subject: [PATCH 22/25] Upgrades service diagram --- docs/img/.stack-simcore-version.yml.png | Bin 186466 -> 254941 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/img/.stack-simcore-version.yml.png b/docs/img/.stack-simcore-version.yml.png index 26f730a4065a648087cb91908ff88d3ce99af5e3..894ba87dc9fe8d8c58356ac28dda196e01474f85 100644 GIT binary patch literal 254941 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

-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 b4Vk2LB2nt#uDgB3)o3ozo*y-L{r>+8LI0WG literal 186466 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ŋtG57*<$bZaQGVBGL_Ila<3m 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 daI3A;wfL_k`%Y!k2N8+p&N7>Me) Date: Mon, 7 Sep 2020 18:51:43 +0200 Subject: [PATCH 23/25] Updates database ERD --- packages/postgres-database/Makefile | 10 +- .../doc/img/postgres-database-models.svg | 813 +++++++++--------- 2 files changed, 417 insertions(+), 406 deletions(-) diff --git a/packages/postgres-database/Makefile b/packages/postgres-database/Makefile index 630ede5bf07..ab469176512 100644 --- a/packages/postgres-database/Makefile +++ b/packages/postgres-database/Makefile @@ -89,7 +89,6 @@ migrate: $(DOT_ENV_FILE) ## basic migration update (use ONLY for development pur - .PHONY: up-pg down-pg up-prod down-prod docker-compose-configs = $(wildcard tests/docker-compose*.yml) up-pg up-prod: $(docker-compose-configs) ## starts pg server @@ -97,3 +96,12 @@ up-pg up-prod: $(docker-compose-configs) ## starts pg server down-pg down-prod: $(docker-compose-configs) ## stops pg server docker-compose -f tests/docker-compose.yml $(if $(findstring -prod,$@),-f tests/docker-compose.prod.yml,) down + + + +.PHONY: auto-doc +auto-doc: install-dev ## Creates entity relationship diagram (ERD) defined under ``simcore_postgres_database.models`` + # installing doc dependencies (install-doc) + pip install eralchemy + # running script + python scripts/create_erd.py diff --git a/packages/postgres-database/doc/img/postgres-database-models.svg b/packages/postgres-database/doc/img/postgres-database-models.svg index b5b82bade70..2cabdf4b41b 100644 --- a/packages/postgres-database/doc/img/postgres-database-models.svg +++ b/packages/postgres-database/doc/img/postgres-database-models.svg @@ -4,11 +4,11 @@ - - + + %3 - + file_meta_data @@ -72,539 +72,542 @@ groups - -groups - -gid - [BIGINT] - -name - [VARCHAR] - -description - [VARCHAR] - -type - [VARCHAR(8)] - -thumbnail - [VARCHAR] - -created - [DATETIME] - -modified - [DATETIME] + +groups + +gid + [BIGINT] + +name + [VARCHAR] + +description + [VARCHAR] + +type + [VARCHAR(8)] + +thumbnail + [VARCHAR] + +inclusion_rules + [JSONB] + +created + [DATETIME] + +modified + [DATETIME] user_to_groups - -user_to_groups - -uid - [BIGINT] - -gid - [BIGINT] - -access_rights - [JSONB] - -created - [DATETIME] - -modified - [DATETIME] + +user_to_groups + +uid + [BIGINT] + +gid + [BIGINT] + +access_rights + [JSONB] + +created + [DATETIME] + +modified + [DATETIME] groups--user_to_groups - -{0,1} -0..N + +{0,1} +0..N users - -users - -id - [BIGINT] - -name - [VARCHAR] - -email - [VARCHAR] - -password_hash - [VARCHAR] - -primary_gid - [BIGINT] - -status - [VARCHAR(20)] - -role - [VARCHAR(9)] - -created_at - [DATETIME] - -modified - [DATETIME] - -created_ip - [VARCHAR] + +users + +id + [BIGINT] + +name + [VARCHAR] + +email + [VARCHAR] + +password_hash + [VARCHAR] + +primary_gid + [BIGINT] + +status + [VARCHAR(20)] + +role + [VARCHAR(9)] + +created_at + [DATETIME] + +modified + [DATETIME] + +created_ip + [VARCHAR] groups--users - -{0,1} -0..N + +{0,1} +0..N group_classifiers - -group_classifiers - -id - [BIGINT] - -bundle - [JSONB] - -created - [DATETIME] - -modified - [DATETIME] - -gid - [BIGINT] + +group_classifiers + +id + [BIGINT] + +bundle + [JSONB] + +created + [DATETIME] + +modified + [DATETIME] + +gid + [BIGINT] groups--group_classifiers - -{0,1} -0..N + +{0,1} +0..N services_meta_data - -services_meta_data - -key - [VARCHAR] - -version - [VARCHAR] - -owner - [BIGINT] - -name - [VARCHAR] - -description - [VARCHAR] - -thumbnail - [VARCHAR] - -classifiers - [VARCHAR[]] - -created - [DATETIME] - -modified - [DATETIME] + +services_meta_data + +key + [VARCHAR] + +version + [VARCHAR] + +owner + [BIGINT] + +name + [VARCHAR] + +description + [VARCHAR] + +thumbnail + [VARCHAR] + +classifiers + [VARCHAR[]] + +created + [DATETIME] + +modified + [DATETIME] groups--services_meta_data - -{0,1} -0..N + +{0,1} +0..N services_access_rights - -services_access_rights - -key - [VARCHAR] - -version - [VARCHAR] - -gid - [BIGINT] - -execute_access - [BOOLEAN] - -write_access - [BOOLEAN] - -created - [DATETIME] - -modified - [DATETIME] + +services_access_rights + +key + [VARCHAR] + +version + [VARCHAR] + +gid + [BIGINT] + +execute_access + [BOOLEAN] + +write_access + [BOOLEAN] + +created + [DATETIME] + +modified + [DATETIME] groups--services_access_rights - -{0,1} -0..N + +{0,1} +0..N users--user_to_groups - -{0,1} -0..N + +{0,1} +0..N projects - -projects - -id - [BIGINT] - -type - [VARCHAR(8)] - -uuid - [VARCHAR] - -name - [VARCHAR] - -description - [VARCHAR] - -thumbnail - [VARCHAR] - -prj_owner - [BIGINT] - -creation_date - [DATETIME] - -last_change_date - [DATETIME] - -access_rights - [JSONB] - -workbench - [Null] - -classifiers - [VARCHAR[]] - -dev - [JSONB] - -published - [BOOLEAN] + +projects + +id + [BIGINT] + +type + [VARCHAR(8)] + +uuid + [VARCHAR] + +name + [VARCHAR] + +description + [VARCHAR] + +thumbnail + [VARCHAR] + +prj_owner + [BIGINT] + +creation_date + [DATETIME] + +last_change_date + [DATETIME] + +access_rights + [JSONB] + +workbench + [Null] + +classifiers + [VARCHAR[]] + +dev + [JSONB] + +published + [BOOLEAN] users--projects - -{0,1} -0..N + +{0,1} +0..N user_to_projects - -user_to_projects - -id - [BIGINT] - -user_id - [BIGINT] - -project_id - [BIGINT] + +user_to_projects + +id + [BIGINT] + +user_id + [BIGINT] + +project_id + [BIGINT] users--user_to_projects - -{0,1} -0..N + +{0,1} +0..N tokens - -tokens - -token_id - [BIGINT] - -user_id - [BIGINT] - -token_service - [VARCHAR] - -token_data - [Null] + +tokens + +token_id + [BIGINT] + +user_id + [BIGINT] + +token_service + [VARCHAR] + +token_data + [Null] users--tokens - -{0,1} -0..N + +{0,1} +0..N api_keys - -api_keys - -id - [BIGINT] - -display_name - [VARCHAR] - -user_id - [BIGINT] - -api_key - [VARCHAR] - -api_secret - [VARCHAR] + +api_keys + +id + [BIGINT] + +display_name + [VARCHAR] + +user_id + [BIGINT] + +api_key + [VARCHAR] + +api_secret + [VARCHAR] users--api_keys - -{0,1} -0..N + +{0,1} +0..N confirmations - -confirmations - -code - [TEXT] - -user_id - [BIGINT] - -action - [VARCHAR(14)] - -data - [TEXT] - -created_at - [DATETIME] + +confirmations + +code + [TEXT] + +user_id + [BIGINT] + +action + [VARCHAR(14)] + +data + [TEXT] + +created_at + [DATETIME] users--confirmations - -{0,1} -0..N + +{0,1} +0..N tags - -tags - -id - [BIGINT] - -user_id - [BIGINT] - -name - [VARCHAR] - -description - [VARCHAR] - -color - [VARCHAR] + +tags + +id + [BIGINT] + +user_id + [BIGINT] + +name + [VARCHAR] + +description + [VARCHAR] + +color + [VARCHAR] users--tags - -{0,1} -0..N + +{0,1} +0..N services_meta_data--services_access_rights - -{0,1} -0..N + +{0,1} +0..N services_meta_data--services_access_rights - -{0,1} -0..N + +{0,1} +0..N study_tags - -study_tags - -study_id - [BIGINT] - -tag_id - [BIGINT] + +study_tags + +study_id + [BIGINT] + +tag_id + [BIGINT] projects--study_tags - -{0,1} -0..N + +{0,1} +0..N projects--user_to_projects - -{0,1} -0..N + +{0,1} +0..N tags--study_tags - -{0,1} -0..N + +{0,1} +0..N comp_pipeline - -comp_pipeline - -project_id - [VARCHAR] - -dag_adjacency_list - [Null] - -state - [VARCHAR] + +comp_pipeline + +project_id + [VARCHAR] + +dag_adjacency_list + [Null] + +state + [VARCHAR] comp_tasks - -comp_tasks - -task_id - [INTEGER] - -project_id - [VARCHAR] - -node_id - [VARCHAR] - -node_class - [VARCHAR(13)] - -job_id - [VARCHAR] - -internal_id - [INTEGER] - -schema - [Null] - -inputs - [Null] - -outputs - [Null] - -image - [Null] - -state - [INTEGER] - -submit - [DATETIME] - -start - [DATETIME] - -end - [DATETIME] + +comp_tasks + +task_id + [INTEGER] + +project_id + [VARCHAR] + +node_id + [VARCHAR] + +node_class + [VARCHAR(13)] + +job_id + [VARCHAR] + +internal_id + [INTEGER] + +schema + [Null] + +inputs + [Null] + +outputs + [Null] + +image + [Null] + +state + [INTEGER] + +submit + [DATETIME] + +start + [DATETIME] + +end + [DATETIME] comp_pipeline--comp_tasks - -{0,1} -0..N + +{0,1} +0..N dags - -dags - -id - [INTEGER] - -key - [VARCHAR] - -version - [VARCHAR] - -name - [VARCHAR] - -description - [VARCHAR] - -contact - [VARCHAR] - -workbench - [Null] + +dags + +id + [INTEGER] + +key + [VARCHAR] + +version + [VARCHAR] + +name + [VARCHAR] + +description + [VARCHAR] + +contact + [VARCHAR] + +workbench + [Null] From 855322c93a4f93a407555d892542fa0bdf25bc64 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Wed, 9 Sep 2020 15:01:27 +0200 Subject: [PATCH 24/25] @sanderegg comments --- .../web/server/src/simcore_service_webserver/computation_api.py | 1 - 1 file changed, 1 deletion(-) diff --git a/services/web/server/src/simcore_service_webserver/computation_api.py b/services/web/server/src/simcore_service_webserver/computation_api.py index 56400f4cb27..2a7a58198b6 100644 --- a/services/web/server/src/simcore_service_webserver/computation_api.py +++ b/services/web/server/src/simcore_service_webserver/computation_api.py @@ -448,4 +448,3 @@ async def get_task_output( comp_task = await result.fetchone() if comp_task: return comp_task.outputs - return None From 4b053100a72370fb83f6fa15138aa1aa58a701a3 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Wed, 9 Sep 2020 16:50:44 +0200 Subject: [PATCH 25/25] Subdivided e2e recipe with more steps --- .github/workflows/ci-testing-deploy.yml | 4 +++- ci/github/system-testing/e2e.bash | 15 +++++++++++---- tests/e2e/Makefile | 11 ++++++----- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci-testing-deploy.yml b/.github/workflows/ci-testing-deploy.yml index e576d696dc8..7f4366f5789 100644 --- a/.github/workflows/ci-testing-deploy.yml +++ b/.github/workflows/ci-testing-deploy.yml @@ -1058,6 +1058,8 @@ jobs: ${{ runner.os }}-node- - name: setup images run: ./ci/github/system-testing/e2e.bash setup_images + - name: setup and start swarm + run: ./ci/github/system-testing/e2e.bash setup_and_run_stack - name: setup environment run: ./ci/github/system-testing/e2e.bash setup_environment - name: setup registry @@ -1070,7 +1072,7 @@ jobs: - name: recover docker logs id: logs_recovery if: always() - run: ./ci/github/system-testing/e2e.bash recover_artifacts + run: ./ci/github/system-testing/e2e.bash dump_docker_logs - name: upload docker logs if: always() uses: actions/upload-artifact@v2 diff --git a/ci/github/system-testing/e2e.bash b/ci/github/system-testing/e2e.bash index c7a306a54ca..547f1e1e46c 100755 --- a/ci/github/system-testing/e2e.bash +++ b/ci/github/system-testing/e2e.bash @@ -74,13 +74,17 @@ uninstall_insecure_registry() { } setup_images() { - echo "--------------- getting simcore docker images..." + echo "--------------- preparing docker images..." make pull-version || ( (make pull-cache || true) && make build-x tag-version) make info-images +} + +setup_and_run_stack() { # configure simcore for testing with a private registry install_insecure_registry + echo "--------------- starting swarm ..." # start simcore and set log-level export LOG_LEVEL=WARNING make up-version @@ -135,29 +139,32 @@ setup_database() { install() { ## shortcut setup_images + setup_and_run_stack setup_environment setup_registry setup_database } test() { + sleep 5 pushd tests/e2e make test popd - } -recover_artifacts() { +dump_docker_logs() { # all screenshots are in tests/e2e/screenshots if any # get docker logs. # NOTE: dumping logs sometimes hangs. Introducing a timeout - mkdir simcore_logs + mkdir --parents simcore_logs (timeout 30 docker service logs --timestamps --tail=300 --details ${SWARM_STACK_NAME}_webserver >simcore_logs/webserver.log 2>&1) || true (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_director >simcore_logs/director.log 2>&1) || true (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_storage >simcore_logs/storage.log 2>&1) || true (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_sidecar >simcore_logs/sidecar.log 2>&1) || true (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_catalog >simcore_logs/catalog.log 2>&1) || true + (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_migration >simcore_logs/migration.log 2>&1) || true + (timeout 30 docker service logs --timestamps --tail=200 --details ${SWARM_STACK_NAME}_postgres >simcore_logs/postgres.log 2>&1) || true } clean_up() { diff --git a/tests/e2e/Makefile b/tests/e2e/Makefile index 5f81b6b6551..c5940ceeff3 100644 --- a/tests/e2e/Makefile +++ b/tests/e2e/Makefile @@ -41,17 +41,17 @@ registry-down: ## bring the docker registry down wait-for-services: ## wait for simcore services to be up @python utils/wait_for_services.py + .PHONY: transfer-images-to-registry transfer-images-to-registry: ## transfer images to registry + # pushing sleeper image @docker pull itisfoundation/sleeper:1.0.0 @docker tag itisfoundation/sleeper:1.0.0 registry:5000/simcore/services/comp/itis/sleeper:1.0.0 @docker push registry:5000/simcore/services/comp/itis/sleeper:1.0.0 - - # @docker pull itisfoundation/jupyter-base-notebook:2.13.0 - # @docker tag itisfoundation/jupyter-base-notebook:2.13.0 registry:5000/simcore/services/dynamic/jupyter-base-notebook:2.13.0 - # @docker push registry:5000/simcore/services/dynamic/jupyter-base-notebook:2.13.0 # completed transfer of images curl -s registry:5000/v2/_catalog | jq '.repositories' + curl -s http://registry:5000/v2/simcore/services/comp/itis/sleeper/tags/list?n=50 | jq '.' + PUBLISHED_PORT = $(shell docker inspect $(shell docker service ls --format "{{ .Name }}" | grep postgres) --format "{{(index .Endpoint.Ports 0).PublishedPort}}") .PHONY: inject-templates-in-db @@ -64,8 +64,9 @@ inject-templates-in-db: ## inject project templates --dbname simcoredb \ --command "\copy projects from 'tutorials/sleepers_project_template_sql.csv' csv header;"; + .PHONY: test -test: ## test the platform +test: ## test the platformĂ„ # tests npm test # tests whether tutorial run