Implement Sahara EDP resources

https://blueprints.launchpad.net/heat/+spec/sahara-edp

Add support for Job, JobBinary and DataSource sahara objects as resources in heat.

Using sahara EDP in heat we can create following resources:

  • Data source object stores a URL which designates the location of input or output data and any credentials needed to access the location;

  • Job binary object stores a URL to a single script or Jar file and any credentials needed to retrieve the file;

  • Job object specifies the type of the job and lists all of the individual job binary objects. Can be launched using resource-signal.

Problem description

Currently we can’t create Sahara EDP resources in Heat.

Proposed change

Implement following resource types:

  1. OS::Sahara::DataSource

Properties:

  • name (optional) - name of the data source

  • type (required) - type of the data source

  • url (required) - URL for the data source

  • description (optional) - description of the data source

  • user (optional) - username for accessing the data source URL

  • password (optional) - password for accessing the data source URL

  1. OS::Sahara::JobBinary

Properties:

  • name (optional) - name of the job binary

  • url (required) - URL for the job binary

  • description (optional) - description of the job binary

  • user (optional) - username for accessing the job binary URL

  • password (optional) - password for accessing the job binary URL

  1. OS::Sahara::Job

Properties:

  • name (optional) - name of the job

  • type (required) - type of the job

  • main (optional) - ID for job’s main job-binary

  • lib (list, optional) - ID of job’s lib job-binary

  • description (optional) - description of the job

Attributes:

  • executions - list of the job executions

To execute the job run the following command:

heat resource-signal stack_name job_name -D <data>

data contains execution details including data sources, configuration values, and program arguments.

Alternatives

None

Implementation

Assignee(s)

Primary assignee:

tlashchova

Milestones

Target Milestone for completion:

Liberty-3

Work Items

  • Add Sahara data source resource

  • Add Sahara job binary resource

  • Add Sahara job resource

  • Add required test cases

  • Add sample templates in heat-template project

Dependencies

None