You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2014/11/20 16:38:52 UTC

ambari git commit: AMBARI-8397 Ambari View > Versions > View/Edit Version (with mock data). (atkach)

Repository: ambari
Updated Branches:
  refs/heads/trunk 2f00656c8 -> 6f2875cee


AMBARI-8397 Ambari View > Versions > View/Edit Version (with mock data). (atkach)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6f2875ce
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6f2875ce
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6f2875ce

Branch: refs/heads/trunk
Commit: 6f2875cee6e7098bac0d317e560d23c1f3d8be8a
Parents: 2f00656
Author: Andrii Tkach <at...@hortonworks.com>
Authored: Thu Nov 20 17:38:46 2014 +0200
Committer: Andrii Tkach <at...@hortonworks.com>
Committed: Thu Nov 20 17:38:46 2014 +0200

----------------------------------------------------------------------
 .../main/resources/ui/admin-web/app/index.html  |   1 +
 .../stackVersions/StackVersionsEditCtrl.js      |  67 +++++++++++
 .../scripts/controllers/users/UsersShowCtrl.js  |   4 +-
 .../ui/admin-web/app/scripts/routes.js          |   5 +
 .../app/scripts/services/StackVersions.js       | 116 ++++++++++++++++++
 .../resources/ui/admin-web/app/styles/main.css  |   2 +-
 .../app/views/stackVersions/create.html         |   2 +-
 .../admin-web/app/views/stackVersions/edit.html | 118 +++++++++++++++++++
 .../admin-web/app/views/stackVersions/list.html |   3 +-
 9 files changed, 313 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/ambari-admin/src/main/resources/ui/admin-web/app/index.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/index.html b/ambari-admin/src/main/resources/ui/admin-web/app/index.html
index 7623eb8..4f1b9b3 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/index.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/index.html
@@ -138,6 +138,7 @@
     <script src="scripts/controllers/clusters/ClustersManageAccessCtrl.js"></script>
     <script src="scripts/controllers/stackVersions/StackVersionsCreateCtrl.js"></script>
     <script src="scripts/controllers/stackVersions/StackVersionsListCtrl.js"></script>
+    <script src="scripts/controllers/stackVersions/StackVersionsEditCtrl.js"></script>
     <script src="scripts/directives/linkToDir.js"></script>
     <script src="scripts/directives/PasswordVerify.js"></script>
     <script src="scripts/directives/disabledTooltip.js"></script>

http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/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
new file mode 100644
index 0000000..8c1c416
--- /dev/null
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js
@@ -0,0 +1,67 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+'use strict';
+
+angular.module('ambariAdminConsole')
+.controller('StackVersionsEditCtrl', ['$scope', 'StackVersions', '$routeParams', function($scope, StackVersions, $routeParams) {
+  function loadStackVersionInfo() {
+    return StackVersions.get($routeParams.id).then(function (stackVersion) {
+      loadStackRepositories(stackVersion);
+      $scope.stackVersion = stackVersion;
+    });
+  }
+
+  function loadStackRepositories(stackVersion) {
+    return StackVersions.getStackRepositories(stackVersion.stack).then(function (repositories) {
+      var repos = [];
+      repositories.forEach(function (repo) {
+        var installedRepo;
+        for (var i in stackVersion.repositories) {
+          if (stackVersion.repositories[i].os === repo.os) {
+            installedRepo = stackVersion.repositories[i];
+            break;
+          }
+        }
+        if (installedRepo) {
+          installedRepo.selected = true;
+          repos.push(installedRepo);
+        } else {
+          repo.selected = false;
+          repos.push(repo);
+        }
+      });
+      $scope.stackVersion.repositories = repos;
+    });
+  }
+
+  $scope.stackVersion;
+  $scope.skipValidation = false;
+  $scope.editVersionDisabled = true;
+  $scope.deleteEnabled = true;
+  $scope.toggleVersionEdit = function() {
+    $scope.editVersionDisabled = !$scope.editVersionDisabled;
+  };
+  $scope.save = function() {
+    $scope.editVersionDisabled = true;
+  };
+  $scope.cancel = function() {
+    $scope.editVersionDisabled = true;
+  };
+
+  loadStackVersionInfo();
+}]);

http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
index 5fb2fc2..db43f18 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
@@ -126,7 +126,7 @@ angular.module('ambariAdminConsole')
       })
       .catch(function() {
         $scope.user.active = !$scope.user.active;
-      });;
+      });
     }
   };    
   $scope.toggleUserAdmin = function() {
@@ -145,7 +145,7 @@ angular.module('ambariAdminConsole')
       })
       .catch(function() {
         $scope.user.admin = !$scope.user.admin;
-      });;
+      });
         
     }
   };    

http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js
index 79ac62e..b62fafc 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/routes.js
@@ -90,6 +90,11 @@ angular.module('ambariAdminConsole')
       url: '/stackVersions/create',
       templateUrl: 'views/stackVersions/create.html',
       controller: 'StackVersionsCreateCtrl'
+    },
+    edit: {
+      url: '/stackVersions/:versionId/edit',
+      templateUrl: 'views/stackVersions/edit.html',
+      controller: 'StackVersionsEditCtrl'
     }
   },
   clusters: {

http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/StackVersions.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/StackVersions.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/StackVersions.js
index ba05f4e..d5c2803 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/StackVersions.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/StackVersions.js
@@ -87,6 +87,122 @@ angular.module('ambariAdminConsole')
 
       deferred.resolve(parse(mockData));
       return deferred.promise;
+    },
+    get: function (version) {
+      var deferred = $q.defer();
+      var mockData = {
+        "RepositoryVersion": {
+          "id": "1",
+          "display_name": "HDP 2.2.0.1",
+          "stack": "HDP-2.2",
+          "version": "2.2.0.1-885",
+          "upgrade_pack": "pack1",
+          "repositories": [
+            {
+              "os": "redhat6",
+              "baseurls": [
+                {
+                  "id": "HDP-2.2.0.1-885",
+                  "type": "HDP",
+                  "baseurl": "http://host1/hdp"
+                },
+                {
+                  "id": "HDP-UTILS-1.0.0.20",
+                  "type": "HDP-UTILS",
+                  "baseurl": "http://host1/hdp-utils"
+                }
+              ]
+            }
+          ],
+          "deployment_info": [
+            {
+              "cluster": "myCluster",
+              "status": "CURRENT",
+              "totalHostCount": 100,
+              "hosts": ["host1", "host2"]
+            },
+            {
+              "cluster": "anotherCluster",
+              "status": "INSTALLED",
+              "totalHostCount": 100,
+              "hosts": ["host1", "host2"]
+            }
+          ]
+        }
+      };
+
+      deferred.resolve(mockData.RepositoryVersion);
+      return deferred.promise;
+    },
+    getStackRepositories: function () {
+      var deferred = $q.defer();
+      var mockData = {
+        "repositories": [
+          {
+            "os": "redhat5",
+            "baseurls": [
+              {
+                "id": "HDP-2.2.0.1-885",
+                "type": "HDP",
+                "baseurl": ""
+              },
+              {
+                "id": "HDP-UTILS-1.0.0.20",
+                "type": "HDP-UTILS",
+                "baseurl": ""
+              }
+            ]
+          },
+          {
+            "os": "redhat6",
+            "baseurls": [
+              {
+                "id": "HDP-2.2.0.1-885",
+                "type": "HDP",
+                "baseurl": ""
+              },
+              {
+                "id": "HDP-UTILS-1.0.0.20",
+                "type": "HDP-UTILS",
+                "baseurl": ""
+              }
+            ]
+          },
+          {
+            "os": "sles11",
+            "baseurls": [
+              {
+                "id": "HDP-2.2.0.1-885",
+                "type": "HDP",
+                "baseurl": ""
+              },
+              {
+                "id": "HDP-UTILS-1.0.0.20",
+                "type": "HDP-UTILS",
+                "baseurl": ""
+              }
+            ]
+          },
+          {
+            "os": "ubuntu12",
+            "baseurls": [
+              {
+                "id": "HDP-2.2.0.1-885",
+                "type": "HDP",
+                "baseurl": ""
+              },
+              {
+                "id": "HDP-UTILS-1.0.0.20",
+                "type": "HDP-UTILS",
+                "baseurl": ""
+              }
+            ]
+          }
+        ]
+      };
+
+      deferred.resolve(mockData.repositories);
+      return deferred.promise;
     }
   };
 }]);

http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css b/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css
index 5473169..36d934d 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css
@@ -474,7 +474,7 @@ a.gotoinstance{
   margin-left: 10px;
 }
 
