Skip to content
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

Job io extra 2 #221

Merged
merged 111 commits into from
Mar 16, 2021
Merged

Job io extra 2 #221

merged 111 commits into from
Mar 16, 2021

Conversation

fmigneault
Copy link
Collaborator

@fmigneault fmigneault commented Feb 26, 2021

Context

Recent version 2.x fixes brought back into branch job-io-extras and completed to make all tests pass.

Changes

  • many conformance fixes related to changes in opengeospatial/ogcapi-processes
    • most notable:
      • jobs/{id}/result is deprecated but redirects to jobs/{id}/outputs which as similar format (but with extra links references)
      • jobs/{id}/results follows the official output format of OGC-API schemas
      • conformance path updated with links to schema-class of OGC-API (complete tests todo in later PR [Feature] Conformance Tests #231)
  • more explicit OpenAPI (v3) schema definitions with custom cornice_swagger & colander generators
  • enforced validation of input/output contents against same schema deserialization from OpenAPI
    • ensures that structures are exactly as documented (what gets deployed/executed is what is documented)
    • expected value formats, limits by min/max, etc. are all pre-validated inplace by schemas
    • provides detailed indication of why a structure is invalid in case of error
      (eg field x is invalid because ... expected ... )
      with deeply nested parsing (as far as provided by schemas)
  • other features that were explored some long time ago but still not integrated:
    • GPU-enabled docker app and
    • Windows execution
    • Caching of some static endpoints

Examples

Detailed schema definitions (before vs after) :

image

Invalid schema validation error message

Specific error raised details which field, index, value, etc. cause the error and everything that was evaluated against valid schemas.
Error is both logged and reported in corresponding request response.
In this case, invalid value random was placed as type for the one of the CWL package inputs.

image

Documented deprecation / changes

image

@fmigneault fmigneault added WIP Work in progress triage/conformance Issue related to fixing/ensuring compliance to specifications. feature/job Issues related to job execution, reporting and logging. labels Feb 26, 2021
@fmigneault fmigneault self-assigned this Feb 26, 2021
fmigneault and others added 25 commits March 3, 2021 11:46
…) + extra job routes (#86) + compliance with ogc api
…ault caching values if settings not defined in weaver config
…) + extra job routes (#86) + compliance with ogc api
@fmigneault fmigneault added ci/doc Issue related to documentation of the package ci/tests Tests of the package and features feature/oas Issues related to OpenAPI specifications. project/OGC Related to OGC testbeds or relavant projects. triage/enhancement New feature or request and removed WIP Work in progress labels Mar 13, 2021
@fmigneault fmigneault requested a review from dbyrns March 13, 2021 03:31
Copy link
Contributor

@dbyrns dbyrns left a comment

Choose a reason for hiding this comment

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

Great conformance job! Just be careful with feature creep (Windows support, requests caching)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci/doc Issue related to documentation of the package ci/tests Tests of the package and features feature/job Issues related to job execution, reporting and logging. feature/oas Issues related to OpenAPI specifications. project/OGC Related to OGC testbeds or relavant projects. triage/conformance Issue related to fixing/ensuring compliance to specifications. triage/enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants