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'
       });

Reply via email to