-.create-view-form, .register-version-form{
+.create-view-form, .register-version-form, .edit-version-form {
   padding-bottom: 50px;
 }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/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 b13ebdd..11e954f 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
@@ -17,7 +17,7 @@
 -->
 
 <ol class="breadcrumb">
-  <li><a href="#/clusters/{{clusterName}}/stackversions">Versions</a></li>
+  <li><a href="#/stackVersions">Versions</a></li>
   <li class="active">Register Version</li>
 </ol>
 <hr>

http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/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
new file mode 100644
index 0000000..8aa9415
--- /dev/null
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/edit.html
@@ -0,0 +1,118 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<div class="clearfix">
+  <ol class="breadcrumb pull-left">
+    <li><a href="#/stackVersions">Versions</a></li>
+    <li class="active">{{stackVersion.version}}</li>
+  </ol>
+  <div class="pull-right top-margin-4" ng-switch="deleteEnabled">
+    <button ng-switch-when="false" class="btn disabled btn-default" tooltip="Cannot Delete Static Instances">Deregister
+      Version
+    </button>
+    <button ng-switch-when="true" class="btn btn-danger" ng-click="deleteInstance(stackVersion)">Deregister Version
+    </button>
+  </div>
+</div>
+<hr>
+<form class="form-horizontal edit-version-form" role="form" name="form-editVersionForm" novalidate>
+  <div class="panel panel-default">
+    <div class="panel-heading clearfix">
+      <h3 class="panel-title pull-left">Details</h3>
+      <div class="pull-right" ng-switch="editVersionDisabled">
+        <a href ng-switch-when="true" ng-click="toggleVersionEdit()" ng-show="editVersionDisabled" class="settings-edit-toggle"> <span class="glyphicon glyphicon-pencil" ></span> Edit</a>
+        <span ng-switch-when="false"> <span class="glyphicon glyphicon-pencil" ></span> Edit</span>
+      </div>
+    </div>
+    <div class="panel-body">
+      <div class="form-group">
+        <div class="col-sm-3"><label class="control-label">Stack</label></div>
+        <div class="col-sm-9">{{stackVersion.stack}}</div>
+      </div>
+      <div class="form-group">
+        <div class="col-sm-3"><label class="control-label">Upgrade Pack</label></div>
+        <div class="col-sm-9">{{stackVersion.upgrade_pack}}</div>
+      </div>
+      <div class="form-group">
+        <div class="col-sm-3"><label class="control-label">Version Name</label></div>
+        <div class="col-sm-3"><input type="text" class="form-control" placeholder="Version Name" ng-model="stackVersion.display_name" ng-disabled="editVersionDisabled"></div>
+      </div>
+    </div>
+  </div>
+
+  <div class="panel panel-default">
+    <div class="panel-heading">
+      <h3 class="panel-title">Clusters</h3>
+    </div>
+    <div class="panel-body">
+      <div ng-repeat="cluster in stackVersion.deployment_info">
+        <div class="col-sm-4">
+          <a href>
+            <i class="glyphicon glyphicon-cloud"></i>
+            {{cluster.cluster}}
+          </a>&nbsp;
+          <button type="button" class="btn btn-default">{{cluster.status}}</button>
+        </div>
+      </div>
+    </div>
+  </div>
+
+  <div class="panel panel-default">
+    <div class="panel-heading">
+      <h3 class="panel-title">Repositories</h3>
+    </div>
+    <div class="panel-body ">
+      <div class="alert alert-info" role="alert">
+        Provide Base URLs for the Operating Systems you are configuring. Uncheck all other Operating Systems.
+      </div>
+      <div class="border-bottom bottom-margin clearfix">
+        <div class="col-sm-3"><h5><label>OS</label></h5></div>
+        <div class="col-sm-3"><h5><label>Name</label></h5></div>
+        <div class="col-sm-6"><h5><label>Base URL</label></h5></div>
+      </div>
+      <div class="clearfix border-bottom bottom-margin" ng-repeat="repository in stackVersion.repositories">
+        <div class="col-sm-3">
+          <div class="checkbox">
+            <label>
+              <input type="checkbox" ng-model="repository.selected"> {{repository.os}}
+            </label>
+          </div>
+        </div>
+        <div class="col-sm-9">
+          <div class="form-group" ng-repeat="baseUrl in repository.baseurls">
+            <div class="col-sm-4"><label class="control-label">{{baseUrl.type}}</label></div>
+            <div class="col-sm-8"><input type="text" class="form-control" ng-model="baseUrl.baseurl"></div>
+          </div>
+        </div>
+      </div>
+      <div class="clearfix">
+        <div class="col-sm-12">
+          <div class="checkbox">
+            <label>
+              <input type="checkbox" ng-model="skipValidation"> Skip Repository Base URL validation (Advanced) <span class="glyphicon glyphicon-question-sign" tooltip="Tooltip text"></span>
+            </label>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <div class="col-sm-12">
+    <button class="btn btn-primary pull-right left-margin" ng-click="save()">Save</button>
+    <button class="btn btn-default pull-right" ng-click="cancel()">Cancel</button>
+  </div>
+</form>

http://git-wip-us.apache.org/repos/asf/ambari/blob/6f2875ce/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 f75695f..31b1f61 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
@@ -56,9 +56,10 @@
     <tbody>
     <tr ng-repeat="stack in stacks">
       <td class="col-small">{{stack.name}}</td>
-      <td class="col-medium"><a href>{{stack.version}}</a></td>
+      <td class="col-medium"><a href="#/stackVersions/{{stack.version}}/edit">{{stack.version}}</a></td>
       <td class="col-small">
         <a href ng-show="stack.cluster">
+          <i class="glyphicon glyphicon-cloud"></i>
           {{stack.cluster}}
         </a>
         <span ng-show="!stack.cluster">None</span>