Giter Club home page Giter Club logo

unity-analytics-bcdp's People

Contributors

agoodm avatar riverma avatar

Watchers

 avatar

Forkers

riverma

unity-analytics-bcdp's Issues

Test deployment and execution on laptop of BCDP application package on an existing ADES.

To test the deployment and execution of your BCDP application package on a Mac laptop, you should be able to:

  1. Run Docker Desktop with Kubernetes enabled (launches a 1-node Kubernetes cluster on your laptop that can be managed with kubectl).
  2. Install the existing ADES/WPS-T Flask app on your laptop
    • git clone https://github.jpl.nasa.gov/SOAMC/flask_ades_wpst.git
    • cd flask_ades_wpst
    • mkdir sqlite
    • Create an Anaconda or other virtual environment for your ADES and activate it.
    • python setup.py install
  3. Deploy ADES/K8S on laptop
    • export ADES_PLATFORM="K8s"
    • python -m flask_ades_wpst.flask_wpst
  4. The endpoints we are interested in are getLandingPage, getProcesses, deployProcess, getProcessDescription, undeployProcess, getJobList, getJobStatus, dismissJob, getJobResult as in Table 1 of http://docs.opengeospatial.org/per/18-050r1.html#_wps_t_restjson. Demonstrate WPS-T endpoints with curl or wget
    • Landing page: curl -X POST http://127.0.0.1:5000/
    • Get process list: curl http://127.0.0.1:5000/processes
    • Deploy process: curl -X POST http://127.0.0.1:5000/processes?proc=<raw-url-to-your-app_desc.json>
    • Undeploy process: `curl -X DELETE http://127.0.0.1:5000/processes/
    • Execute job: curl -H "Content-Type: application/json" -X POST -d '{"<your-key1>": "<your-val1>", "<your-key2>": "<your-val2>", ... }' http://127.0.0.1:5000/processes/hello-world-1.0.0/jobs
    • Get job list: curl http://127.0.0.1:5000/processes/<your-proc-id>/jobs
    • Get job status: curl http://127.0.0.1:5000/processes/<your-proc-id>/jobs/<your-job-id>
    • Dismiss job: curl -X DELETE http://127.0.0.1:5000/processes/<your-proc-id>/jobs/<your-job-id>
    • Get job result (when implemented): curl http://127.0.0.1:5000/processes/<your-proc-id>/jobs/<your-job-id>/result

Multi-tenant deployment(s) of BCDP

What does this look like- is it a simple workflow that can be used against multiple input products in a deployed ADES? Is it a deployed system that is specific to a project/tenant

Acceptance Criteria

  • Architectural diagram of how multi-tennant BCDP will work
  • Costing models?

What Else?

Task 3.1; We need to identify what you're expecting from U-CS to make this successful. I'm not sure there will be a singular 'tool kit' for all deployment, some tailoring for SDAP/BCDP are required.

Develop a Jupyter notebook to demonstrate how to deploy and run the new extended BCDP application on ADES-HySDS

Develop demonstration notebook that deploys, runs, and monitors the new extended BCDP application on ADES-HySDS in U-SPS. The WPS-T interfaces should be used in this demonstration (deploy, execute, getStatus, getResults).

This demonstration notebook should be written in a tutorial format and show how to BCDP can be used in 4 scenarios:

  1. Regrid by itself
  2. Resample by itself
  3. Subset by itself
  4. A combination of Regrid, Resample, and Subset as a single job.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.