crim-ca / weaver

Weaver: Workflow Execution Management Service (EMS); Application, Deployment and Execution Service (ADES); OGC API - Processes; WPS; CWL Application Package
https://pavics-weaver.readthedocs.io
Apache License 2.0
26 stars 6 forks source link

functional tests for process deployment #11

Closed fmigneault closed 2 years ago

fmigneault commented 5 years ago

relates to #3

DockerRequirement note

Implementation missing from below tests but feature is tested across many other tests since it is the most common use case. Should implement just to make sure it is always evaluated for consistency. https://github.com/crim-ca/weaver/blob/107fec5e19f20b77061b9405a764da911d2db8a2/tests/wps_restapi/test_processes.py#L627-L641

dbyrns commented 5 years ago

For the workflow let's start with something basic : subsetting -> climate index For subsetting we will start using WPS1 flyingpigeon subset_bbox and when available, try to use the CWT one.

App package should be created from the following endpoints:

Subsetting request sample : https://colibri.crim.ca/twitcher/ows/proxy/flyingpigeon/wps?service=WPS&request=execute&version=1.0.0&identifier=subset_bbox&storeExecuteResponse=true&DataInputs=resource=https://pavics.ouranos.ca/twitcher/ows/proxy/thredds/fileServer/birdhouse/nrcan/nrcan_canada_daily_v2/tasmax/nrcan_canada_daily_tasmax_2017.nc;lat0=43;lat1=50;lon0=-80;lon1=-65

(output for reference: https://colibri.crim.ca:443/wpsoutputs/flyingpigeon/81bb1fa6-4fef-11e9-9535-0242ac12000c/result_2019-03-26T17:49:45Z__4zz8XW.json)

Climate index request sample : https://finch.crim.ca/wps?service=WPS&request=execute&version=1.0.0&identifier=ice_days&storeExecuteResponse=true&DataInputs=tasmax=files@xlink:href=https://github.com/Ouranosinc/xclim/raw/master/tests/testdata/NRCANdaily/nrcan_canada_daily_tasmax_1990.nc;freq=MS

dbyrns commented 5 years ago

@davidcaron once your CWT implementation ready, you should be able to contribute to this functional tests issue and add, as discussed, a subsetter using the ESGF backend.

fmigneault commented 5 years ago

@dbyrns using the above referenced fix + commit 077d9a8 + following wps_providers.yml config, WPS-2 processes are deployed successfully with their CWL WPS1Requirement on startup.

providers:
  - url: https://colibri.crim.ca/twitcher/ows/proxy/flyingpigeon/wps?service=WPS&request=describeprocess&version=1.0.0&identifier=subset_bbox
    name: colibri-flyingpieon
  - url: https://finch.crim.ca/wps?service=WPS&request=describeprocess&version=1.0.0&identifier=ice_days
    name: finch
dbyrns commented 5 years ago

Just be careful with the naming scheme... what we deploy in Weaver are processes not providers. I would prefer to see a wps_processes.yml config file looking like this to avoid confusion :

processes:
  - url: https://colibri.crim.ca/twitcher/ows/proxy/flyingpigeon/wps?service=WPS&request=describeprocess&version=1.0.0&identifier=subset_bbox
    name: colibri-flyingpieon-subset_bbox
  - url: https://finch.crim.ca/wps?service=WPS&request=describeprocess&version=1.0.0&identifier=ice_days
    name: finch-ice_days