You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rz...@apache.org on 2017/04/17 22:11:30 UTC
ambari git commit: AMBARI-20738 - Cannot add repo for additional OS
to an existing HDP version (rzang)
Repository: ambari
Updated Branches:
refs/heads/trunk 44b1f69d2 -> 7bb94a010
AMBARI-20738 - Cannot add repo for additional OS to an existing HDP version (rzang)
Change-Id: I4cb6e7d077b85bfeb2c4cf5e84d270ef5fafbe5c
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7bb94a01
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7bb94a01
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7bb94a01
Branch: refs/heads/trunk
Commit: 7bb94a010dddb0574f5dad4f3a44fb503bc3a2fb
Parents: 44b1f69
Author: Richard Zang <rz...@apache.org>
Authored: Mon Apr 17 15:05:15 2017 -0700
Committer: Richard Zang <rz...@apache.org>
Committed: Mon Apr 17 15:05:15 2017 -0700
----------------------------------------------------------------------
.../stackVersions/StackVersionsEditCtrl.js | 102 ++++---------------
1 file changed, 20 insertions(+), 82 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7bb94a01/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 c6ba241..a84a97c 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
@@ -24,15 +24,15 @@ angular.module('ambariAdminConsole')
os: $t('versions.os')
};
$scope.editController = true;
- $scope.osList = [];
+ $scope.osList = []; // view modal for display repo urls of various OSes
$scope.skipValidation = false;
$scope.useRedhatSatellite = false;
- $scope.selectedOS = 0;
$scope.upgradeStack = {
stack_name: '',
stack_version: '',
display_name: ''
};
+ $scope.defaulfOSRepos = {}; // a copy of initial loaded repo info for "changed" check later
$scope.loadStackVersionInfo = function () {
return Stack.getRepo($routeParams.versionId, $routeParams.stackName).then(function (response) {
@@ -54,8 +54,6 @@ angular.module('ambariAdminConsole')
var skipServices = ['MAPREDUCE2', 'GANGLIA', 'KERBEROS'];
return skipServices.indexOf(service.name) === -1;
}) || [];
- //save default values of repos to check if they were changed
- $scope.defaulfOSRepos = {};
response.updateObj.operating_systems.forEach(function(os) {
$scope.defaulfOSRepos[os.OperatingSystems.os_type] = {};
os.repositories.forEach(function(repo) {
@@ -84,8 +82,6 @@ angular.module('ambariAdminConsole')
} else {
$scope.deleteEnabled = $scope.isDeletable();
}
- // fetch all repos to display the left menu
- $scope.fetchRepos();
});
};
@@ -133,33 +129,34 @@ angular.module('ambariAdminConsole')
});
};
- $scope.defaulfOSRepos = {};
-
$scope.save = function () {
$scope.editVersionDisabled = true;
delete $scope.updateObj.href;
$scope.updateObj.operating_systems = [];
- var updateRepoUrl = false;
+ // check if there is any change in repo list
+ var changed = false;
angular.forEach($scope.osList, function (os) {
var savedUrls = $scope.defaulfOSRepos[os.OperatingSystems.os_type];
- os.OperatingSystems.ambari_managed_repositories = !$scope.useRedhatSatellite;
- if (os.selected) {
- var currentRepos = os.repositories;
- var urlChanged = false;
- angular.forEach(currentRepos, function (repo) {
- if (repo.Repositories.base_url != savedUrls[repo.Repositories.repo_id]) {
- urlChanged = true;
- }
- });
- if (!savedUrls || urlChanged) {
- updateRepoUrl = true;
+ if (os.selected) { // currently shown?
+ if (savedUrls) { // initially loaded?
+ angular.forEach(os.repositories, function (repo) {
+ if (repo.Repositories.base_url != savedUrls[repo.Repositories.repo_id]) {
+ changed = true; // modified
+ }
+ });
+ } else {
+ changed = true; // added
}
+ os.OperatingSystems.ambari_managed_repositories = !$scope.useRedhatSatellite;
$scope.updateObj.operating_systems.push(os);
- } else if (savedUrls) {
- updateRepoUrl = true;
+ } else {
+ if (savedUrls) {
+ changed = true; // removed
+ }
}
});
- if (updateRepoUrl && !$scope.deleteEnabled) {
+ // show confirmation when making changes to current/installed repo
+ if (changed && !$scope.deleteEnabled) {
ConfirmationModal.show(
$t('versions.changeBaseURLConfirmation.title'),
$t('versions.changeBaseURLConfirmation.message'),
@@ -342,64 +339,5 @@ angular.module('ambariAdminConsole')
return hasErrors;
};
-
- // add all repos list
- $scope.filter = {
- version: '',
- cluster: {
- options: [],
- current: null
- }
- };
-
- $scope.pagination = {
- totalRepos: 100,
- maxVisiblePages: 1,
- itemsPerPage: 100,
- currentPage: 1
- };
- $scope.allRepos = [];
- $scope.stackVersions = [];
-
-
-
- /**
- * Formatted object to display all repos:
- *
- * [{ 'name': 'HDP-2.3',
- * 'repos': ['2.3.6.0-2343', '2.3.4.1', '2.3.4.0-56']
- * },
- * { 'name': 'HDP-2.2',
- * 'repos': ['2.2.6.0', '2.2.4.5', '2.2.4.0']
- * }
- * ]
- *
- */
- $scope.fetchRepos = function () {
- return Stack.allRepos($scope.filter, $scope.pagination).then(function (repos) {
- $scope.allRepos = repos.items.sort(function(a, b){return a.repository_version < b.repository_version});
- var existingStackHash = {};
- var stackVersions = [];
- angular.forEach($scope.allRepos, function (repo) {
- var stackVersionName = repo.stack_name + '-' + repo.stack_version;
- var currentStackVersion = $scope.upgradeStack.stack_name + '-' + $scope.upgradeStack.stack_version;
- repo.isActive = $scope.actualVersion == repo.repository_version;
- if (!existingStackHash[stackVersionName]) {
- existingStackHash[stackVersionName] = true;
- stackVersions.push({
- 'name': stackVersionName,
- 'isOpened': stackVersionName == currentStackVersion,
- 'repos': [repo]
- });
- } else {
- if (stackVersions[stackVersions.length -1].repos) {
- stackVersions[stackVersions.length -1].repos.push(repo);
- }
- }
- });
- $scope.stackVersions = stackVersions;
- });
- };
-
$scope.loadStackVersionInfo();
}]);