Skip to content

Cleanup catalog service #1582

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Jun 26, 2020
Merged

Conversation

pcrespov
Copy link
Member

@pcrespov pcrespov commented Jun 24, 2020

What do these changes do?

Cleanup of catalog service before adding more functionality

  • upgrade requirements
  • upgrade dockerfile and booting scripts from alpine to slim
  • app rationale and folder structure
    • api/dependencies: dependencies injected in handlers
    • api/routes: endpoint handlers and routing
    • api/root.py: joins all openapi-specs into a single router
    • models: domain (orm and business logic models) and schema (i/o schemas for openapi) models
    • db: database tables (i.e. sa schemas for tables) and repositories (crud layer between handlers and db calls)
    • core: init application and settings (parses values by args, environs, .env or default, in this order)
    • services: modules/plugins with logic for the app
    • __main__,__version__: main entrypoint and version
  • upgrade tests
    • upgrades/downgrades pg fixture
  • upgrade makefile
  • check docker-compose integration
  • upgrade cookie-cutter for fastapi to get this layout

Some extra changes repo-wise

  • Frozen all python-bases from ${PYTHON_VERSION}-slim to ${PYTHON_VERSION}-slim-buster
  • upgrades pip compatible-version to 20.1.1
  • added new fixture in pytest_simcore.postgres_service2 that migrates database on the fly

How to test

Checklist

  • Did you change any service's API? Then make sure to bundle document and upgrade version (make openapi-specs, git commit ... and then make version-*)
  • Unit tests for the changes exist
  • Runs in the swarm
  • Documentation reflects the changes
  • New module? Add your github username to .github/CODEOWNERS

@pcrespov pcrespov added the t:maintenance Some planned maintenance work label Jun 24, 2020
@pcrespov pcrespov self-assigned this Jun 24, 2020
@codecov
Copy link

codecov bot commented Jun 24, 2020

Codecov Report

Merging #1582 into master will increase coverage by 0.8%.
The diff coverage is 81.4%.

Impacted file tree graph

@@           Coverage Diff            @@
##           master   #1582     +/-   ##
========================================
+ Coverage    72.6%   73.4%   +0.8%     
========================================
  Files         271     278      +7     
  Lines       10721   10807     +86     
  Branches     1172    1173      +1     
========================================
+ Hits         7790    7940    +150     
+ Misses       2586    2521     -65     
- Partials      345     346      +1     
Flag Coverage Δ
#integrationtests 56.7% <ø> (ø)
#unittests 67.1% <81.4%> (-1.2%) ⬇️
Impacted Files Coverage Δ
...es/catalog/src/simcore_service_catalog/__main__.py 0.0% <0.0%> (ø)
...c/simcore_service_catalog/models/domain/project.py 94.2% <ø> (ø)
...s/catalog/src/simcore_service_catalog/db/events.py 60.0% <60.0%> (ø)
...rc/simcore_service_catalog/db/repositories/dags.py 71.0% <71.0%> (ø)
...c/simcore_service_catalog/services/remote_debug.py 68.7% <71.4%> (ø)
...catalog/src/simcore_service_catalog/core/events.py 78.2% <78.2%> (ø)
...log/src/simcore_service_catalog/api/routes/dags.py 78.0% <78.9%> (ø)
...mcore_service_catalog/api/dependencies/database.py 91.6% <91.6%> (ø)
...talog/src/simcore_service_catalog/core/settings.py 93.7% <93.7%> (ø)
...og/src/simcore_service_catalog/core/application.py 95.4% <95.4%> (ø)
... and 28 more

