AMBARI-21612 PATCH version should be attached right next to the STANDARD. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8e64bac3 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8e64bac3 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8e64bac3 Branch: refs/heads/feature-branch-AMBARI-21307 Commit: 8e64bac3e767f09adbc69526c3552a6f23dcfbfb Parents: 733c78b Author: Andrii Tkach <atk...@apache.org> Authored: Fri Aug 25 18:34:50 2017 +0300 Committer: Andrii Tkach <atk...@apache.org> Committed: Fri Aug 25 18:35:06 2017 +0300 ---------------------------------------------------------------------- .../main/admin/stack_and_upgrade_controller.js | 3 ++- .../app/mappers/repository_version_mapper.js | 19 +++++-------------- .../models/stack_version/repository_version.js | 2 ++ .../app/models/stack_version/service_simple.js | 3 ++- ambari-web/app/styles/stack_versions.less | 9 +++++++++ .../stack_upgrade/upgrade_version_column.hbs | 10 ++++++++-- .../admin/stack_upgrade/upgrade_history_view.js | 3 ++- .../stack_upgrade/upgrade_version_column_view.js | 16 ++++++---------- .../admin/stack_and_upgrade_controller_test.js | 1 + 9 files changed, 37 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/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 823dba4..61fa348 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 @@ -1381,7 +1381,8 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, type: version.get('upgradeType'), skipComponentFailures: version.get('skipComponentFailures') ? 'true' : 'false', skipSCFailures: version.get('skipSCFailures') ? 'true' : 'false', - id: version.get('id') + id: version.get('id'), + targetStack: version.get('displayName') }; if (App.get('supports.preUpgradeCheck')) { this.set('requestInProgress', true); http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/ambari-web/app/mappers/repository_version_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/repository_version_mapper.js b/ambari-web/app/mappers/repository_version_mapper.js index f4858ba..2527637 100644 --- a/ambari-web/app/mappers/repository_version_mapper.js +++ b/ambari-web/app/mappers/repository_version_mapper.js @@ -61,13 +61,6 @@ App.repoVersionMapper = App.QuickDataMapper.create({ } }, - modelService: { - id: 'id', - name: 'name', - display_name: 'display_name', - latest_version: 'latest_version' - }, - modelRepository: { id: 'id', operating_system_id: 'Repositories.operating_system_id', @@ -103,7 +96,6 @@ App.repoVersionMapper = App.QuickDataMapper.create({ if (loadAll || (item[repoVersionsKey] && !App.StackVersion.find().someProperty('repositoryVersion.id', item[repoVersionsKey].id))) { var repo = item; var osArray = []; - var serviceArray = []; if (item.operating_systems) { item.operating_systems.forEach(function (os) { os.id = item[repoVersionsKey].repository_version + os.OperatingSystems.os_type; @@ -128,10 +120,10 @@ App.repoVersionMapper = App.QuickDataMapper.create({ id: item[repoVersionsKey].repository_version + service.name, name: service.name, display_name: service.display_name, - latest_version: service.versions[0] ? service.versions[0] : '' + latest_version: service.versions[0] ? service.versions[0] : '', + is_available: item[repoVersionsKey].services.someProperty('name', service.name) }; - serviceArray.pushObject(serviceObj); - resultService.push(this.parseIt(serviceObj, this.get('modelService'))); + resultService.push(serviceObj); }, this); } else if (item[repoVersionsKey].services) { item[repoVersionsKey].services.forEach(function (service) { @@ -141,13 +133,12 @@ App.repoVersionMapper = App.QuickDataMapper.create({ display_name: service.display_name, latest_version: service.versions[0] ? service.versions[0].version: '' }; - serviceArray.pushObject(serviceObj); - resultService.push(this.parseIt(serviceObj, this.get('modelService'))); + resultService.push(serviceObj); }, this); } repo.use_redhat_satellite = Em.get(item, 'operating_systems.0.OperatingSystems.ambari_managed_repositories') === false; repo.operating_systems = osArray; - repo.stack_services = serviceArray; + repo.stack_services = resultService; resultRepoVersion.push(this.parseIt(repo, this.modelRepoVersion(isCurrentStackOnly))); } }, this); http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/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 5ecfdd1..c0eddba 100644 --- a/ambari-web/app/models/stack_version/repository_version.js +++ b/ambari-web/app/models/stack_version/repository_version.js @@ -34,6 +34,8 @@ App.RepositoryVersion = DS.Model.extend({ return this.get('stackVersionType') + '-' + this.get('repositoryVersion').split('-')[0]; }.property('stackVersionType', 'repositoryVersion'), + isPatch: Em.computed.equal('type', 'PATCH'), + /** * status used until corresponding stack version get created * @type {string} http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/ambari-web/app/models/stack_version/service_simple.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/stack_version/service_simple.js b/ambari-web/app/models/stack_version/service_simple.js index c7d94e5..ffb32bf 100644 --- a/ambari-web/app/models/stack_version/service_simple.js +++ b/ambari-web/app/models/stack_version/service_simple.js @@ -23,6 +23,7 @@ App.ServiceSimple = DS.Model.extend({ name: DS.attr('string'), displayName: DS.attr('string'), latestVersion: DS.attr('string'), + isAvailable: DS.attr('boolean'), isHidden: function () { var hiddenServices = ['MAPREDUCE2']; return hiddenServices.contains(this.get('name')) || this.get('doNotShowAndInstall'); @@ -37,4 +38,4 @@ App.ServiceSimple = DS.Model.extend({ }.property('name') }); -App.ServiceSimple.FIXTURES = []; \ No newline at end of file +App.ServiceSimple.FIXTURES = []; http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/ambari-web/app/styles/stack_versions.less ---------------------------------------------------------------------- diff --git a/ambari-web/app/styles/stack_versions.less b/ambari-web/app/styles/stack_versions.less index 2d5c2b4..746f9d2 100644 --- a/ambari-web/app/styles/stack_versions.less +++ b/ambari-web/app/styles/stack_versions.less @@ -346,6 +346,15 @@ } } } + div.version-column { + .services-section { + .service-version-info { + span.label.available { + background-color: #468847; + } + } + } + } .nav.nav-tabs { margin-bottom: 20px; } http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/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 185b4f3..6502672 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,7 +21,11 @@ {{/if}} <p class="version-column-display-name"> - <span>{{view.content.displayNameSimple}}</span> + {{#if view.content.isPatch}} + <span>{{view.content.displayName}}</span> + {{else}} + <span>{{view.content.displayNameSimple}}</span> + {{/if}} </p> <p class="version-column-show-details"> @@ -80,7 +84,9 @@ <div class="services-section"> {{#each service in view.services}} <p class="service-version-info"> - <span {{bindAttr class="service.isVersionInvisible:invisible :label"}}>{{service.latestVersion}}</span> + <span {{bindAttr class="service.isVersionInvisible:invisible service.isAvailable:available :label"}}> + {{service.latestVersion}} + </span> </p> {{/each}} </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/ambari-web/app/views/main/admin/stack_upgrade/upgrade_history_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_history_view.js b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_history_view.js index 0e0ee7f..39e0d6b 100644 --- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_history_view.js +++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_history_view.js @@ -124,9 +124,10 @@ App.MainAdminStackUpgradeHistoryView = App.TableView.extend(App.TableServerViewM }.property('filteredContent', 'startIndex', 'endIndex'), processForDisplay: function (content) { + var upgradeMethods = this.get('upgradeMethods'); return arrayUtils.flatten(content.map(item => { const versions = item.get('versions'); - const method = this.get('upgradeMethods').findProperty('type', item.get('upgradeType')); + const method = upgradeMethods.findProperty('type', item.get('upgradeType')); return Object.keys(versions).map(serviceName => { return { version: versions[serviceName].to_repository_version, http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js index 91381e7..60364ec 100644 --- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js +++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_column_view.js @@ -45,22 +45,18 @@ App.UpgradeVersionColumnView = App.UpgradeVersionBoxView.extend({ }, services: function() { - var repoRecord = App.RepositoryVersion.find(this.get('content.id')); - var originalServices = repoRecord.get('stackServices'); + var originalServices = this.get('content.stackServices'); // sort the services in the order the same as service menu - var sorted = App.Service.find().map(function (service) { - var latestVersion = ''; - if (originalServices.someProperty('name', service.get('serviceName'))){ - latestVersion = originalServices.filterProperty('name', service.get('serviceName'))[0].get('latestVersion'); - } + return App.Service.find().map(function (service) { + var stackService = originalServices.findProperty('name', service.get('serviceName')); return Em.Object.create({ displayName: service.get('displayName'), name: service.get('serviceName'), - latestVersion: latestVersion, - isVersionInvisible: latestVersion == false + latestVersion: stackService ? stackService.get('latestVersion') : '', + isVersionInvisible: !stackService, + isAvailable: stackService ? stackService.get('isAvailable') : false }); }); - return sorted; }.property(), /** http://git-wip-us.apache.org/repos/asf/ambari/blob/8e64bac3/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 410c0d4..e2e3a06 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 @@ -408,6 +408,7 @@ describe('App.MainAdminStackAndUpgradeController', function() { value: '1', label: 'HDP-2.2', type: 'ROLLING', + targetStack: "HDP-2.2", skipComponentFailures: 'false', skipSCFailures: 'false' });