You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2014/12/18 02:13:59 UTC
ambari git commit: AMBARI-8571. Misc TODOs for Ambari View > Version
> Registration & Table List. (Richard Zang via yusaku)
Repository: ambari
Updated Branches:
refs/heads/trunk b950cea20 -> 19f251150
AMBARI-8571. Misc TODOs for Ambari View > Version > Registration & Table List. (Richard Zang via yusaku)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/19f25115
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/19f25115
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/19f25115
Branch: refs/heads/trunk
Commit: 19f25115090fd6b7e8e6bec6d85555f606decc37
Parents: b950cea
Author: Yusaku Sako <yu...@hortonworks.com>
Authored: Wed Dec 17 17:13:06 2014 -0800
Committer: Yusaku Sako <yu...@hortonworks.com>
Committed: Wed Dec 17 17:13:52 2014 -0800
----------------------------------------------------------------------
.../app/assets/data/version/versions.json | 172 ++++++++++++++-----
.../stackVersions/StackVersionsCreateCtrl.js | 15 +-
.../stackVersions/StackVersionsEditCtrl.js | 9 +-
.../stackVersions/StackVersionsListCtrl.js | 14 +-
.../ui/admin-web/app/scripts/routes.js | 2 +-
.../ui/admin-web/app/scripts/services/Stack.js | 32 ++--
.../app/views/stackVersions/create.html | 8 +-
.../admin-web/app/views/stackVersions/list.html | 4 +-
8 files changed, 170 insertions(+), 86 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/19f25115/ambari-admin/src/main/resources/ui/admin-web/app/assets/data/version/versions.json
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/assets/data/version/versions.json b/ambari-admin/src/main/resources/ui/admin-web/app/assets/data/version/versions.json
index 939f556..a74cf34 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/assets/data/version/versions.json
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/assets/data/version/versions.json
@@ -1,52 +1,130 @@
{
- "items": [
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks?fields=versions/repository_versions/RepositoryVersions",
+ "items" : [
{
- "RepositoryVersions": {
- "id": 1,
- "repository_version": "2.2.0.1-885",
- "display_name": "HDP 2.2.0",
- "upgrade_pack": "upgrade-2.2",
- "current_hosts": ["host1", "host2"],
- "status": "CURRENT",
- "totalHosts": 100,
- "cluster": "myCluster"
- }
-},
-{
-"RepositoryVersions": {
-"id": 2,
-"repository_version": "2.2.1.1-885",
-"display_name": "HDP 2.2.1",
-"upgrade_pack": "upgrade-2.2",
-"current_hosts": ["host1", "host2"],
-"status": "INSTALLED",
-"totalHosts": 100,
-"cluster": "anotherCluster"
-}
-},
- {
- "RepositoryVersions": {
- "id": 3,
- "repository_version": "2.2.2.1-885",
- "display_name": "HDP 2.2.2",
- "upgrade_pack": "upgrade-2.2",
- "current_hosts": ["host1", "host2"],
- "status": "IN_USE",
- "totalHosts": 100,
- "cluster": "myCluster"
- }
- },
- {
- "RepositoryVersions": {
- "id": 4,
- "repository_version": "2.2.3.1-885",
- "display_name": "HDP 2.2.3",
- "upgrade_pack": "upgrade-2.2",
- "current_hosts": [],
- "status": "INIT",
- "totalHosts": 100,
- "cluster": ""
- }
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP",
+ "Stacks" : {
+ "stack_name" : "HDP"
+ },
+ "versions" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/1.3",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "1.3"
+ },
+ "repository_versions" : [ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/1.3.2",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "1.3.2"
+ },
+ "repository_versions" : [ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/1.3.3",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "1.3.3"
+ },
+ "repository_versions" : [ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.0",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "2.0"
+ },
+ "repository_versions" : [ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.0.6",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "2.0.6"
+ },
+ "repository_versions" : [ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.0.6.GlusterFS",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "2.0.6.GlusterFS"
+ },
+ "repository_versions" : [ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "2.1"
+ },
+ "repository_versions" : [ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1.GlusterFS",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "2.1.GlusterFS"
+ },
+ "repository_versions" : [ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.2",
+ "Versions" : {
+ "stack_name" : "HDP",
+ "stack_version" : "2.2"
+ },
+ "repository_versions" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.2/repository_versions/1",
+ "RepositoryVersions" : {
+ "display_name" : "HDP-2.2",
+ "id" : 1,
+ "repository_version" : "2.2",
+ "stack_name" : "HDP",
+ "stack_version" : "2.2",
+ "upgrade_pack" : ""
+ }
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.2/repository_versions/5",
+ "RepositoryVersions" : {
+ "display_name" : "HDP-2.2.0.1-112",
+ "id" : 5,
+ "repository_version" : "2.2.0.1-112",
+ "stack_name" : "HDP",
+ "stack_version" : "2.2",
+ "upgrade_pack" : "upgrade-2.2"
+ }
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.2/repository_versions/6",
+ "RepositoryVersions" : {
+ "display_name" : "HDP-2.2.0.1-113",
+ "id" : 6,
+ "repository_version" : "2.2.0.1-113",
+ "stack_name" : "HDP",
+ "stack_version" : "2.2",
+ "upgrade_pack" : "upgrade-2.2"
+ }
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.2/repository_versions/9",
+ "RepositoryVersions" : {
+ "display_name" : "HDP-2.2.1.1-111",
+ "id" : 9,
+ "repository_version" : "2.2.1.1-111",
+ "stack_name" : "HDP",
+ "stack_version" : "2.2",
+ "upgrade_pack" : "upgrade-2.2"
+ }
+ }
+ ]
+ }
+ ]
}
]
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/19f25115/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js
index 9f3e0fa..99a6a1a 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js
@@ -21,7 +21,7 @@ angular.module('ambariAdminConsole')
.controller('StackVersionsCreateCtrl', ['$scope', 'Stack', '$routeParams', '$location', 'Alert', function($scope, Stack, $routeParams, $location, Alert) {
$scope.clusterName = $routeParams.clusterName;
$scope.upgradeStack = {
- value: null,
+ selected: null,
options: []
};
$scope.fetchStackVersionFilterList = function () {
@@ -34,14 +34,13 @@ angular.module('ambariAdminConsole')
}
});
$scope.upgradeStack.options = versions;
- $scope.upgradeStack.value = versions[versions.length - 1].value;
+ $scope.upgradeStack.selected = versions[versions.length - 1];
})
.catch(function (data) {
Alert.error('Fetch stack version filter list error', data.message);
});
};
$scope.fetchStackVersionFilterList();
- $scope.upgradeStack.value = $scope.upgradeStack.options[0];
// TODO retrieve operating systems and repo names from stack definition
$scope.repositories = [
@@ -85,10 +84,14 @@ angular.module('ambariAdminConsole')
};
$scope.create = function () {
- Stack.addRepo($scope.upgradeStack.value, $scope.versionName, $scope.repositories)
+ Stack.addRepo($scope.upgradeStack.selected, $scope.repoSubversion, $scope.repositories)
.success(function () {
- var versionName = $scope.upgradeStack.value + '.' + $scope.versionName;
- Alert.success('Created version <a href="#/stackVersions/' + versionName + '/edit">' + versionName + '</a>');
+ var versionName = $scope.upgradeStack.selected.stack_version + '.' + $scope.repoSubversion;
+ var stackName = $scope.upgradeStack.selected.stack_name;
+ Alert.success('Created version ' +
+ '<a href="#/stackVersions/' + stackName + '/' + versionName + '/edit">'
+ + stackName + versionName +
+ '</a>');
$location.path('/stackVersions');
})
.error(function (data) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/19f25115/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js
index 6583545..27e846b 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js
@@ -20,9 +20,10 @@
angular.module('ambariAdminConsole')
.controller('StackVersionsEditCtrl', ['$scope', '$location', 'Stack', '$routeParams', 'ConfirmationModal', 'Alert', function($scope, $location, Stack, $routeParams, ConfirmationModal, Alert) {
function loadStackVersionInfo () {
- return Stack.getRepo($routeParams.versionId).then(function (response) {
+ return Stack.getRepo($routeParams.versionId, $routeParams.stackName).then(function (response) {
$scope.id = response.id;
$scope.stack = response.stack;
+ $scope.stackName = response.stackName;
$scope.versionName = response.versionName;
$scope.stackVersion = response.stackVersion;
$scope.updateObj = response.updateObj;
@@ -41,8 +42,8 @@ angular.module('ambariAdminConsole')
$scope.editVersionDisabled = true;
delete $scope.updateObj.href;
- Stack.updateRepo($scope.stackVersion, $scope.id, $scope.updateObj).then(function () {
- Alert.success('Edited version <a href="#/stackVersions/' + $scope.versionName + '/edit">' + $scope.repoVersionFullName + '</a>');
+ Stack.updateRepo($scope.stackName, $scope.stackVersion, $scope.id, $scope.updateObj).then(function () {
+ Alert.success('Edited version <a href="#/stackVersions/' + $scope.stackName + '/' + $scope.versionName + '/edit">' + $scope.repoVersionFullName + '</a>');
$location.path('/stackVersions');
}).catch(function (data) {
Alert.error('Version update error', data.message);
@@ -56,7 +57,7 @@ angular.module('ambariAdminConsole')
$scope.delete = function () {
ConfirmationModal.show('Delete Version', 'Are you sure you want to delete version "'+ $scope.versionName +'"?').then(function() {
- Stack.deleteRepo($scope.stackVersion, $scope.id).then( function () {
+ Stack.deleteRepo($scope.stackName, $scope.stackVersion, $scope.id).then( function () {
$location.path('/stackVersions');
}).catch(function (data) {
Alert.error('Version delete error', data.message);
http://git-wip-us.apache.org/repos/asf/ambari/blob/19f25115/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js
index 4702db8..0744a9a 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js
@@ -20,8 +20,6 @@
angular.module('ambariAdminConsole')
.controller('StackVersionsListCtrl', ['$scope', 'Cluster', 'Stack', '$routeParams', function ($scope, Cluster, Stack, $routeParams) {
$scope.clusterName = $routeParams.clusterName;
-
- // TODO retrieve a list of stacks having "upgrade_pack" from backend
$scope.filter = {
version: '',
cluster: {
@@ -79,10 +77,12 @@ angular.module('ambariAdminConsole')
$scope.pagination.totalStacks = stacks.items.length;
var repos = [];
angular.forEach(stacks.items, function(stack) {
- var repoVersions = stack.repository_versions;
- if (repoVersions.length > 0) {
- repos = repos.concat(repoVersions);
- }
+ angular.forEach(stack.versions, function (version) {
+ var repoVersions = version.repository_versions;
+ if (repoVersions.length > 0) {
+ repos = repos.concat(repoVersions);
+ }
+ });
});
repos = repos.map(function (stack) {
return stack.RepositoryVersions;
@@ -97,7 +97,7 @@ angular.module('ambariAdminConsole')
$scope.fillClusters = function (clusters) {
$scope.dropDownClusters = [{
Clusters: {
- cluster_name: 'Install on...'
+ cluster_name: 'Configure on...'
}
}].concat(clusters);
$scope.selectedCluster = $scope.dropDownClusters[0];
http://git-wip-us.apache.org/repos/asf/ambari/blob/19f25115/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js
index b62fafc..f86a47f 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js
@@ -92,7 +92,7 @@ angular.module('ambariAdminConsole')
controller: 'StackVersionsCreateCtrl'
},
edit: {
- url: '/stackVersions/:versionId/edit',
+ url: '/stackVersions/:stackName/:versionId/edit',
templateUrl: 'views/stackVersions/edit.html',
controller: 'StackVersionsEditCtrl'
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/19f25115/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Stack.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Stack.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Stack.js
index 76783b6..7a6ef70 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Stack.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Stack.js
@@ -51,7 +51,7 @@ angular.module('ambariAdminConsole')
return {
allStackVersions: function () {
- var url = Settings.baseUrl + '/stacks?fields=versions/Versions';
+ var url = Settings.baseUrl + '/stacks?fields=versions/*';
var deferred = $q.defer();
$http.get(url, {mock: 'stack/allStackVersions.json'})
.success(function (data) {
@@ -62,8 +62,9 @@ angular.module('ambariAdminConsole')
var stack_version = version.Versions.stack_version;
var upgrade_packs = version.Versions.upgrade_packs;
allStackVersions.push({
+ stack_name: stack_name,
+ stack_version: stack_version,
displayName: stack_name + '-' + stack_version,
- value: stack_version,
upgrade_packs: upgrade_packs
});
});
@@ -78,9 +79,9 @@ angular.module('ambariAdminConsole')
allRepos: function (filter, pagination) {
var versionFilter = filter.version;
- var url = '/stacks/HDP/versions?fields=repository_versions/RepositoryVersions'; // TODO should not hard code HDP
+ var url = '/stacks?fields=versions/repository_versions/RepositoryVersions';
if (versionFilter) {
- url += '&repository_versions/RepositoryVersions/repository_version.matches(.*' + versionFilter + '.*)';
+ url += '&versions/repository_versions/RepositoryVersions/repository_version.matches(.*' + versionFilter + '.*)';
}
url += '&from='+ (pagination.currentPage - 1) * pagination.itemsPerPage;
url += '&page_size=' + pagination.itemsPerPage;
@@ -95,13 +96,12 @@ angular.module('ambariAdminConsole')
return deferred.promise;
},
- addRepo: function (stack, version, osList) {
- var url = '/stacks/HDP/versions/2.2/repository_versions/';
+ addRepo: function (stack, repoSubversion, osList) {
+ var url = '/stacks/' + stack.stack_name + '/versions/' + stack.stack_version + '/repository_versions/';
var payload = {};
var payloadWrap = { RepositoryVersions : payload };
- payload.repository_version = stack + '.' + version;
- payload.display_name = 'HDP-' + payload.repository_version;
- payload.upgrade_pack = "upgrade-2.2"; // TODO get this value from backend
+ payload.repository_version = stack.stack_version + '.' + repoSubversion;
+ payload.display_name = stack.stack_name + '-' + payload.repository_version;
payloadWrap.operating_systems = [];
angular.forEach(osList, function (osItem) {
if (osItem.selected)
@@ -125,9 +125,8 @@ angular.module('ambariAdminConsole')
return $http.post(Settings.baseUrl + url, payloadWrap);
},
- getRepo: function (repoVersion) {
- // TODO do not hard code HDP
- var url = Settings.baseUrl + '/stacks/HDP/versions?' +
+ getRepo: function (repoVersion, stack_name) {
+ var url = Settings.baseUrl + '/stacks/' + stack_name + '/versions?' +
'fields=repository_versions/operating_systems/repositories/*' +
'&repository_versions/RepositoryVersions/repository_version=' + repoVersion;
var deferred = $q.defer();
@@ -138,6 +137,7 @@ angular.module('ambariAdminConsole')
id : data.repository_versions[0].RepositoryVersions.id,
stackVersion : data.Versions.stack_version,
stack: data.Versions.stack_name + '-' + data.Versions.stack_version,
+ stackName: data.Versions.stack_name,
versionName: data.repository_versions[0].RepositoryVersions.repository_version,
repoVersionFullName : data.Versions.stack_name + '-' + data.repository_versions[0].RepositoryVersions.repository_version,
osList: data.repository_versions[0].operating_systems,
@@ -151,8 +151,8 @@ angular.module('ambariAdminConsole')
return deferred.promise;
},
- updateRepo: function (stackVersion, id, payload) {
- var url = Settings.baseUrl + '/stacks/HDP/versions/' + stackVersion + '/repository_versions/' + id;
+ updateRepo: function (stackName, stackVersion, id, payload) {
+ var url = Settings.baseUrl + '/stacks/' + stackName + '/versions/' + stackVersion + '/repository_versions/' + id;
var deferred = $q.defer();
$http.put(url, payload)
.success(function (data) {
@@ -164,8 +164,8 @@ angular.module('ambariAdminConsole')
return deferred.promise;
},
- deleteRepo: function (stackVersion, id) {
- var url = Settings.baseUrl + '/stacks/HDP/versions/' + stackVersion + '/repository_versions/' + id;
+ deleteRepo: function (stackName, stackVersion, id) {
+ var url = Settings.baseUrl + '/stacks/' + stackName + '/versions/' + stackVersion + '/repository_versions/' + id;
var deferred = $q.defer();
$http.delete(url)
.success(function (data) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/19f25115/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/create.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/create.html
index 70d55a1..b4487db 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/create.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/create.html
@@ -31,15 +31,15 @@
<label class="control-label col-sm-2 repo-version-label">Version</label>
<div class="form-group col-sm-3 repo-version-left">
<select class="form-control repo-version-select"
- ng-model="upgradeStack.value"
- ng-options="o.value as o.displayName for o in upgradeStack.options">
+ ng-model="upgradeStack.selected"
+ ng-options="o as o.displayName for o in upgradeStack.options">
</select>
<span class="bold-dot">.</span>
</div>
<div class="form-group col-sm-6" ng-class="{'has-error' : repoRegForm.version.$error.pattern}">
- <input class="form-control" name="version" type="text" ng-model="versionName" ng-pattern="/^\d(\.\d)?(\-\d*)?$/"
+ <input class="form-control" name="version" type="text" ng-model="repoSubversion" ng-pattern="/^\d(\.\d)?(\-\d*)?$/"
placeholder="Version Name" required/>
- <span class="text-primary" ng-show="!repoRegForm.version.$error.pattern"> {{upgradeStack.value + '.' + versionName}}</span>
+ <span class="text-primary" ng-show="!repoRegForm.version.$error.pattern"> {{upgradeStack.selected.displayName + '.' + repoSubversion}}</span>
<span class="text-danger" ng-show="repoRegForm.version.$error.pattern">Invalid subversion. eg: 1.0-123</span>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/19f25115/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
index 5c280f5..d357ef3 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
@@ -49,7 +49,9 @@
</thead>
<tbody>
<tr ng-repeat="repo in repos">
- <td class="col-medium"><a href="#/stackVersions/{{repo.repository_version}}/edit">{{'HDP-' + repo.repository_version}}</a></td>
+ <td class="col-medium">
+ <a href="#/stackVersions/{{repo.stack_name}}/{{repo.repository_version}}/edit">{{repo.stack_name + '-' + repo.repository_version}}</a>
+ </td>
<td class="col-small">
<a href ng-show="repo.cluster">
<i class="glyphicon glyphicon-cloud"></i>