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

quote-estimator integration #531

Merged
merged 50 commits into from
Mar 24, 2023
Merged

quote-estimator integration #531

merged 50 commits into from
Mar 24, 2023

Conversation

fmigneault
Copy link
Collaborator

@fmigneault fmigneault commented Mar 4, 2023

Changes

  • Add weaver.quotation = true|false setting that allows control over the activation of all endpoints and operations
    related to the OGC API - Processes https://github.com/opengeospatial/ogcapi-processes/tree/master/extensions/billing and https://github.com/opengeospatial/ogcapi-processes/tree/master/extensions/quotation extensions.
  • Add support to configure a quotation estimation algorithm for each respective Process with new requests
    using GET, PUT, DELETE methods on /processes/{processID}/estimator endpoint. The configured
    algorithm is provided by a reference Docker image defined by weaver.quotation_docker_[...] settings.
    The algorithm itself expects a highly customizable configuration to estimate quotation parameters based on
    conceptual categories, as defined by the ./schemas/quotation/quote-estimator.yaml schema optionally using versatile definitions.
    The Docker operation should return a JSON matching the ./schemas/quotation/quote-estimation-result.yaml schema, which is parsed and included in the produced Quote based on provided Process execution parameters.
  • Add Process execution I/O pre-validation against the Process description before submitting the Job to avoid
    unnecessary allocation of computing resources for erroneous cases that can easily be detected in advance.
  • Add $schema references to source OGC API - Processes or other schema registries for applicable content
    definitions in responses.
  • Add missing OGC API - Processes schema references with published definitions
    under https://schemas.opengis.net/ogcapi/processes/part1/1.0/ when applicable.
  • Add links request query parameter to /processes and /providers/{providerID}/processes listing to
    provide control over reporting of links for each Process summary item. By default, link=true and
    automatically disable it when detail=false is specified.
  • Add missing 405 response schema for all OpenAPI endpoints as handled by the API when the requested HTTP method
    is not applicable for the given path.

Fixes

  • Fix schema meta fields (title, summary, description, etc.) not being rendered in OpenAPI output for
    keyword schemas (allOf, anyOf, oneOf, not).
  • Fix schema definitions not being rendered in OpenAPI into the requested order
    by _sort_first and _sort_after control attributes.

@fmigneault fmigneault changed the title prepare for quote-estimator integration quote-estimator integration Mar 4, 2023
@github-actions github-actions bot added ci/doc Issue related to documentation of the package ci/tests Tests of the package and features feature/cli Issues or features related to CLI operations. feature/CWL Issue related to CWL support feature/db Related to database or datatype manipulation. feature/oas Issues related to OpenAPI specifications. process/wps3 Issue related to WPS 3.x (REST-JSON) processes support labels Mar 4, 2023
@github-actions github-actions bot added feature/job Issues related to job execution, reporting and logging. feature/providers Issue related to providers convertion to WPS-REST processes. feature/vault Issue related to Vault storage feature. labels Mar 8, 2023
@github-actions github-actions bot added the process/esgf-cwt Issue related to ESGF-CWT components. label Mar 24, 2023
@fmigneault fmigneault removed feature/CWL Issue related to CWL support process/wps3 Issue related to WPS 3.x (REST-JSON) processes support process/esgf-cwt Issue related to ESGF-CWT components. process/builtin Issue related to builtin application processes feature/oas Issues related to OpenAPI specifications. process/workflow Related to a Workflow process. feature/opensearch Issue related to OpenSearch functionalities. feature/providers Issue related to providers convertion to WPS-REST processes. feature/cli Issues or features related to CLI operations. feature/vault Issue related to Vault storage feature. labels Mar 24, 2023
@github-actions github-actions bot added feature/cli Issues or features related to CLI operations. feature/CWL Issue related to CWL support feature/oas Issues related to OpenAPI specifications. feature/opensearch Issue related to OpenSearch functionalities. feature/providers Issue related to providers convertion to WPS-REST processes. feature/vault Issue related to Vault storage feature. process/builtin Issue related to builtin application processes process/esgf-cwt Issue related to ESGF-CWT components. process/workflow Related to a Workflow process. process/wps3 Issue related to WPS 3.x (REST-JSON) processes support labels Mar 24, 2023
@fmigneault
Copy link
Collaborator Author

fmigneault commented Mar 24, 2023

@francisPLT
Feel free to re-review whenever you want (or not if you don't have the time, it's fine). I will close it by the end of the week.
Since your last review, changes are mostly only to fix issues identified with more robust tests. There are also many linting patches.

@github-actions github-actions bot added the feature/quotation Issues related to quotation, billing and estimators. label Mar 24, 2023
@codecov
Copy link

codecov bot commented Mar 24, 2023

Codecov Report

Merging #531 (9ffa669) into master (bcd8287) will increase coverage by 0.10%.
The diff coverage is 83.30%.

@@            Coverage Diff             @@
##           master     #531      +/-   ##
==========================================
+ Coverage   84.29%   84.39%   +0.10%     
==========================================
  Files          78       79       +1     
  Lines       16865    17596     +731     
  Branches     2565     2670     +105     
==========================================
+ Hits        14216    14850     +634     
- Misses       1952     2017      +65     
- Partials      697      729      +32     
Impacted Files Coverage Δ
weaver/formats.py 88.44% <ø> (ø)
weaver/processes/builtin/__init__.py 88.79% <ø> (ø)
weaver/processes/esgf_process.py 0.00% <ø> (ø)
weaver/processes/opensearch.py 60.12% <ø> (ø)
weaver/processes/wps_process_base.py 84.51% <ø> (ø)
weaver/processes/wps_workflow.py 88.50% <ø> (ø)
weaver/wps/service.py 84.44% <ø> (ø)
weaver/wps/utils.py 82.44% <ø> (ø)
weaver/wps_restapi/constants.py 100.00% <ø> (ø)
weaver/wps_restapi/patches.py 100.00% <ø> (ø)
... and 27 more

... and 1 file with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@fmigneault fmigneault merged commit 7c0d602 into master Mar 24, 2023
@fmigneault fmigneault deleted the docker-quoting-estimator branch March 24, 2023 23:36
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/operations Related to CI operations (actions, execution, install, builds, etc.) ci/tests Tests of the package and features feature/cli Issues or features related to CLI operations. feature/CWL Issue related to CWL support feature/db Related to database or datatype manipulation. feature/job Issues related to job execution, reporting and logging. feature/oas Issues related to OpenAPI specifications. feature/opensearch Issue related to OpenSearch functionalities. feature/providers Issue related to providers convertion to WPS-REST processes. feature/quotation Issues related to quotation, billing and estimators. feature/vault Issue related to Vault storage feature. process/builtin Issue related to builtin application processes process/esgf-cwt Issue related to ESGF-CWT components. process/workflow Related to a Workflow process. process/wps3 Issue related to WPS 3.x (REST-JSON) processes support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants