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/24 01:39:52 UTC
ambari git commit: AMBARI-8875. Repository Versions > Create&Edit E2E
integration of OS list. (Richard Zang via yusaku)
Repository: ambari
Updated Branches:
refs/heads/trunk 600f1afcd -> 0ccded80f
AMBARI-8875. Repository Versions > Create&Edit E2E integration of OS 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/0ccded80
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0ccded80
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0ccded80
Branch: refs/heads/trunk
Commit: 0ccded80fd88cd69b77682b0d87b08d4de151a36
Parents: 600f1af
Author: Yusaku Sako <yu...@hortonworks.com>
Authored: Tue Dec 23 16:39:24 2014 -0800
Committer: Yusaku Sako <yu...@hortonworks.com>
Committed: Tue Dec 23 16:39:24 2014 -0800
----------------------------------------------------------------------
.../stackVersions/StackVersionsCreateCtrl.js | 58 ++++++++------------
.../stackVersions/StackVersionsEditCtrl.js | 50 ++++++++++++++++-
.../ui/admin-web/app/scripts/services/Stack.js | 15 +++++
.../app/views/stackVersions/create.html | 5 +-
.../admin-web/app/views/stackVersions/edit.html | 2 +-
5 files changed, 88 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/0ccded80/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 4a27003..0d67f35 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
@@ -36,48 +36,14 @@ angular.module('ambariAdminConsole')
});
$scope.upgradeStack.options = versions;
$scope.upgradeStack.selected = versions[versions.length - 1];
+ $scope.afterStackVersionChange();
})
.catch(function (data) {
Alert.error('Fetch stack version filter list error', data.message);
});
};
$scope.fetchStackVersionFilterList();
-
- // TODO retrieve operating systems and repo names from stack definition
- $scope.repositories = [
- {
- os: 'redhat5',
- packages: [
- {label:'HDP', value: null},
- {label:'HDP-UTILS', value: null}
- ],
- selected: false
- },
- {
- os: 'redhat6',
- packages: [
- {label:'HDP', value: null},
- {label:'HDP-UTILS', value: null}
- ],
- selected: false
- },
- {
- os: 'sles11',
- packages: [
- {label:'HDP', value: null},
- {label:'HDP-UTILS', value: null}
- ],
- selected: false
- },
- {
- os: 'ubuntu12',
- packages: [
- {label:'HDP', value: null},
- {label:'HDP-UTILS', value: null}
- ],
- selected: false
- }
- ];
+ $scope.repositories = [];
$scope.selectedOS = 0;
$scope.toggleOSSelect = function () {
@@ -99,4 +65,24 @@ angular.module('ambariAdminConsole')
Alert.error('Version creation error', data.message);
});
};
+
+ $scope.afterStackVersionChange = function () {
+ Stack.getSupportedOSList($scope.upgradeStack.selected.stack_name, $scope.upgradeStack.selected.stack_version)
+ .then(function (data) {
+ var repositories = data.operatingSystems.map(function (os) {
+ return {
+ os: os.OperatingSystems.os_type,
+ packages: [
+ {label:'HDP', value: null},
+ {label:'HDP-UTILS', value: null}
+ ],
+ selected: false
+ };
+ });
+ $scope.repositories = repositories;
+ })
+ .catch(function (data) {
+ Alert.error('getSupportedOSList error', data.message);
+ });
+ };
}]);
http://git-wip-us.apache.org/repos/asf/ambari/blob/0ccded80/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 27e846b..32401b9 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
@@ -19,7 +19,7 @@
angular.module('ambariAdminConsole')
.controller('StackVersionsEditCtrl', ['$scope', '$location', 'Stack', '$routeParams', 'ConfirmationModal', 'Alert', function($scope, $location, Stack, $routeParams, ConfirmationModal, Alert) {
- function loadStackVersionInfo () {
+ $scope.loadStackVersionInfo = function () {
return Stack.getRepo($routeParams.versionId, $routeParams.stackName).then(function (response) {
$scope.id = response.id;
$scope.stack = response.stack;
@@ -32,6 +32,45 @@ angular.module('ambariAdminConsole')
os.selected = true;
});
$scope.osList = response.osList;
+ $scope.addMissingOSList();
+ });
+ }
+
+ $scope.addMissingOSList = function() {
+ Stack.getSupportedOSList($scope.stackName, $scope.stackVersion)
+ .then(function (data) {
+ var existingOSHash = {};
+ angular.forEach($scope.osList, function (os) {
+ existingOSHash[os.OperatingSystems.os_type] = os;
+ });
+ var osList = data.operatingSystems.map(function (os) {
+ return existingOSHash[os.OperatingSystems.os_type] || {
+ OperatingSystems: {
+ os_type : os.OperatingSystems.os_type
+ },
+ repositories: [
+ {
+ Repositories: {
+ base_url: '',
+ repo_id: 'HDP-' + $routeParams.versionId,
+ repo_name: 'HDP'
+ }
+ },
+ {
+ Repositories: {
+ base_url: '',
+ repo_id: 'HDP-UTILS-' + $routeParams.versionId,
+ repo_name: 'HDP-UTILS'
+ }
+ }
+ ],
+ selected: false
+ };
+ });
+ $scope.osList = osList;
+ })
+ .catch(function (data) {
+ Alert.error('getSupportedOSList error', data.message);
});
}
@@ -40,8 +79,13 @@ angular.module('ambariAdminConsole')
$scope.save = function () {
$scope.editVersionDisabled = true;
-
delete $scope.updateObj.href;
+ $scope.updateObj.operating_systems = [];
+ angular.forEach($scope.osList, function (os) {
+ if (os.selected) {
+ $scope.updateObj.operating_systems.push(os);
+ }
+ });
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');
@@ -64,5 +108,5 @@ angular.module('ambariAdminConsole')
});
});
};
- loadStackVersionInfo();
+ $scope.loadStackVersionInfo();
}]);
http://git-wip-us.apache.org/repos/asf/ambari/blob/0ccded80/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 7a6ef70..4e93854 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
@@ -175,6 +175,21 @@ angular.module('ambariAdminConsole')
deferred.reject(data);
});
return deferred.promise;
+ },
+
+ getSupportedOSList: function (stackName, stackVersion) {
+ //http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.2?fields=operating_systems
+ var url = Settings.baseUrl + '/stacks/' + stackName + '/versions/' + stackVersion + '?fields=operating_systems'
+ var deferred = $q.defer();
+ $http.get(url, {mock: 'stacks/operatingSystems.json'})
+ .success(function (data) {
+ deferred.resolve(data);
+ })
+ .error(function (data) {
+ deferred.reject(data);
+ });
+ return deferred.promise;
}
+
};
}]);
http://git-wip-us.apache.org/repos/asf/ambari/blob/0ccded80/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 c2fc3c3..c9f2668 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
@@ -29,10 +29,11 @@
<div class="panel-body">
<div class="form-inline repo-version-inline">
<label class="control-label col-sm-2 repo-version-label">Version</label>
- <div class="form-group col-sm-3 repo-version-left">
+ <div class="form-group col-sm-4 repo-version-left">
<select class="form-control repo-version-select"
ng-model="upgradeStack.selected"
- ng-options="o as o.displayName for o in upgradeStack.options">
+ ng-options="o as o.displayName for o in upgradeStack.options"
+ ng-change="afterStackVersionChange()">
</select>
<span class="bold-dot">.</span>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/0ccded80/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/edit.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/edit.html
index 85ea50d..e4ae991 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/edit.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/edit.html
@@ -92,7 +92,7 @@
</div>
<div class="col-sm-9">
<div class="form-group" ng-repeat="repository in os.repositories">
- <div class="col-sm-4"><label class="control-label">{{repository.Repositories.repo_id}}</label></div>
+ <div class="col-sm-4"><label class="control-label">{{repository.Repositories.repo_name}}</label></div>
<div class="col-sm-8"><input type="text" class="form-control" ng-model="repository.Repositories.base_url"></div>
</div>
</div>