TRAPI 1.5: update SmartAPI yamls for BTE + Service Provider
colleenXu opened this issue · comments
The SmartAPI yamls for BTE + Service Provider are based on the TRAPI spec, so they'll need updating to TRAPI 1.5.
Let's wait until we've implemented the major + other minor features of TRAPI 1.5 in Dev/CI, then:
- translator-api-registry repo: make branch/PR with updated SmartAPI yamls + dev/CI server urls. Remove dev/CI server urls from master branch yamls.
- SmartAPI registry: register those yamls as separate, temporary registrations
- BTE:
- copy BTE's updated yaml into bte-server (branch w/ TRAPI 1.5 features)
- add smartapi exclusions for the temporary registrations
EDIT: did this additional piece - reviewing / addressing-if-still-relevant the old questions and comments from TRAPI 1.4 issue
First step of creating the updated yamls is done in branch NCATS-Tangerine/translator-api-registry#149. It also changes BTE's workflow operation to lookup_and_score for #485
We'll do the next steps (including removing dev/CI server urls from the master ranch yamls) when we're ready to advertise that we do TRAPI 1.5 for dev/CI instances.
To address the old questions/comments, I made minor changes to the current yamls (commit) and yamls on this branch (merge):
- adjusted BTE yaml's
servers
comments, added short explanation of how test/prod instances are updated - BTE-specific parameters:
- removed caching (replaced with TRAPI bypass_cache property?)
- commented out dryrun - needs testing to see if it's still working
- add
asyncquery_response
endpoint (feature PR)
Small, not-important question for Jackson @tokebe:
It's not clear to me if log_level
for asyncquery_response
(and other endpoints like asyncquery_status
?) is one of our custom request parameters or not.
- I saw your old comment saying it's a "urlquery" and previous issues / PRs.
- But TRAPI queries have a log_level property in the request-body (same level as message, workflow, submitter, etc).
If it's a custom request parameter, I could add it to our tool's yamls if I know what endpoints it works for / how it behaves. There seems to be some info in that PR
Yes, we have a custom url query parameter that mimics the TRAPI-spec log_level
behavior on /v1/asynquery_status
and /v1/asyncquery_response
.
The tasks above are complete:
- dev/ci instances urls are now advertised in the new, temporary TRAPI 1.5.0-beta registrations (BTE, Service Provider). They use the branch PR yamls
- prod/test instance urls are still in the main TRAPI 1.4.2 registrations (BTE, Service Provider). They use the master branch yamls
- BTE dev/ci is updated (PR):
- using TRAPI 1.5.0-beta yaml as its local copy (has all instance yamls so it doesn't need to be updated later!)
- smartapi exclusions: add the temporary registrations
View in ARAX-UI's "SmartAPI info" tab (left column menu):
Next steps: As TRAPI 1.5 is deployed to test/prod, we'll adjust the yamls/registrations.
I've also updated the BTE/Service Provider yamls to add the log_level parameter (master branch, yamls on this branch).
So I'm done following up on the old questions/comments. Yay!
TRAPI 1.5 and other features were deployed to Test yesterday.
So I've updated the yamls/registrations, moving the test instances to the temporary TRAPI 1.5 registrations (BTE, Service Provider). They use the branch PR yamls.
I also changed the TRAPI version we advertise from "1.5.0-beta" -> "1.5.0".
View in ARAX-UI's "SmartAPI info" tab (left column menu):
Notes on next steps
We may need to update the TRAPI 1.5 yamls when TRAPI 1.5 final (not beta) is released which should be at the end of this current sprint (Translator Slack link).
When TRAPI 1.5 is released in Prod:
- registry:
- add Prod instance to TRAPI 1.5 yamls, then merge this PR -> this updates the original registrations to TRAPI 1.5
- delete the temp registrations, refresh the original registrations
- bte-server: not sure if this needs to be a hot-fix or not
- remove the temp registrations from config/smartapi_exclusions.yaml
- update the local docs/smartapi.yaml (at least will update the TRAPI version from 1.5.0-beta to 1.5.0)
Update
TRAPI 1.5.0 final was released today. I've updated the TRAPI 1.5 yamls with its minor updates (compare to TRAPI 1.5.0-beta). And refreshed the temporary registrations using these yamls.
I've also updated the local docs/smartapi.yaml but I'm not sure if it's been deployed to CI.
Update: sprint 2/Octopus has deployed to Prod.
The registry updates are done and the chore issue's been updated with removing the SmartAPI exclusions
- added prod instance urls to NCATS-Tangerine/translator-api-registry#149, then merged this PR -> this updates the original registrations to TRAPI 1.5
- deleted the temp registrations, refreshed the original registrations
However, we have an update to the bte-server local copy (see previous comment). I've double-checked, and it's only been deployed on CI right now.
There's also potential changes to this local copy, if we update the biolink-model version. I'd also like to do a cosmetic edit ("1.5.0" -> 1.5.0 for x-trapi.version) (also noted in #788 (comment))