|
|
@@ -3026,6 +3026,25 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+ self._rewriteKnoxUrls = function (data) {
|
|
|
+ if (data && data.app && data.app.type === 'SPARK' && data.app.properties && data.app.properties.metadata) {
|
|
|
+ data.app.properties.metadata.forEach(function (item) {
|
|
|
+ if (item.name === 'trackingUrl') {
|
|
|
+ /*
|
|
|
+ Rewrite tracking url
|
|
|
+ Sample trackingUrl: http://<yarn>:8088/proxy/application_1652826179847_0003/
|
|
|
+ Knox URL: https://<knox-base>/yarnuiv2/redirect#/yarn-app/application_1652826179847_0003/attempts
|
|
|
+ */
|
|
|
+ var matches = item.value.match('(application_[0-9_]+)');
|
|
|
+ if (matches && matches.length > 1) {
|
|
|
+ var applicationId = matches[1];
|
|
|
+ item.value = window.KNOX_BASE_URL + '/yarnuiv2/redirect#/yarn-app/' + applicationId + '/attempts';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
self.fetchJob = function () {
|
|
|
// TODO: Remove cancelActiveRequest from apiHelper when in webpack
|
|
|
vm.apiHelper.cancelActiveRequest(lastFetchJobRequest);
|
|
|
@@ -3079,6 +3098,10 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
|
|
|
|
|
|
lastFetchJobRequest = self._fetchJob(function (data) {
|
|
|
if (data.status == 0) {
|
|
|
+ if (window.KNOX_BASE_URL && window.KNOX_BASE_URL.length) {
|
|
|
+ self._rewriteKnoxUrls(data);
|
|
|
+ }
|
|
|
+
|
|
|
vm.interface(interface);
|
|
|
vm.job(new Job(vm, data.app));
|
|
|
if (window.location.hash !== '#!id=' + vm.job().id()) {
|