Icebox: For storing and serving OpenQuake results
"Icebox" is a component of the oq-platform which is responsible for storing and serving OpenQuake Engine calculation results. Icebox uses the oq-engine-server API (see https:/
REST API:
- /artifacts # summarized list of artifacts for the current authenticated user
- /artifact/
- /artifacts/import # parameters: platform owner user, (oq-engine-server) url to import results from; this implies that the icebox has some knowledge of the oq-engine-server API
DB:
For the first iteration of the database, we'll probably only need one table.
--artifact--
* id (int)
* artifact_type (string, 'hazard_curve', 'hazard_map', etc.)
* name (string)
* artifact_data (blob)
* content_type (string, indicates the `artifact_data` content type--geojson, xml, etc.)
* user_id (FK to oq-platform's Django user table)
UI:
No UI components specific to icebox are required at this time. The `explore` Platform component will use icebox's REST API and the `calculate` Platform component (not yet built) will use oq-engine-server's REST API. That's all we've thought of for now.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Bug #1216832: Bootstrap icebox app | Fix Committed |
Bug #1217946: Add django-south migration for icebox | New |
Bug #1218382: icebox configuration: lock down the /artifacts/import method | New |
Sprints
Whiteboard
The blueprint description outlines the basic functionality. The following are additional functions we will likely want to add to enable various use cases.
1) Store not just calc results, but input models as well.
2) Make some sort of link between input models and calc results
3) Add nice organization/
4) Support running calculations using artifacts in icebox (import to the oq-engine/