On 01/16/2014 09:19 PM, Andrey Lazarev wrote:
My 5 cents:

------
REMOVE - @rest.put('/node-group-templates/<node_group_template_id>') -
Not Implemented
REMOVE - @rest.put('/cluster-templates/<cluster_template_id>') - Not
Implemented
------
Disagree with that. Samsung people did great job in both
savanna/savanna-dashboard
to make this implemented [2], [3]. We should leave and support these
calls in savanna.
------
[AL] Agree with Alexander. Ability to modify templates is very useful
feature.


----
REMOVE - @rest.get('/job-executions/<job_execution_id>/refresh-status')
- refresh
and return status - GET should not side-effect, status is part of
details and
updated periodically, currently unused
----
This call goes to Oozie directly to ask it about job status. It allows
not to wait
too long when periodic task will update status JobExecution object in
Savanna.
The current GET asks status of JobExecution from savanna-db. I think we can
leave this call, it might be useful for external clients.
----
[AL] Agree that GET shouldn't have side effect (or at least documented
side effect). I think it could be generic PUT on
'/job-executions/<job_execution_id>' which can refresh status or cancel
job on hadoop side.

From what I can tell, this endpoint is not exposed by the savannaclient or used directly from the horizon plugin.

I imagine that having a "savanna-api, please go faster" call is enticing, but if we're not using it yet, let's make sure we have a well defined need before adding/keeping it.


----
REMOVE - @rest.get('/job-executions/<job_execution_id>/cancel') - cancel
job-execution - GET should not side-effect, currently unused,
use DELETE /job/executions/<job_execution_id>
----
Disagree. We have to leave this call. This methods stops job executing
on the
Hadoop cluster but doesn't remove all its related info from savanna-db.
DELETE removes it completely.
----
[AL] We need 'cancel'. Vote on generic PUT (see previous item).

AFAICT, this is also not used. Where is the need?


Best,


matt


Thanks,
Andrew.


On Thu, Jan 16, 2014 at 5:10 AM, Alexander Ignatov
<[email protected] <mailto:[email protected]>> wrote:

    Matthew,

    I'm ok with proposed solution. Some comments/thoughts below:

    ---------
    FIX -
    @rest.post_file('/plugins/<plugin_name>/<version>/convert-config/<name>')
    - this is an RPC call, made only by a client to do input validation,
    move to POST /validations/plugins/:name/:version/check-config-import
    ---------
    AFAIR, this rest call was introduced not only for validation.
    The main idea was to create method which converts plugin specific config
    for cluster creation to savanna's cluster template [1]. So maybe we
    may change
    this rest call to: /plugins/convert-config/<name> and include all
    need fields
    to "data". Anyway we have to know Hortonworks guys opinion.
    Currently HDP
    plugin implements this method only.

    ------
    REMOVE - @rest.put('/node-group-templates/<node_group_template_id>')
    - Not Implemented
    REMOVE - @rest.put('/cluster-templates/<cluster_template_id>') - Not
    Implemented
    ------
    Disagree with that. Samsung people did great job in both
    savanna/savanna-dashboard
    to make this implemented [2], [3]. We should leave and support these
    calls in savanna.

    ------
    CONSIDER rename /jobs -> /job-templates (consistent w/
    cluster-templates & clusters)
    CONSIDER renaming /job-executions to /jobs
    -------
    Good idea!

    ------
    FIX - @rest.get('/jobs/config-hints/<job_type>') - should move to
    GET /plugins/<plugin_name>/<plugin_version>, similar to
    get_node_processes
    and get_required_image_tags
    ------
    Not sure if it should be plugin specific right now. EDP uses it to
    show some
    configs to users in the dashboard. it's just a cosmetic thing. Also
    when user
    starts define some configs for some job he might not define cluster
    yet and
    thus plugin to run this job. I think we should leave it as is and
    leave only
    abstract configs like Mapper/Reducer class and allow users to apply any
    key/value configs if needed.

    -----
    CONSIDER REMOVING, MUST ALWAYS UPLOAD TO Swift FOR /job-binaries
    -----
    Disagree. It was discussed before starting EDP implementation that
    there are
    a lot of OS installations which don't have Swift deployed, and
    ability to run
    jobs using savanna internal db is a good option in this case. But
    yes, Swift
    is more preferred. Waiting for Trevor's and maybe Nadya's comments
    here under
    this section.

    ----
    REMOVE -
    @rest.get('/job-executions/<job_execution_id>/refresh-status') - refresh
    and return status - GET should not side-effect, status is part of
    details and
    updated periodically, currently unused
    ----
    This call goes to Oozie directly to ask it about job status. It
    allows not to wait
    too long when periodic task will update status JobExecution object
    in Savanna.
    The current GET asks status of JobExecution from savanna-db. I think
    we can
    leave this call, it might be useful for external clients.

    ----
    REMOVE - @rest.get('/job-executions/<job_execution_id>/cancel') - cancel
    job-execution - GET should not side-effect, currently unused,
    use DELETE /job/executions/<job_execution_id>
    ----
    Disagree. We have to leave this call. This methods stops job
    executing on the
    Hadoop cluster but doesn't remove all its related info from savanna-db.
    DELETE removes it completely.

    [1]
    
http://docs.openstack.org/developer/savanna/devref/plugin.spi.html#convert-config-plugin-name-version-template-name-cluster-template-create
    [2]
    https://blueprints.launchpad.net/savanna/+spec/modifying-cluster-template
    [3]
    https://blueprints.launchpad.net/savanna/+spec/modifying-node-group-template

    Regards,
    Alexander Ignatov



    On 14 Jan 2014, at 21:24, Matthew Farrellee <[email protected]
    <mailto:[email protected]>> wrote:

     > https://blueprints.launchpad.net/savanna/+spec/v2-api
     >
     > I've finished a review of the v1.0 and v1.1 APIs with an eye to
    making them more consistent and RESTful.
     >
     > Please use this thread to comment on my suggestions for v1.0 &
    v1.1, or to make further suggestions.
     >
     > Best,
     >
     >
     > matt
     >
     > _______________________________________________
     > OpenStack-dev mailing list
     > [email protected]
    <mailto:[email protected]>
     > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


    _______________________________________________
    OpenStack-dev mailing list
    [email protected]
    <mailto:[email protected]>
    http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to