[EDP] Job Binary Component

Registered by Trevor McKay

The Job Binary Component is responsible for storing references to scripts or binary files needed for job execution. Each Job Binary object stores a reference to a single file. Multiple file storage types are supported such as Swift, hdfs, and internal database storage. Job objects in the Job Manager Component contain lists of references to Job Binary Objects.

The object model for this component has two items: JobBinary and JobBinaryInternal.
The JobBinary objects store urls for files. A JobBinaryInternal object represents a file stored in the savanna database and may be referenced from a JobBinary object via a special url.

Job Binary Object (JobBinary)
  * Name
  * Description
  * url (location of a job file)
       expected formats:
        "savanna-db://job-binary-internal.id"
        "swift-internal://example.savanna/example.jar"
        "swift-external://standard-swift-path"
  * extra (any additional parameters for accessing the file, based on url type)
        for "swift-internal://example.savanna/example.jar" user-password is needed
        for swift-external://standart-swift-path auth-url, auth-token is needed>

Job Binary Internal Object (JobBinaryInternal)
  * Name
  * Data (this is an opaque BLOB data type)
  * Datasize (length of the BLOB in bytes)

The methods for this component include:

  * Create a Job Binary object
  * List all Job Binary objects
  * List a particular Job Binary object by id
  * Delete a Job Binary object
  * Retrieve the raw binary data referenced by the Job Binary

  * Create a Job Binary Internal object (including upload to the savanna db)
  * List all Job Binary Internal objects
  * List a particular Job Binary Internal object by id
  * Delete a Job Binary Internal object
  * Retrieve the raw binary data from the savanna database

Blueprint information

Status:
Complete
Approver:
Sergey Lukjanov
Priority:
Medium
Drafter:
Trevor McKay
Direction:
Approved
Assignee:
Trevor McKay
Definition:
Approved
Series goal:
Accepted for 0.3
Implementation:
Implemented
Milestone target:
milestone icon 0.3
Started by
Trevor McKay
Completed by
Sergey Lukjanov

Related branches

Sprints

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.