AMBARI-21725. Web Client Doesn't Display MAINT Repos Correctly (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/086e368a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/086e368a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/086e368a Branch: refs/heads/branch-2.6 Commit: 086e368a98dac1a40f5cd6d9da2d8456089d9d22 Parents: 845aaa3 Author: Alex Antonenko <[email protected]> Authored: Tue Aug 15 16:34:01 2017 +0300 Committer: Alex Antonenko <[email protected]> Committed: Tue Aug 15 16:34:01 2017 +0300 ---------------------------------------------------------------------- .../stackVersions/StackVersionsCreateCtrl.js | 1 + .../stackVersions/StackVersionsEditCtrl.js | 1 + .../ui/admin-web/app/scripts/i18n.config.js | 1 + .../ui/admin-web/app/scripts/services/Stack.js | 5 +-- .../admin-web/app/views/stackVersions/list.html | 1 + .../views/stackVersions/stackVersionPage.html | 1 + .../main/admin/stack_and_upgrade_controller.js | 11 +++--- ambari-web/app/messages.js | 2 ++ .../models/stack_version/repository_version.js | 4 +++ .../modal_popups/install_repo_confirmation.hbs | 2 +- .../admin/stack_upgrade/upgrade_version_box.hbs | 7 ++-- .../stack_upgrade/upgrade_version_column.hbs | 9 +++-- .../stack_upgrade/upgrade_version_box_view.js | 11 +++--- .../main/admin/stack_upgrade/versions_view.js | 4 +-- .../admin/stack_and_upgrade_controller_test.js | 7 +++- .../admin/stack_upgrade/version_view_test.js | 36 ++++++++++++++++++++ 16 files changed, 82 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/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 7ee1429..2507c09 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 @@ -454,6 +454,7 @@ angular.module('ambariAdminConsole') var stackVersion = response.updateObj.RepositoryVersions || response.updateObj.VersionDefinition; $scope.id = response.id; $scope.isPatch = stackVersion.type === 'PATCH'; + $scope.isMaint = stackVersion.type === 'MAINT'; $scope.stackNameVersion = response.stackNameVersion || $t('common.NA'); $scope.displayName = response.displayName || $t('common.NA'); $scope.actualVersion = response.repositoryVersion || response.actualVersion || $t('common.NA'); http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/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 9c870aa..09e3c28 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 @@ -40,6 +40,7 @@ angular.module('ambariAdminConsole') $scope.activeStackVersion = response; $scope.id = response.id; $scope.isPatch = stackVersion.type === 'PATCH'; + $scope.isMaint = stackVersion.type === 'MAINT'; $scope.stackNameVersion = response.stackNameVersion || $t('common.NA'); $scope.displayName = response.displayName || $t('common.NA'); $scope.version = response.version || $t('common.NA'); http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js index e66499e..97fe689 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js @@ -416,6 +416,7 @@ angular.module('ambariAdminConsole') 'skipValidation': 'Skip Repository Base URL validation (Advanced)', 'noVersions': 'Select version to display details.', 'patch': 'Patch', + 'maint': 'Maint', 'introduction': 'To register a new version in Ambari, provide a Version Definition File, confirm the software repository information and save the version.', 'contents': { 'title': 'Contents', http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/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 5068a19..4a16355 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,7 @@ angular.module('ambariAdminConsole') }); repos = repos.map(function (stack) { stack.RepositoryVersions.isPatch = stack.RepositoryVersions.type === 'PATCH'; + stack.RepositoryVersions.isMaint = stack.RepositoryVersions.type === 'MAINT'; return stack.RepositoryVersions; }); // prepare response data with client side pagination @@ -407,8 +408,8 @@ angular.module('ambariAdminConsole') filterAvailableServices: function (response) { var stackVersion = response.updateObj.RepositoryVersions || response.updateObj.VersionDefinition; - var patchOrService = stackVersion.type === 'PATCH' || stackVersion.type === 'SERVICE'; - var availableServices = (patchOrService ? stackVersion.services : response.services).map(function (s) { + var nonStandardVersion = stackVersion.type !== 'STANDARD'; + var availableServices = (nonStandardVersion ? stackVersion.services : response.services).map(function (s) { return s.name; }); return response.services.filter(function (service) { http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/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 832faf1..9147f6c 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 @@ -70,6 +70,7 @@ <a href="#/stackVersions/{{repo.stack_name}}/{{repo.repository_version}}/edit"> {{repo.display_name}} <span ng-if="repo.isPatch" class="badge btn-warning">{{'versions.patch' | translate}}</span> + <span ng-if="repo.isMaint" class="badge btn-warning">{{'versions.maint' | translate}}</span> </a> </td> <td class="col-medium"> http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/stackVersionPage.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/stackVersionPage.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/stackVersionPage.html index e4630168..aeaaa71 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/stackVersionPage.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/stackVersionPage.html @@ -23,6 +23,7 @@ {{displayName}} <span class="sub-text">({{repoVersionFullName}})</span> <span ng-if="isPatch" class="badge btn-warning">{{'versions.patch' | translate}}</span> + <span ng-if="isMaint" class="badge btn-warning">{{'versions.maint' | translate}}</span> </li> <li class="active" ng-if="createController">{{'versions.register.title' | translate}}</li> </ol> http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js index 740562c..6718ba7 100644 --- a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js +++ b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js @@ -138,7 +138,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, this.get('upgradeTypeDisplayName'), this.get('upgradeVersion'), this.get('isDowngrade'), - repoVersion && repoVersion.get('isPatch') + repoVersion ); }.property('upgradeTypeDisplayName', 'upgradeVersion', 'isDowngrade'), @@ -150,13 +150,16 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, * @param {boolean} isPatch * @returns {string} */ - getUpgradeDowngradeHeader: function(upgradeType, upgradeVersion, isDowngrade, isPatch) { + getUpgradeDowngradeHeader: function(upgradeType, upgradeVersion, isDowngrade, repoVersion) { if (isDowngrade) { return Em.I18n.t('admin.stackUpgrade.dialog.downgrade.header').format(upgradeVersion); } - if (isPatch) { + if (repoVersion && repoVersion.get('isPatch')) { return Em.I18n.t('admin.stackUpgrade.dialog.upgrade.patch.header').format(upgradeType, upgradeVersion); } + if (repoVersion && repoVersion.get('isMaint')) { + return Em.I18n.t('admin.stackUpgrade.dialog.upgrade.maint.header').format(upgradeType, upgradeVersion); + } return Em.I18n.t('admin.stackUpgrade.dialog.upgrade.header').format(upgradeType, upgradeVersion); }, @@ -1459,7 +1462,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, bodyClass: Em.View.extend({ classNames: ['install-repo-confirmation'], content: availableServices, - isPatch: repo.get('isPatch'), + showAvailableServices: repo.get('isPatch') || repo.get('isMaint'), didInsertElement: function () { App.tooltip($('[rel="skip-dep-check"]'), { placement: "top", http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/app/messages.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 64b5ae4..2839fe2 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -227,6 +227,7 @@ Em.I18n.translations = { 'common.resume': 'Resume', 'common.path': 'Path', 'common.patch': 'Patch', + 'common.maint': 'Maint', 'common.package': 'Package', 'common.proceed': 'Proceed', 'common.proceedAnyway': 'Proceed Anyway', @@ -1854,6 +1855,7 @@ Em.I18n.translations = { 'admin.stackUpgrade.state.completed.downgrade': "Downgrade Finished", 'admin.stackUpgrade.dialog.upgrade.header': "{0} Upgrade to {1}", 'admin.stackUpgrade.dialog.upgrade.patch.header': "{0} Patch Upgrade to {1}", + 'admin.stackUpgrade.dialog.upgrade.maint.header': "{0} Maint Upgrade to {1}", 'admin.stackUpgrade.dialog.downgrade.header': "Downgrade from {0}", 'admin.stackUpgrade.dialog.operationFailed': "This operation failed.", 'admin.stackUpgrade.dialog.stop': "Stop Upgrade", http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/app/models/stack_version/repository_version.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/stack_version/repository_version.js b/ambari-web/app/models/stack_version/repository_version.js index 6a0a5f0..ff163b2 100644 --- a/ambari-web/app/models/stack_version/repository_version.js +++ b/ambari-web/app/models/stack_version/repository_version.js @@ -36,6 +36,10 @@ App.RepositoryVersion = DS.Model.extend({ isPatch: Em.computed.equal('type', 'PATCH'), + isMaint: Em.computed.equal('type', 'MAINT'), + + isService: Em.computed.equal('type', 'SERVICE'), + isStandard: Em.computed.equal('type', 'STANDARD'), /** http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/app/templates/common/modal_popups/install_repo_confirmation.hbs ---------------------------------------------------------------------- diff --git a/ambari-web/app/templates/common/modal_popups/install_repo_confirmation.hbs b/ambari-web/app/templates/common/modal_popups/install_repo_confirmation.hbs index 5c35021..a737823 100644 --- a/ambari-web/app/templates/common/modal_popups/install_repo_confirmation.hbs +++ b/ambari-web/app/templates/common/modal_popups/install_repo_confirmation.hbs @@ -16,7 +16,7 @@ * limitations under the License. }} <p>{{{popupBody}}}</p> -{{#if view.isPatch}} +{{#if view.showAvailableServices}} <div class="available-services-list"> {{#each service in view.content}} <p class="service-version-info"> http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs ---------------------------------------------------------------------- diff --git a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs index e6b0651..bc38130 100644 --- a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs +++ b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs @@ -29,10 +29,13 @@ <p class="repository-name">({{view.content.repositoryVersion}})</p> <p class="patch-icon"> - {{#if view.isPatch}} + {{#if view.content.isMaint}} + <i class="icon-umbrella"></i> {{t common.maint}} + {{/if}} + {{#if view.content.isPatch}} <i class="icon-umbrella"></i> {{t common.patch}} {{/if}} - {{#if view.isService}} + {{#if view.content.isService}} <i class="icon-umbrella"></i> {{t common.service}} {{/if}} </p> http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_column.hbs ---------------------------------------------------------------------- diff --git a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_column.hbs b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_column.hbs index 7031c20..be59e44 100644 --- a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_column.hbs +++ b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_column.hbs @@ -21,10 +21,10 @@ {{/if}} <p class="version-column-display-name"> - {{#if view.content.isPatch}} - <span>{{view.content.displayName}}</span> - {{else}} + {{#if view.content.isStandard}} <span>{{view.content.displayNameSimple}}</span> + {{else}} + <span>{{view.content.displayName}}</span> {{/if}} </p> @@ -32,6 +32,9 @@ {{#if view.content.isPatch}} <i class="icon-umbrella"></i> {{t common.patch}} {{/if}} + {{#if view.content.isMaint}} + <i class="icon-umbrella"></i> {{t common.maint}} + {{/if}} </p> <p class="version-column-show-details"> http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js index 5f74bc6..c3b58b6 100644 --- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js +++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js @@ -69,10 +69,6 @@ App.UpgradeVersionBoxView = Em.View.extend({ return this.get('content.status') === 'CURRENT' ? 'current-version-box' : ''; }.property('content.status'), - isPatch: Em.computed.equal('content.type', 'PATCH'), - - isService: Em.computed.equal('content.type', 'SERVICE'), - /** * @type {boolean} */ @@ -177,10 +173,13 @@ App.UpgradeVersionBoxView = Em.View.extend({ }); var isSuspended = App.get('upgradeSuspended'); - if (status === 'CURRENT' && this.get('content.isPatch') && !this.get('isUpgrading')) { + if (status === 'CURRENT' && (this.get('content.isPatch') || this.get('content.isMaint')) && !this.get('isUpgrading')) { element.setProperties(statePropertiesMap['CURRENT_PATCH']); } - else if (['INSTALLING', 'CURRENT'].contains(status) && !this.get('content.isPatch')) { + else if (['INSTALLING'].contains(status)) { + element.setProperties(statePropertiesMap[status]); + } + else if (['CURRENT'].contains(status) && (!this.get('content.isPatch') && !this.get('content.isMaint'))) { element.setProperties(statePropertiesMap[status]); } else if (status === 'NOT_REQUIRED') { http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js b/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js index 62cf690..d92e0a7 100644 --- a/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js +++ b/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js @@ -186,8 +186,8 @@ App.MainAdminStackVersionsView = Em.View.extend({ } else { return versions.filter(function(v) { if (v.get('stackVersionType') === Em.get(currentVersion, 'stack_name')) { - // PATCH version should be visible even if patch number lower than current - return v.get('isPatch') || stringUtils.compareVersions(v.get('repositoryVersion'), Em.get(currentVersion, 'repository_version')) >= 0; + // PATCH or MAINT version should be visible even if patch number lower than current + return v.get('isPatch') || v.get('isMaint') || stringUtils.compareVersions(v.get('repositoryVersion'), Em.get(currentVersion, 'repository_version')) >= 0; } return v.get('isCompatible'); }).toArray(); http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js b/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js index 4d76d5d..b685621 100644 --- a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js +++ b/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js @@ -3526,10 +3526,15 @@ describe('App.MainAdminStackAndUpgradeController', function() { ); }); it('should return patch upgrade header', function() { - expect(controller.getUpgradeDowngradeHeader('t1', 'v1', false, true)).to.be.equal( + expect(controller.getUpgradeDowngradeHeader('t1', 'v1', false, Em.Object.create({isPatch: true}))).to.be.equal( Em.I18n.t('admin.stackUpgrade.dialog.upgrade.patch.header').format('t1', 'v1') ); }); + it('should return maint upgrade header', function() { + expect(controller.getUpgradeDowngradeHeader('t1', 'v1', false, Em.Object.create({isMaint: true}))).to.be.equal( + Em.I18n.t('admin.stackUpgrade.dialog.upgrade.maint.header').format('t1', 'v1') + ); + }); it('should return upgrade header', function() { expect(controller.getUpgradeDowngradeHeader('t1', 'v1', false, false)).to.be.equal( Em.I18n.t('admin.stackUpgrade.dialog.upgrade.header').format('t1', 'v1') http://git-wip-us.apache.org/repos/asf/ambari/blob/086e368a/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js index e4e3b31..1c8d683 100644 --- a/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js +++ b/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js @@ -73,6 +73,18 @@ describe('App.mainAdminStackVersionsView', function () { }), Em.Object.create({ status: "INSTALLED", + repositoryVersion: "2.0.0.1", + stackVersionType: 'HDP', + isPatch: true + }), + Em.Object.create({ + status: "INSTALLED", + repositoryVersion: "2.0.0.1", + stackVersionType: 'HDP', + isMaint: true + }), + Em.Object.create({ + status: "INSTALLED", repositoryVersion: "2.2.2.1", stackVersionType: 'HDP' }), @@ -127,6 +139,18 @@ describe('App.mainAdminStackVersionsView', function () { }), Em.Object.create({ status: "INSTALLED", + repositoryVersion: "2.0.0.1", + stackVersionType: 'HDP', + isPatch: true + }), + Em.Object.create({ + status: "INSTALLED", + repositoryVersion: "2.0.0.1", + stackVersionType: 'HDP', + isMaint: true + }), + Em.Object.create({ + status: "INSTALLED", repositoryVersion: "2.2.2.1", stackVersionType: 'HDP' }), @@ -195,6 +219,18 @@ describe('App.mainAdminStackVersionsView', function () { repositoryVersion: "2.0.2.1", stackVersionType: 'HCP', isCompatible: true + }), + Em.Object.create({ + status: "INSTALLED", + repositoryVersion: "2.0.0.1", + stackVersionType: 'HDP', + isPatch: true + }), + Em.Object.create({ + status: "INSTALLED", + repositoryVersion: "2.0.0.1", + stackVersionType: 'HDP', + isMaint: true }) ] },