pcrespov added 15 commits June 24, 2020 18:42
- api/dependencies: dependencies injected in handlers
- api/routes: endpoint handlers and routing
- api/root.py: join all openapi-specs into a single router
- models: domain (orm and business logic models)  and schema (i/o schemas for openapi)  models
- db: database tables (i.e. sa schemas for tables) and repositories (crud layer between handlers and db calls)
- core: init application and settings (parses values by args, environs, .env or default, in this order)
- services: modules/plugins with logic for the app
- __main__,__version__ : main entrypoint and version
@pcrespov pcrespov changed the title WIP: Cleanup catalog service Cleanup catalog service Jun 25, 2020
@pcrespov pcrespov requested review from sanderegg and GitHK June 25, 2020 16:53
@pcrespov pcrespov marked this pull request as ready for review June 25, 2020 16:53
'Defining 'pytest_plugins' in a non-top-level conftest is no longer supported'
@pcrespov pcrespov added this to the Huo Guo milestone Jun 25, 2020
@pcrespov pcrespov added the a:catalog catalog service label Jun 25, 2020
Copy link
Member

@sanderegg sanderegg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Contributor

@GitHK GitHK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍
Is the DAG part of this service used only for parsing the workbench?

@pcrespov
Copy link
Member Author

pcrespov commented Jun 26, 2020

Is the DAG part of this service used only for parsing the workbench?

@GitHK, a DAG is an "work-in-progress" data structure to define projects with workbench of hierarchical graphs, i.e. graphs can also embed graphs in its nodes. These nodes that "contain" a graph is what some people here call "macro" services

@pcrespov pcrespov merged commit 95df8da into ITISFoundation:master Jun 26, 2020
@pcrespov pcrespov deleted the cleanup-catalog branch June 26, 2020 14:32
@odeimaiz odeimaiz mentioned this pull request Aug 4, 2020
odeimaiz added a commit that referenced this pull request Aug 4, 2020
- UI/UX improvements (#1657)
- Bump yarl from 1.4.2 to 1.5.1 in /packages/postgres-database (#1665)
- Bump ujson from 3.0.0 to 3.1.0 in /packages/service-library (#1664)
- Bump pytest-docker from 0.7.2 to 0.8.0 in /packages/service-library (#1647)
- Improving storage performance (#1659)
- Bump aiozipkin from 0.6.0 to 0.7.0 in /packages/service-library (#1642)
- Theming (#1656)
- Platform stability:  (#1645)
- is1594 fix and re-activate e2e testing (#1620)
- 2 bugs fixed + Some improvements (#1634)
- Fixes default (#1640)
- Bump lodash from 4.17.15 to 4.17.19 (#1639)
- Is1585/cleanup storage (#1586)
- Fixes on publish studies handling (#1632)
- Some enhancements and bug fixes (#1608)
- Improve e2e  (#1631)
- filter studies by name before deleting them (#1629)
- Maintenance/upgrades test tools (#1628)
- Bugfix/concurent opening projects (#1598)
- Bugfix/allow reading groups anonymous user (#1615)
- Bump docker from 4.2.1 to 4.2.2 in /packages/postgres-database (#1605)
- fix testing if node has gpu support (#1604)
- [bugfix] Invalidate cache before starting a study (#1602)
- Feature/fix e2e 2 (#1600)
- fix deploy not needing e2e testing since it is disabled
- reduce cardinality of metrics (#1593)
- Excudes e2e stage from include until fixed (#1595)
- Shared project concurrency (frontend) (#1591)
- Homogenize studies and services (#1569)
- [feature] UI Fine grained access - project locking and notification
- Bugfix/apiserver does not need sslheaders (#1564)
- Cleanup catalog service (#1582)
- Maintenance/cleanup api server (#1578)
- Adds support for GPU scheduling of computational services (#1553)
- Maintenance/upgrades and tooling (#1546)
- Is1570/study fails 500 (#1572)
- Bump faker from 4.1.0 to 4.1.1 in /packages/postgres-database (#1573)
- maintenance fix codecov reports (#1568)
- Manage groups, Share studies (#1512)
- Is/add notebook migration script (#1565)
- Is1269/api-server upgrade (#1475)
- added simcore_webserver_service in pytest simcore package (#1563)
- add traefik endpoint to api-gateway (#1555)
@sanderegg sanderegg mentioned this pull request Aug 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:catalog catalog service t:maintenance Some planned maintenance work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants