Skip to content
This repository has been archived by the owner on May 17, 2024. It is now read-only.

Replace DRS and TES clients #39

Open
uniqueg opened this issue Sep 23, 2019 · 1 comment
Open

Replace DRS and TES clients #39

uniqueg opened this issue Sep 23, 2019 · 1 comment
Labels
priority: high High priority status flag: discuss Needs input from various people type flag: required by specs Compliance with specs requires this change type: maintenance Related to general repository maintenance workload: hours Likely takes hours to resolve

Comments

@uniqueg
Copy link
Member

uniqueg commented Sep 23, 2019

Is your feature request related to a problem? Please describe.

Currently, TEStribute uses the simple Bravado-based clients TES-cli and DRS-cli to request task and object information required to estimate task costs and durations. However, Bravado does not appear to be under very active development and, importantly, has no plans to support OpenAPI 3.0. This is problematic since migration to OpenAPI 3.0 is planned at least for the DRS specs (see ga4gh/data-repository-service-schemas/issues/230). This seems to be a general trend across the GA4GH Cloud API service schemas, as the TRS specs already making use of OpenAPI 3.0 (https://github.com/ga4gh/tool-registry-service-schemas/blob/c343e9c64e6e480f0b5a212d93473d8aba59ed0e/openapi/openapi.yaml) and a migration for the WES specs is being discussed as well (see ga4gh/workflow-execution-service-schemas/issues/43). Moreover, TEStribute itself uses v3.0 for its API service and requires a client for testing purposes (#26). It is therefore desirable to provide a suitable replacement for the Bravado-based clients used in/for TEStribute in the medium to long term.

Describe the solution you'd like

An optimal solution is unclear, see below for some considerations/options.

Describe alternatives you've considered

As far as auto-generating client code based on OpenAPI 3.0 specs is concerned, there appear to be the following options:

Given that only a few external API endpoints are currently called withing TEStribute, a manual, low-level request-based solution is possible, too, in conjunction with other tooling for validation. It has to be considered, though, that GA4GH Cloud APIs are versioned and expected to be updated relatively frequently.

Additional context

N/A

@uniqueg
Copy link
Member Author

uniqueg commented Feb 23, 2020

Most GA4GH Cloud WS specifications are moving to adopting OpenAPI v3, so this will become critical soon.

Issues in the relevant repositories TES-cli, DRS-cli, as well as WES-cli still need to be submitted. Required changes in this repository should then be minimal.

Also see #26

@uniqueg uniqueg added priority: high High priority status flag: discuss Needs input from various people type flag: required by specs Compliance with specs requires this change type: maintenance Related to general repository maintenance workload: days Likely takes days to resolve workload: hours Likely takes hours to resolve and removed workload: days Likely takes days to resolve labels Feb 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
priority: high High priority status flag: discuss Needs input from various people type flag: required by specs Compliance with specs requires this change type: maintenance Related to general repository maintenance workload: hours Likely takes hours to resolve
Projects
None yet
Development

No branches or pull requests

1 participant