[
https://issues.apache.org/jira/browse/TEZ-2960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15028361#comment-15028361
]
Sreenath Somarajapuram edited comment on TEZ-2960 at 11/26/15 8:41 AM:
-----------------------------------------------------------------------
Thank you [~hitesh]
Urls in ember:
- From ember perspective there are three parts to an url. Host, namespace &
path. Ember's adapter use these three properties to construct a URL.
- For instance in http://ats.com:8188/ws/v1/timeline/TEZ_DAG_ID
-- host = http://ats.com:8188
-- namespace = ws/v1/timeline
-- path = TEZ_DAG_ID
bq. What does "otherNamespace" refer to?
- As you can see in
https://github.com/apache/tez/blob/master/tez-ui/src/main/webapp/app/scripts/default-configs.js,
we already have a hash for configuring rest namespaces.
- otherNamespace was added to configure links that leads to non REST end point.
bq. Is rmTrackingUrl being used in multiple places with different implications?
- rmTrackingUrl is used only at one place. In TezAppIndexController's template
(https://github.com/apache/tez/blob/master/tez-ui/src/main/webapp/app/templates/tez-app/index.hbs)
- Its implemented in the controller as we need the url to change when ever the
appId change.
- And also, rmTrackingUrl is not actually a function. It's an ember construct
called computed property. Kind of a getter.
bq. Should there be just 2 different variables instead of trying to construct
the same variable in different contexts?
- Not sure if I completely understands that.
Change in proxy expected from AMBARI-14058:
- As of now rmproxy just proxies JSON data.
- So we are not able to hit other resources.
- Compared to loading RM url from the UI for constructing URLs, its a very
minimal change to make the proxy redirect non JSON requests.
In short on hitting
{code}ambari.com/api/v1/views/{viewName}/versions/{version}/instances/{instanceName}/resources/rmproxy/cluster/app/{app-id}{code},
ambari proxy will redirect the page to the correct RM url and the user would
be able to see the expected UI.
bq. Also, can you please clarify how this make things easier for the Ambari Tez
view?
- In standalone the rmTrackingURL url would be rm.com/cluster/app/{app-id}
- In Ambari the url would be,
ambari.com/api/v1/views/{viewName}/versions/{version}/instances/{instanceName}/resources/rmproxy/cluster/app/{app-id}
- So as mentioned in AMBARI-14058, for things to work we just need to set the
following, and the UI would construct the correct url.
{code}
otherNamespace: {
cluster: '%@rmproxy/cluster'.fmt(resourcesPrefix)
},
{code}
was (Author: sreenath):
Thank you [~hitesh]
Urls in ember:
- From ember perspective there are three parts to an url. Host, namespace &
path. Ember's adapter use these three properties to construct a URL.
- For instance in http://ats.com:8188/ws/v1/timeline/TEZ_DAG_ID
-- host = http://ats.com:8188
-- namespace = ws/v1/timeline
-- path = TEZ_DAG_ID
bq. What does "otherNamespace" refer to?
- As you can see in
https://github.com/apache/tez/blob/master/tez-ui/src/main/webapp/app/scripts/default-configs.js,
we already have a hash for configuring rest namespaces.
- otherNamespace was added to configure links that leads to non REST end point.
bq. Is rmTrackingUrl being used in multiple places with different implications?
- rmTrackingUrl is used only at one place. In TezAppIndexController's template
(https://github.com/apache/tez/blob/master/tez-ui/src/main/webapp/app/templates/tez-app/index.hbs)
- Its implemented in the controller as we need the url to change when ever the
appId change.
- And also, rmTrackingUrl is not actually a function. It's an ember construct
called computed property. Kind of a getter.
bq. Should there be just 2 different variables instead of trying to construct
the same variable in different contexts?
- Not sure if I completely understands that.
bq. Also, can you please clarify how this make things easier for the Ambari Tez
view?
- In standalone the rmTrackingURL url would be rm.com/cluster/app/{app-id}
- In Ambari the url would be,
ambari.com/api/v1/views/{viewName}/versions/{version}/instances/{instanceName}/resources/rmproxy/cluster/app/{app-id}
- So as mentioned in AMBARI-14058, for things to work we just need to set the
following, and the UI would construct the correct url.
{code}
otherNamespace: {
cluster: '%@rmproxy/cluster'.fmt(resourcesPrefix)
},
{code}
Change in proxy expected from AMBARI-14058:
- As of now rmproxy just proxies JSON data.
- So we are not able to hit other resources.
- Compared to loading RM url from the UI for constructing URLs, its a very
minimal change to make the proxy redirect non JSON requests.
In short on hitting
ambari.com/api/v1/views/{viewName}/versions/{version}/instances/{instanceName}/resources/rmproxy/cluster/app/{app-id},
ambari proxy will redirect the page to the correct RM url and the user would
be able to see the expected UI.
> Tez UI: Move hardcoded url namespace to the configuration file.
> ---------------------------------------------------------------
>
> Key: TEZ-2960
> URL: https://issues.apache.org/jira/browse/TEZ-2960
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Sreenath Somarajapuram
> Assignee: Sreenath Somarajapuram
> Attachments: TEZ-2960.1.patch
>
>
> '/cluster/app/' namespace to construct the rmTrackingURL is hard coded in
> TezAppIndexController.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)