You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2014/08/19 05:39:54 UTC
[01/12] git commit: AMBARI-6901. Flume agents are absent after
configuring flume.conf and restart. (jaimin)
Repository: ambari
Updated Branches:
refs/heads/branch-alerts-dev 09edccfcc -> abc7f6283
AMBARI-6901. Flume agents are absent after configuring flume.conf and restart. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5af89a58
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5af89a58
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5af89a58
Branch: refs/heads/branch-alerts-dev
Commit: 5af89a584a2e3ca50cde460ddfff13117e5aa179
Parents: a3749ee
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Mon Aug 18 13:21:45 2014 -0700
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:34 2014 -0400
----------------------------------------------------------------------
.../services/FLUME/configuration/flume-conf.xml | 2 +-
ambari-web/app/data/HDP2/site_properties.js | 24 ++++++++++----------
2 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/5af89a58/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-conf.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-conf.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-conf.xml
index 838491d..74a4c15 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-conf.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-conf.xml
@@ -22,7 +22,7 @@
<configuration supports_final="false">
<property>
- <name>flume-content</name>
+ <name>content</name>
<description>Describe all the Flume agent configurations</description>
<value>
# Flume agent config
http://git-wip-us.apache.org/repos/asf/ambari/blob/5af89a58/ambari-web/app/data/HDP2/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/site_properties.js b/ambari-web/app/data/HDP2/site_properties.js
index edadbc8..169840f 100644
--- a/ambari-web/app/data/HDP2/site_properties.js
+++ b/ambari-web/app/data/HDP2/site_properties.js
@@ -1640,7 +1640,7 @@ module.exports =
/********************************************* flume-agent *****************************/
{
"id": "site property",
- "name": "flume-content",
+ "name": "content",
"displayName": "content",
"showLabel": false,
"isRequired": false,
@@ -1966,17 +1966,6 @@ module.exports =
},
{
"id": "puppet var",
- "name": "min_user_id",
- "displayName": "Minimum user ID for submitting job",
- "isOverridable": true,
- "displayType": "int",
- "isVisible": true,
- "serviceName": "YARN",
- "filename": "yarn-env.xml",
- "category": "Advanced"
- },
- {
- "id": "puppet var",
"name": "yarn_pid_dir_prefix",
"displayName": "YARN PID Dir Prefix",
"description": "",
@@ -1991,6 +1980,17 @@ module.exports =
},
{
"id": "puppet var",
+ "name": "min_user_id",
+ "displayName": "Minimum user ID for submitting job",
+ "isOverridable": true,
+ "displayType": "int",
+ "isVisible": true,
+ "serviceName": "YARN",
+ "filename": "yarn-env.xml",
+ "category": "Advanced yarn-env"
+ },
+ {
+ "id": "puppet var",
"name": "ats_host",
"displayName": "App Timeline Server",
"description": "Application Timeline Server Host",
[06/12] git commit: AMBARI-6897. View Unit Test Failure. (mahadev)
Posted by jo...@apache.org.
AMBARI-6897. View Unit Test Failure. (mahadev)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b445ec82
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b445ec82
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b445ec82
Branch: refs/heads/branch-alerts-dev
Commit: b445ec82557c578bb44e1e4fdb62b1666597ce76
Parents: 12ec45b
Author: Mahadev Konar <ma...@apache.org>
Authored: Mon Aug 18 10:49:53 2014 -0700
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:34 2014 -0400
----------------------------------------------------------------------
.../apache/ambari/server/view/ViewRegistry.java | 20 ++++++++---------
.../ambari/server/view/ViewRegistryTest.java | 23 +++++++++++---------
2 files changed, 22 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/b445ec82/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
index 82d84f6..65a48b4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
@@ -1053,15 +1053,6 @@ public class ViewRegistry {
throws Exception {
String viewName = view.getName();
- // get or create an admin resource type to represent this view
- ResourceTypeEntity resourceTypeEntity = resourceTypeDAO.findByName(viewName);
- if (resourceTypeEntity == null) {
- resourceTypeEntity = new ResourceTypeEntity();
- resourceTypeEntity.setName(view.getName());
- resourceTypeDAO.create(resourceTypeEntity);
- }
- view.setResourceType(resourceTypeEntity);
-
ViewEntity persistedView = viewDAO.findByName(viewName);
// if the view is not yet persisted ...
@@ -1070,11 +1061,18 @@ public class ViewRegistry {
LOG.debug("Creating View " + viewName + ".");
}
+ // get or create an admin resource type to represent this view
+ ResourceTypeEntity resourceTypeEntity = resourceTypeDAO.findByName(viewName);
+ if (resourceTypeEntity == null) {
+ resourceTypeEntity = view.getResourceType();
+ resourceTypeDAO.create(resourceTypeEntity);
+ }
+
for( ViewInstanceEntity instance : view.getInstances()) {
// create an admin resource to represent this view instance
ResourceEntity resourceEntity = new ResourceEntity();
- resourceEntity.setResourceType(resourceTypeEntity);
+ resourceEntity.setResourceType(view.getResourceType());
resourceDAO.create(resourceEntity);
instance.setResource(resourceEntity);
@@ -1146,7 +1144,7 @@ public class ViewRegistry {
for (ViewInstanceEntity instance : xmlInstanceEntityMap.values()) {
// create an admin resource to represent this view instance
ResourceEntity resourceEntity = new ResourceEntity();
- resourceEntity.setResourceType(resourceTypeEntity);
+ resourceEntity.setResourceType(view.getResourceType());
resourceDAO.create(resourceEntity);
instance.setResource(resourceEntity);
http://git-wip-us.apache.org/repos/asf/ambari/blob/b445ec82/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
index 77990a7..21a00ed 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
@@ -173,12 +173,10 @@ public class ViewRegistryTest {
ViewDAO vDAO = createMock(ViewDAO.class);
ResourceDAO rDAO = createNiceMock(ResourceDAO.class);
- ResourceTypeDAO rtDAO = createNiceMock(ResourceTypeDAO.class);
ViewInstanceDAO viDAO = createNiceMock(ViewInstanceDAO.class);
ViewRegistry.setViewDAO(vDAO);
ViewRegistry.setResourceDAO(rDAO);
- ViewRegistry.setResourceTypeDAO(rtDAO);
ViewRegistry.setInstanceDAO(viDAO);
ViewEntity viewDefinition = ViewEntityTest.getViewEntity();
@@ -261,15 +259,11 @@ public class ViewRegistryTest {
expect(vDAO.findAll()).andReturn(Collections.<ViewEntity>emptyList());
- expect(rtDAO.findByName("MY_VIEW{1.0.0}")).andReturn(null);
- rtDAO.create(EasyMock.anyObject(ResourceTypeEntity.class));
- EasyMock.expectLastCall().anyTimes();
-
expect(viDAO.merge(EasyMock.anyObject(ViewInstanceEntity.class))).andReturn(null).times(2);
// replay mocks
replay(configuration, viewDir, extractedArchiveDir, viewArchive, archiveDir, entryFile, classesDir,
- libDir, fileEntry, viewJarFile, enumeration, jarEntry, is, fos, rDAO, rtDAO, vDAO, viDAO);
+ libDir, fileEntry, viewJarFile, enumeration, jarEntry, is, fos, rDAO, vDAO, viDAO);
ViewRegistry registry = ViewRegistry.getInstance();
registry.setHelper(new TestViewRegistryHelper(viewConfigs, files, outputStreams, jarFiles));
@@ -280,7 +274,7 @@ public class ViewRegistryTest {
// verify mocks
verify(configuration, viewDir, extractedArchiveDir, viewArchive, archiveDir, entryFile, classesDir,
- libDir, fileEntry, viewJarFile, enumeration, jarEntry, is, fos, rDAO, rtDAO, vDAO, viDAO);
+ libDir, fileEntry, viewJarFile, enumeration, jarEntry, is, fos, rDAO, vDAO, viDAO);
}
@Test
@@ -386,6 +380,7 @@ public class ViewRegistryTest {
expect(fileEntry.toURI()).andReturn(new URI("file:./"));
expect(vDAO.findAll()).andReturn(Collections.<ViewEntity>emptyList());
+ expect(vDAO.findByName("MY_VIEW{1.0.0}")).andReturn(viewDefinition);
// replay mocks
replay(configuration, viewDir, extractedArchiveDir, viewArchive, archiveDir, entryFile, classesDir,
@@ -578,7 +573,7 @@ public class ViewRegistryTest {
ViewEntity viewEntity = getViewEntity(config, ambariConfig, getClass().getClassLoader(), "");
ViewInstanceEntity viewInstanceEntity = getViewInstanceEntity(viewEntity, config.getInstances().get(0));
- replay(viewDAO, viewInstanceDAO, securityHelper);
+ replay(viewDAO, viewInstanceDAO, securityHelper, rtDAO);
registry.addDefinition(viewEntity);
try {
@@ -616,7 +611,7 @@ public class ViewRegistryTest {
ViewInstanceEntity viewInstanceEntity = getViewInstanceEntity(viewEntity, config.getInstances().get(0));
viewInstanceEntity.setViewName("BOGUS_VIEW");
- replay(viewDAO, viewInstanceDAO, securityHelper);
+ replay(viewDAO, viewInstanceDAO, securityHelper, rtDAO);
registry.addDefinition(viewEntity);
try {
@@ -844,6 +839,14 @@ public class ViewRegistryTest {
public static void clear() {
ViewRegistry.getInstance().clear();
+
+ ViewRegistry.setInstanceDAO(null);
+ ViewRegistry.setMemberDAO(null);
+ ViewRegistry.setPrivilegeDAO(null);
+ ViewRegistry.setResourceDAO(null);
+ ViewRegistry.setResourceTypeDAO(null);
+ ViewRegistry.setSecurityHelper(null);
+ ViewRegistry.setUserDAO(null);
ViewRegistry.setViewDAO(null);
}
[02/12] git commit: AMBARI-6896. Clients set to install after go back
to "Assign Slaves and Clients" in Add Host wizard (Max Shepel via
alexantonenko)
Posted by jo...@apache.org.
AMBARI-6896. Clients set to install after go back to "Assign Slaves and Clients" in Add Host wizard (Max Shepel via alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/64655a05
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/64655a05
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/64655a05
Branch: refs/heads/branch-alerts-dev
Commit: 64655a050bc47bb33f2d1947e46072e4a223fdc0
Parents: 09edccf
Author: Alex Antonenko <hi...@gmail.com>
Authored: Mon Aug 18 19:42:19 2014 +0300
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:34 2014 -0400
----------------------------------------------------------------------
.../app/controllers/wizard/step6_controller.js | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/64655a05/ambari-web/app/controllers/wizard/step6_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step6_controller.js b/ambari-web/app/controllers/wizard/step6_controller.js
index a3e97ce..9fe8685 100644
--- a/ambari-web/app/controllers/wizard/step6_controller.js
+++ b/ambari-web/app/controllers/wizard/step6_controller.js
@@ -60,6 +60,12 @@ App.WizardStep6Controller = Em.Controller.extend({
isLoaded: false,
/**
+ * Indication if user has chosen hosts to install clients
+ * @type {bool}
+ */
+ isClientsSet: false,
+
+ /**
* Define state for submit button
* @type {bool}
*/
@@ -425,11 +431,14 @@ App.WizardStep6Controller = Em.Controller.extend({
* @param hostsObj
*/
selectClientHost: function (hostsObj) {
- var nonMasterHost = hostsObj.findProperty('hasMaster', false);
- var clientHost = !!nonMasterHost ? nonMasterHost : hostsObj[hostsObj.length - 1]; // last host
- var clientCheckBox = clientHost.get('checkboxes').findProperty('component', 'CLIENT');
- if (clientCheckBox) {
- clientCheckBox.set('checked', true);
+ if (!this.get('isClientsSet')) {
+ var nonMasterHost = hostsObj.findProperty('hasMaster', false);
+ var clientHost = !!nonMasterHost ? nonMasterHost : hostsObj[hostsObj.length - 1]; // last host
+ var clientCheckBox = clientHost.get('checkboxes').findProperty('component', 'CLIENT');
+ if (clientCheckBox) {
+ clientCheckBox.set('checked', true);
+ }
+ this.set('isClientsSet', true);
}
},
[09/12] git commit: AMBARI-6868 - Ambari should disable web directory
listing by default (Alejandro Fernandez via jonathanhurley)
Posted by jo...@apache.org.
AMBARI-6868 - Ambari should disable web directory listing by default (Alejandro Fernandez via jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/08e5fc40
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/08e5fc40
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/08e5fc40
Branch: refs/heads/branch-alerts-dev
Commit: 08e5fc40e9791de9c0ef563d6c7d9772c2c0dda4
Parents: 7097e82
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Mon Aug 18 16:32:28 2014 -0400
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:35 2014 -0400
----------------------------------------------------------------------
.../main/java/org/apache/ambari/server/controller/AmbariServer.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/08e5fc40/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
index d1957c9..489fbb2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
@@ -225,6 +225,7 @@ public class AmbariServer {
"/", ServletContextHandler.SESSIONS );
ServletHolder rootServlet = root.addServlet(DefaultServlet.class, "/");
+ rootServlet.setInitParameter("dirAllowed", "false");
rootServlet.setInitOrder(1);
/* Configure default servlet for agent server */
[03/12] git commit: AMBARI-6900. Upgrade DB Tests Fail. value column
problem. (mahadev)
Posted by jo...@apache.org.
AMBARI-6900. Upgrade DB Tests Fail. value column problem. (mahadev)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a3749ee3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a3749ee3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a3749ee3
Branch: refs/heads/branch-alerts-dev
Commit: a3749ee38afeaef18e5192d5764d0742e9cc0c6a
Parents: b445ec8
Author: Mahadev Konar <ma...@apache.org>
Authored: Mon Aug 18 13:00:52 2014 -0700
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:34 2014 -0400
----------------------------------------------------------------------
.../server/orm/entities/AlertCurrentEntity.java | 2 +-
.../orm/entities/AlertDefinitionEntity.java | 2 +-
.../server/orm/entities/AlertGroupEntity.java | 2 +-
.../server/orm/entities/AlertHistoryEntity.java | 2 +-
.../server/orm/entities/AlertNoticeEntity.java | 2 +-
.../server/orm/entities/AlertTargetEntity.java | 2 +-
.../orm/entities/ClusterConfigEntity.java | 2 +-
.../server/orm/entities/ClusterEntity.java | 2 +-
.../server/orm/entities/ConfigGroupEntity.java | 2 +-
.../ambari/server/orm/entities/GroupEntity.java | 2 +-
.../orm/entities/HostRoleCommandEntity.java | 2 +-
.../server/orm/entities/MemberEntity.java | 2 +-
.../server/orm/entities/PermissionEntity.java | 2 +-
.../server/orm/entities/PrincipalEntity.java | 2 +-
.../orm/entities/PrincipalTypeEntity.java | 2 +-
.../server/orm/entities/PrivilegeEntity.java | 2 +-
.../entities/RequestOperationLevelEntity.java | 2 +-
.../entities/RequestResourceFilterEntity.java | 2 +-
.../orm/entities/RequestScheduleEntity.java | 2 +-
.../server/orm/entities/ResourceEntity.java | 2 +-
.../server/orm/entities/ResourceTypeEntity.java | 2 +-
.../orm/entities/ServiceConfigEntity.java | 2 +-
.../ambari/server/orm/entities/UserEntity.java | 2 +-
.../server/orm/entities/ViewEntityEntity.java | 2 +-
.../server/orm/entities/ViewInstanceEntity.java | 2 +-
.../server/upgrade/UpgradeCatalog170.java | 85 +++++++++-----------
.../main/resources/Ambari-DDL-MySQL-CREATE.sql | 52 ++++++------
.../main/resources/Ambari-DDL-Oracle-CREATE.sql | 52 ++++++------
.../resources/Ambari-DDL-Postgres-CREATE.sql | 4 +-
.../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql | 4 +-
30 files changed, 121 insertions(+), 126 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java
index d00cbc7..cde61f2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java
@@ -43,7 +43,7 @@ import org.apache.ambari.server.state.MaintenanceState;
*/
@Entity
@Table(name = "alert_current")
-@TableGenerator(name = "alert_current_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value", pkColumnValue = "alert_current_id_seq", initialValue = 0, allocationSize = 1)
+@TableGenerator(name = "alert_current_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value", pkColumnValue = "alert_current_id_seq", initialValue = 0, allocationSize = 1)
@NamedQueries({
@NamedQuery(name = "AlertCurrentEntity.findAll", query = "SELECT alert FROM AlertCurrentEntity alert"),
@NamedQuery(name = "AlertCurrentEntity.findByService", query = "SELECT alert FROM AlertCurrentEntity alert JOIN alert.alertHistory history WHERE history.clusterId = :clusterId AND history.serviceName = :serviceName"),
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java
index 66a3af0..4e8b3b9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java
@@ -48,7 +48,7 @@ import org.apache.ambari.server.state.alert.Scope;
@Entity
@Table(name = "alert_definition", uniqueConstraints = @UniqueConstraint(columnNames = {
"cluster_id", "definition_name" }))
-@TableGenerator(name = "alert_definition_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value", pkColumnValue = "alert_definition_id_seq", initialValue = 0, allocationSize = 1)
+@TableGenerator(name = "alert_definition_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value", pkColumnValue = "alert_definition_id_seq", initialValue = 0, allocationSize = 1)
@NamedQueries({
@NamedQuery(name = "AlertDefinitionEntity.findAll", query = "SELECT ad FROM AlertDefinitionEntity ad"),
@NamedQuery(name = "AlertDefinitionEntity.findAllInCluster", query = "SELECT ad FROM AlertDefinitionEntity ad WHERE ad.clusterId = :clusterId"),
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertGroupEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertGroupEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertGroupEntity.java
index 89f040c..976855e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertGroupEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertGroupEntity.java
@@ -43,7 +43,7 @@ import javax.persistence.UniqueConstraint;
@Entity
@Table(name = "alert_group", uniqueConstraints = @UniqueConstraint(columnNames = {
"cluster_id", "group_name" }))
-@TableGenerator(name = "alert_group_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value", pkColumnValue = "alert_group_id_seq", initialValue = 0, allocationSize = 1)
+@TableGenerator(name = "alert_group_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value", pkColumnValue = "alert_group_id_seq", initialValue = 0, allocationSize = 1)
@NamedQueries({
@NamedQuery(name = "AlertGroupEntity.findAll", query = "SELECT alertGroup FROM AlertGroupEntity alertGroup"),
@NamedQuery(name = "AlertGroupEntity.findAllInCluster", query = "SELECT alertGroup FROM AlertGroupEntity alertGroup WHERE alertGroup.clusterId = :clusterId"),
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java
index 7855de4..a671ae1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java
@@ -42,7 +42,7 @@ import org.apache.ambari.server.state.AlertState;
*/
@Entity
@Table(name = "alert_history")
-@TableGenerator(name = "alert_history_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value", pkColumnValue = "alert_history_id_seq", initialValue = 0, allocationSize = 1)
+@TableGenerator(name = "alert_history_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value", pkColumnValue = "alert_history_id_seq", initialValue = 0, allocationSize = 1)
@NamedQueries({
@NamedQuery(name = "AlertHistoryEntity.findAll", query = "SELECT alertHistory FROM AlertHistoryEntity alertHistory"),
@NamedQuery(name = "AlertHistoryEntity.findAllInCluster", query = "SELECT alertHistory FROM AlertHistoryEntity alertHistory WHERE alertHistory.clusterId = :clusterId"),
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java
index 41bc1d8..af541cd 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java
@@ -42,7 +42,7 @@ import org.apache.ambari.server.state.NotificationState;
*/
@Entity
@Table(name = "alert_notice")
-@TableGenerator(name = "alert_notice_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value", pkColumnValue = "alert_notice_id_seq", initialValue = 0, allocationSize = 1)
+@TableGenerator(name = "alert_notice_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value", pkColumnValue = "alert_notice_id_seq", initialValue = 0, allocationSize = 1)
@NamedQueries({
@NamedQuery(name = "AlertNoticeEntity.findAll", query = "SELECT notice FROM AlertNoticeEntity notice"),
@NamedQuery(name = "AlertNoticeEntity.removeByDefinitionId", query = "DELETE FROM AlertNoticeEntity notice WHERE notice.alertHistory.alertDefinition.definitionId = :definitionId") })
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertTargetEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertTargetEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertTargetEntity.java
index 74da92c..89728e5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertTargetEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertTargetEntity.java
@@ -43,7 +43,7 @@ import javax.persistence.TableGenerator;
*/
@Entity
@Table(name = "alert_target")
-@TableGenerator(name = "alert_target_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value", pkColumnValue = "alert_target_id_seq", initialValue = 0, allocationSize = 1)
+@TableGenerator(name = "alert_target_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value", pkColumnValue = "alert_target_id_seq", initialValue = 0, allocationSize = 1)
@NamedQueries({
@NamedQuery(name = "AlertTargetEntity.findAll", query = "SELECT alertTarget FROM AlertTargetEntity alertTarget"),
@NamedQuery(name = "AlertTargetEntity.findByName", query = "SELECT alertTarget FROM AlertTargetEntity alertTarget WHERE alertTarget.targetName = :targetName"), })
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
index f513ee2..da8fac6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
@@ -26,7 +26,7 @@ import java.util.Collection;
uniqueConstraints = {@UniqueConstraint(name = "UQ_config_type_tag", columnNames = {"cluster_id", "type_name", "version_tag"}),
@UniqueConstraint(name = "UQ_config_type_version", columnNames = {"cluster_id", "type_name", "version"})})
@TableGenerator(name = "config_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "config_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterEntity.java
index 942c868..292a4d3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterEntity.java
@@ -38,7 +38,7 @@ import static org.apache.commons.lang.StringUtils.defaultString;
})
@Entity
@TableGenerator(name = "cluster_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "cluster_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ConfigGroupEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ConfigGroupEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ConfigGroupEntity.java
index 705adfd..a5e293c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ConfigGroupEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ConfigGroupEntity.java
@@ -47,7 +47,7 @@ import java.util.Collection;
"WHERE configgroup.tag=:tagName")
})
@TableGenerator(name = "configgroup_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "configgroup_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/GroupEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/GroupEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/GroupEntity.java
index 5349f1e..9c3411e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/GroupEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/GroupEntity.java
@@ -40,7 +40,7 @@ import javax.persistence.UniqueConstraint;
@TableGenerator(name = "group_id_generator",
table = "ambari_sequences",
pkColumnName = "sequence_name",
- valueColumnName = "value",
+ valueColumnName = "sequence_value",
pkColumnValue = "group_id_seq",
initialValue = 1,
allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostRoleCommandEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostRoleCommandEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostRoleCommandEntity.java
index 490b289..599156a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostRoleCommandEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostRoleCommandEntity.java
@@ -48,7 +48,7 @@ import org.apache.commons.lang.ArrayUtils;
@Table(name = "host_role_command")
@Entity
@TableGenerator(name = "host_role_command_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "host_role_command_id_seq"
, initialValue = 1
, allocationSize = 50
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MemberEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MemberEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MemberEntity.java
index 04b1a87..5d9e6b1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MemberEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MemberEntity.java
@@ -33,7 +33,7 @@ import javax.persistence.UniqueConstraint;
@TableGenerator(name = "member_id_generator",
table = "ambari_sequences",
pkColumnName = "sequence_name",
- valueColumnName = "value",
+ valueColumnName = "sequence_value",
pkColumnValue = "member_id_seq",
initialValue = 1,
allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PermissionEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PermissionEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PermissionEntity.java
index 4702d05..6d1d873 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PermissionEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PermissionEntity.java
@@ -36,7 +36,7 @@ import javax.persistence.TableGenerator;
@Table(name = "adminpermission")
@Entity
@TableGenerator(name = "permission_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "permission_id_seq"
, initialValue = 5
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalEntity.java
index 51438cd..e0767a3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalEntity.java
@@ -39,7 +39,7 @@ import javax.persistence.TableGenerator;
@Table(name = "adminprincipal")
@Entity
@TableGenerator(name = "principal_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "principal_id_seq"
, initialValue = 2
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalTypeEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalTypeEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalTypeEntity.java
index 2f37592..f7c0aa1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalTypeEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalTypeEntity.java
@@ -26,7 +26,7 @@ import javax.persistence.*;
@Table(name = "adminprincipaltype")
@Entity
@TableGenerator(name = "principal_type_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "principal_type_id_seq"
, initialValue = 3
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrivilegeEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrivilegeEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrivilegeEntity.java
index fe97c7d..d86a22c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrivilegeEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrivilegeEntity.java
@@ -36,7 +36,7 @@ import javax.persistence.TableGenerator;
@Table(name = "adminprivilege")
@Entity
@TableGenerator(name = "privilege_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "privilege_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestOperationLevelEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestOperationLevelEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestOperationLevelEntity.java
index b7b3133..9f8453c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestOperationLevelEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestOperationLevelEntity.java
@@ -36,7 +36,7 @@ import javax.persistence.TableGenerator;
@Entity
@Table(name = "requestoperationlevel")
@TableGenerator(name = "operation_level_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "operation_level_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestResourceFilterEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestResourceFilterEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestResourceFilterEntity.java
index 4307d08..0dc7807 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestResourceFilterEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestResourceFilterEntity.java
@@ -32,7 +32,7 @@ import javax.persistence.TableGenerator;
@Entity
@Table(name = "requestresourcefilter")
@TableGenerator(name = "resourcefilter_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "resourcefilter_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestScheduleEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestScheduleEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestScheduleEntity.java
index 60df7b4..5ed3480 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestScheduleEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestScheduleEntity.java
@@ -43,7 +43,7 @@ import java.util.List;
"WHERE reqSchedule.status=:status")
})
@TableGenerator(name = "schedule_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "requestschedule_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceEntity.java
index 28c7fde..0b7e591 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceEntity.java
@@ -26,7 +26,7 @@ import javax.persistence.*;
@Table(name = "adminresource")
@Entity
@TableGenerator(name = "resource_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "resource_id_seq"
, initialValue = 2
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceTypeEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceTypeEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceTypeEntity.java
index 0bcc6ab..6cebf08 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceTypeEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ResourceTypeEntity.java
@@ -26,7 +26,7 @@ import javax.persistence.*;
@Table(name = "adminresourcetype")
@Entity
@TableGenerator(name = "resource_type_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "resource_type_id_seq"
, initialValue = 4
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java
index ce47e28..86557ac 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java
@@ -37,7 +37,7 @@ import java.util.List;
@Entity
@Table(name = "serviceconfig")
@TableGenerator(name = "service_config_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "service_config_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java
index 90410be..a6c5548 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java
@@ -29,7 +29,7 @@ import java.util.Set;
@NamedQuery(name = "ldapUserByName", query = "SELECT user FROM UserEntity user where lower(user.userName)=:username AND user.ldapUser=true")
})
@TableGenerator(name = "user_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "user_id_seq"
, initialValue = 2
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntityEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntityEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntityEntity.java
index cae57fc..30d6e23 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntityEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntityEntity.java
@@ -36,7 +36,7 @@ import javax.persistence.TableGenerator;
@Table(name = "viewentity")
@Entity
@TableGenerator(name = "viewentity_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "viewentity_id_seq"
, initialValue = 1
, allocationSize = 50
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewInstanceEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewInstanceEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewInstanceEntity.java
index 3f1cd8f..66917e7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewInstanceEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewInstanceEntity.java
@@ -61,7 +61,7 @@ import org.apache.ambari.view.ViewInstanceDefinition;
@NamedQuery(name = "allViewInstances",
query = "SELECT viewInstance FROM ViewInstanceEntity viewInstance")
@TableGenerator(name = "view_instance_id_generator",
- table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "value"
+ table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value"
, pkColumnValue = "view_instance_id_seq"
, initialValue = 1
, allocationSize = 1
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
index 33a87a7..bef01c1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
@@ -129,8 +129,11 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
@Override
protected void executeDDLUpdates() throws AmbariException, SQLException {
- List<DBColumnInfo> columns;
+ // needs to be executed first
+ renameSequenceValueColumnName();
+
String dbType = getDbType();
+ List<DBColumnInfo> columns;
// add group and members tables
columns = new ArrayList<DBColumnInfo>();
@@ -342,62 +345,37 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
new String[]{"cluster_id", "type_name", "version_tag"}, true);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('alert_definition_id_seq', 0)", false);
- //service config version sequences
- String valueColumnName = "\"value\"";
- if (Configuration.ORACLE_DB_NAME.equals(dbType)
- || Configuration.MYSQL_DB_NAME.equals(dbType)) {
- valueColumnName = "value";
- }
-
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('alert_definition_id_seq', 0)",
- false);
-
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('alert_group_id_seq', 0)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('alert_group_id_seq', 0)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('alert_target_id_seq', 0)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('alert_target_id_seq', 0)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('alert_history_id_seq', 0)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('alert_history_id_seq', 0)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('alert_notice_id_seq', 0)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('alert_notice_id_seq', 0)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('alert_current_id_seq', 0)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('alert_current_id_seq', 0)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('group_id_seq', 1)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('group_id_seq', 1)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('member_id_seq', 1)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('member_id_seq', 1)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('resource_type_id_seq', 4)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('resource_type_id_seq', 4)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('resource_id_seq', 2)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('resource_id_seq', 2)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('principal_type_id_seq', 3)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('principal_type_id_seq', 3)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('principal_id_seq', 2)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('principal_id_seq', 2)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('permission_id_seq', 5)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('permission_id_seq', 5)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('privilege_id_seq', 1)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('privilege_id_seq', 1)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('service_config_id_seq', 1)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('service_config_id_seq', 1)", false);
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('service_config_application_id_seq', 1)", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('service_config_application_id_seq', 1)", false);
long count = 1;
ResultSet resultSet = null;
@@ -412,8 +390,7 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
}
}
- dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, "
- + valueColumnName + ") " + "VALUES('config_id_seq', " + count + ")", false);
+ dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES('config_id_seq', " + count + ")", false);
dbAccessor.addFKConstraint("users", "FK_users_principal_id", "principal_id", "adminprincipal", "principal_id", true);
dbAccessor.addFKConstraint("clusters", "FK_clusters_resource_id", "resource_id", "adminresource", "resource_id", true);
@@ -433,6 +410,24 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
dbAccessor.executeQuery("ALTER TABLE adminpermission ADD CONSTRAINT UQ_perm_name_resource_type_id UNIQUE (permission_name, resource_type_id)");
}
+ /**
+ * Note that you can't use dbAccessor.renameColumn(...) here as the column name is a reserved word and
+ * thus requires custom approach for every database type.
+ */
+ private void renameSequenceValueColumnName() throws AmbariException, SQLException {
+ final String dbType = getDbType();
+ if (Configuration.MYSQL_DB_NAME.equals(dbType)) {
+ dbAccessor.executeQuery("ALTER TABLE ambari_sequences RENAME COLUMN \"value\" to sequence_value DECIMAL(38) NOT NULL");
+ } else if (Configuration.DERBY_DB_NAME.equals(dbType)) {
+ dbAccessor.executeQuery("RENAME COLUMN ambari_sequences.\"value\" to sequence_value");
+ } else if (Configuration.ORACLE_DB_NAME.equals(dbType)) {
+ dbAccessor.executeQuery("ALTER TABLE ambari_sequences RENAME COLUMN value to sequence_value");
+ } else {
+ // Postgres
+ dbAccessor.executeQuery("ALTER TABLE ambari_sequences RENAME COLUMN \"value\" to sequence_value");
+ }
+ }
+
private void populateConfigVersions() throws SQLException {
ResultSet resultSet = dbAccessor.executeSelect("SELECT DISTINCT type_name FROM clusterconfig ");
Set<String> configTypes = new HashSet<String>();
@@ -742,7 +737,7 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
updateConfigurationProperties("hbase-env",
Collections.singletonMap("hbase_regionserver_xmn_ratio", "0.2"), false,
false);
-
+
updateConfigurationProperties("yarn-env",
Collections.singletonMap("min_user_id", "1000"), false,
false);
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index 00f0e7c..b39ca5d 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -55,7 +55,7 @@ CREATE TABLE hostconfigmapping (create_timestamp BIGINT NOT NULL, host_name VARC
CREATE TABLE metainfo (`metainfo_key` VARCHAR(255), `metainfo_value` LONGTEXT, PRIMARY KEY (`metainfo_key`));
CREATE TABLE ClusterHostMapping (cluster_id BIGINT NOT NULL, host_name VARCHAR(255) NOT NULL, PRIMARY KEY (cluster_id, host_name));
CREATE TABLE user_roles (role_name VARCHAR(255) NOT NULL, user_id INTEGER NOT NULL, PRIMARY KEY (role_name, user_id));
-CREATE TABLE ambari_sequences (sequence_name VARCHAR(255), value DECIMAL(38) NOT NULL, PRIMARY KEY (sequence_name));
+CREATE TABLE ambari_sequences (sequence_name VARCHAR(255), sequence_value DECIMAL(38) NOT NULL, PRIMARY KEY (sequence_name));
CREATE TABLE confgroupclusterconfigmapping (config_group_id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, config_type VARCHAR(255) NOT NULL, version_tag VARCHAR(255) NOT NULL, user_name VARCHAR(255) DEFAULT '_db', create_timestamp BIGINT NOT NULL, PRIMARY KEY(config_group_id, cluster_id, config_type));
CREATE TABLE configgroup (group_id BIGINT, cluster_id BIGINT NOT NULL, group_name VARCHAR(255) NOT NULL, tag VARCHAR(1024) NOT NULL, description VARCHAR(1024), create_timestamp BIGINT NOT NULL, PRIMARY KEY(group_id));
CREATE TABLE configgrouphostmapping (config_group_id BIGINT NOT NULL, host_name VARCHAR(255) NOT NULL, PRIMARY KEY(config_group_id, host_name));
@@ -248,31 +248,31 @@ CREATE INDEX idx_alert_history_state on alert_history(alert_state);
CREATE INDEX idx_alert_group_name on alert_group(group_name);
CREATE INDEX idx_alert_notice_state on alert_notice(notify_state);
-INSERT INTO ambari_sequences(sequence_name, value) values ('cluster_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('host_role_command_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('user_id_seq', 2);
-INSERT INTO ambari_sequences(sequence_name, value) values ('group_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('member_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('configgroup_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('requestschedule_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('resourcefilter_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('viewentity_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('operation_level_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('view_instance_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('resource_type_id_seq', 4);
-INSERT INTO ambari_sequences(sequence_name, value) values ('resource_id_seq', 2);
-INSERT INTO ambari_sequences(sequence_name, value) values ('principal_type_id_seq', 3);
-INSERT INTO ambari_sequences(sequence_name, value) values ('principal_id_seq', 2);
-INSERT INTO ambari_sequences(sequence_name, value) values ('permission_id_seq', 5);
-INSERT INTO ambari_sequences(sequence_name, value) values ('privilege_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('config_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('service_config_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_definition_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_group_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_target_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_history_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_notice_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_current_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('cluster_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('host_role_command_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('user_id_seq', 2);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('group_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('member_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('configgroup_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('requestschedule_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('resourcefilter_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('viewentity_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('operation_level_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('view_instance_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('resource_type_id_seq', 4);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('resource_id_seq', 2);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('principal_type_id_seq', 3);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('principal_id_seq', 2);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('permission_id_seq', 5);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('privilege_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('config_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_config_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_definition_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_group_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_target_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_history_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_notice_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_current_id_seq', 0);
insert into adminresourcetype (resource_type_id, resource_type_name)
select 1, 'AMBARI'
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
index ccf99af..500313b 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -46,7 +46,7 @@ CREATE TABLE hostconfigmapping (create_timestamp NUMBER(19) NOT NULL, host_name
CREATE TABLE metainfo ("metainfo_key" VARCHAR2(255) NOT NULL, "metainfo_value" CLOB NULL, PRIMARY KEY ("metainfo_key"));
CREATE TABLE ClusterHostMapping (cluster_id NUMBER(19) NOT NULL, host_name VARCHAR2(255) NOT NULL, PRIMARY KEY (cluster_id, host_name));
CREATE TABLE user_roles (role_name VARCHAR2(255) NOT NULL, user_id NUMBER(10) NOT NULL, PRIMARY KEY (role_name, user_id));
-CREATE TABLE ambari_sequences (sequence_name VARCHAR2(50) NOT NULL, value NUMBER(38) NULL, PRIMARY KEY (sequence_name));
+CREATE TABLE ambari_sequences (sequence_name VARCHAR2(50) NOT NULL, sequence_value NUMBER(38) NULL, PRIMARY KEY (sequence_name));
CREATE TABLE configgroup (group_id NUMBER(19), cluster_id NUMBER(19) NOT NULL, group_name VARCHAR2(255) NOT NULL, tag VARCHAR2(1024) NOT NULL, description VARCHAR2(1024), create_timestamp NUMBER(19) NOT NULL, PRIMARY KEY(group_id));
CREATE TABLE confgroupclusterconfigmapping (config_group_id NUMBER(19) NOT NULL, cluster_id NUMBER(19) NOT NULL, config_type VARCHAR2(255) NOT NULL, version_tag VARCHAR2(255) NOT NULL, user_name VARCHAR2(255) DEFAULT '_db', create_timestamp NUMBER(19) NOT NULL, PRIMARY KEY(config_group_id, cluster_id, config_type));
CREATE TABLE configgrouphostmapping (config_group_id NUMBER(19) NOT NULL, host_name VARCHAR2(255) NOT NULL, PRIMARY KEY(config_group_id, host_name));
@@ -240,31 +240,31 @@ CREATE INDEX idx_alert_group_name on alert_group(group_name);
CREATE INDEX idx_alert_notice_state on alert_notice(notify_state);
---------inserting some data-----------
-INSERT INTO ambari_sequences(sequence_name, value) values ('host_role_command_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('user_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('group_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('member_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('cluster_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('configgroup_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('requestschedule_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('resourcefilter_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('viewentity_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('operation_level_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('view_instance_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('resource_type_id_seq', 4);
-INSERT INTO ambari_sequences(sequence_name, value) values ('resource_id_seq', 2);
-INSERT INTO ambari_sequences(sequence_name, value) values ('principal_type_id_seq', 3);
-INSERT INTO ambari_sequences(sequence_name, value) values ('principal_id_seq', 2);
-INSERT INTO ambari_sequences(sequence_name, value) values ('permission_id_seq', 5);
-INSERT INTO ambari_sequences(sequence_name, value) values ('privilege_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('config_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('service_config_id_seq', 1);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_definition_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_group_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_target_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_history_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_notice_id_seq', 0);
-INSERT INTO ambari_sequences(sequence_name, value) values ('alert_current_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('host_role_command_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('user_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('group_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('member_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('cluster_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('configgroup_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('requestschedule_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('resourcefilter_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('viewentity_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('operation_level_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('view_instance_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('resource_type_id_seq', 4);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('resource_id_seq', 2);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('principal_type_id_seq', 3);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('principal_id_seq', 2);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('permission_id_seq', 5);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('privilege_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('config_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_config_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_definition_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_group_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_target_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_history_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_notice_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_current_id_seq', 0);
INSERT INTO metainfo("metainfo_key", "metainfo_value") values ('version', '${ambariVersion}');
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index 9178336..a13f415 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -75,7 +75,7 @@ CREATE TABLE hostconfigmapping (cluster_id BIGINT NOT NULL, host_name VARCHAR(25
CREATE TABLE metainfo ("metainfo_key" VARCHAR(255), "metainfo_value" VARCHAR, PRIMARY KEY ("metainfo_key"));
-CREATE TABLE ambari_sequences (sequence_name VARCHAR(255) PRIMARY KEY, "value" BIGINT NOT NULL);
+CREATE TABLE ambari_sequences (sequence_name VARCHAR(255) PRIMARY KEY, sequence_value BIGINT NOT NULL);
CREATE TABLE configgroup (group_id BIGINT, cluster_id BIGINT NOT NULL, group_name VARCHAR(255) NOT NULL, tag VARCHAR(1024) NOT NULL, description VARCHAR(1024), create_timestamp BIGINT NOT NULL, PRIMARY KEY(group_id));
@@ -274,7 +274,7 @@ CREATE INDEX idx_alert_notice_state on alert_notice(notify_state);
---------inserting some data-----------
BEGIN;
- INSERT INTO ambari_sequences (sequence_name, "value")
+ INSERT INTO ambari_sequences (sequence_name, sequence_value)
SELECT 'cluster_id_seq', 1
UNION ALL
SELECT 'user_id_seq', 2
http://git-wip-us.apache.org/repos/asf/ambari/blob/a3749ee3/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
index 2dfea87..ff38b24 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
@@ -115,7 +115,7 @@ GRANT ALL PRIVILEGES ON TABLE ambari.hostconfigmapping TO :username;
CREATE TABLE ambari.metainfo ("metainfo_key" VARCHAR(255), "metainfo_value" VARCHAR, PRIMARY KEY ("metainfo_key"));
GRANT ALL PRIVILEGES ON TABLE ambari.metainfo TO :username;
-CREATE TABLE ambari.ambari_sequences (sequence_name VARCHAR(255) PRIMARY KEY, "value" BIGINT NOT NULL);
+CREATE TABLE ambari.ambari_sequences (sequence_name VARCHAR(255) PRIMARY KEY, sequence_value BIGINT NOT NULL);
GRANT ALL PRIVILEGES ON TABLE ambari.ambari_sequences TO :username;
CREATE TABLE ambari.configgroup (group_id BIGINT, cluster_id BIGINT NOT NULL, group_name VARCHAR(255) NOT NULL, tag VARCHAR(1024) NOT NULL, description VARCHAR(1024), create_timestamp BIGINT NOT NULL, PRIMARY KEY(group_id));
@@ -348,7 +348,7 @@ CREATE INDEX idx_alert_notice_state on ambari.alert_notice(notify_state);
---------inserting some data-----------
BEGIN;
-INSERT INTO ambari.ambari_sequences (sequence_name, "value")
+INSERT INTO ambari.ambari_sequences (sequence_name, sequence_value)
SELECT 'cluster_id_seq', 1
UNION ALL
SELECT 'user_id_seq', 2
[10/12] git commit: AMBARI-6908 - Alerts: AlertDefinition Should Have
a Label (jonathanhurley)
Posted by jo...@apache.org.
AMBARI-6908 - Alerts: AlertDefinition Should Have a Label (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7eb83709
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7eb83709
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7eb83709
Branch: refs/heads/branch-alerts-dev
Commit: 7eb837093e91b1531fad99c9d289c7b54cbac7f9
Parents: 4d1e7e1
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Mon Aug 18 21:01:32 2014 -0400
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:15:13 2014 -0400
----------------------------------------------------------------------
.../AlertDefinitionResourceProvider.java | 4 ++++
.../orm/entities/AlertDefinitionEntity.java | 22 ++++++++++++++++++++
.../server/upgrade/UpgradeCatalog170.java | 1 +
.../main/resources/Ambari-DDL-MySQL-CREATE.sql | 1 +
.../main/resources/Ambari-DDL-Oracle-CREATE.sql | 1 +
.../resources/Ambari-DDL-Postgres-CREATE.sql | 1 +
.../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql | 1 +
.../src/main/resources/properties.json | 1 +
.../AlertDefinitionResourceProviderTest.java | 13 +++++++++++-
.../server/upgrade/UpgradeCatalog170Test.java | 4 ++--
10 files changed, 46 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
index df6aa2d..f20a9a9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
@@ -64,6 +64,7 @@ public class AlertDefinitionResourceProvider extends AbstractControllerResourceP
protected static final String ALERT_DEF_CLUSTER_NAME = "AlertDefinition/cluster_name";
protected static final String ALERT_DEF_ID = "AlertDefinition/id";
protected static final String ALERT_DEF_NAME = "AlertDefinition/name";
+ protected static final String ALERT_DEF_LABEL = "AlertDefinition/label";
protected static final String ALERT_DEF_INTERVAL = "AlertDefinition/interval";
protected static final String ALERT_DEF_SOURCE_TYPE = "AlertDefinition/source/type";
protected static final String ALERT_DEF_SOURCE = "AlertDefinition/source";
@@ -196,6 +197,7 @@ public class AlertDefinitionResourceProvider extends AbstractControllerResourceP
entity.setClusterId(Long.valueOf(cluster.getClusterId()));
entity.setComponentName((String) requestMap.get(ALERT_DEF_COMPONENT_NAME));
entity.setDefinitionName((String) requestMap.get(ALERT_DEF_NAME));
+ entity.setLabel((String) requestMap.get(ALERT_DEF_LABEL));
boolean enabled = requestMap.containsKey(ALERT_DEF_ENABLED) ?
Boolean.parseBoolean((String)requestMap.get(ALERT_DEF_ENABLED)) : true;
@@ -403,6 +405,8 @@ public class AlertDefinitionResourceProvider extends AbstractControllerResourceP
setResourceProperty(resource, ALERT_DEF_ENABLED, Boolean.valueOf(entity.getEnabled()), requestedIds);
setResourceProperty(resource, ALERT_DEF_SCOPE, entity.getScope(), requestedIds);
setResourceProperty(resource, ALERT_DEF_SOURCE_TYPE, entity.getSourceType(), requestedIds);
+ setResourceProperty(resource, ALERT_DEF_LABEL, entity.getLabel(),
+ requestedIds);
if (!isCollection && null != resource.getPropertyValue(ALERT_DEF_SOURCE_TYPE)) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java
index 4e8b3b9..c93702a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java
@@ -77,6 +77,9 @@ public class AlertDefinitionEntity {
@Column(name = "definition_name", nullable = false, length = 255)
private String definitionName;
+ @Column(name = "label", nullable = true, length = 255)
+ private String label;
+
@Column(name = "scope", length = 255)
@Enumerated(value = EnumType.STRING)
private Scope scope;
@@ -356,6 +359,25 @@ public class AlertDefinitionEntity {
}
/**
+ * Sets a human readable label for this alert definition.
+ *
+ * @param label
+ * the label or {@code null} if none.
+ */
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ /**
+ * Gets the label for this alert definition.
+ *
+ * @return the label or {@code null} if none.
+ */
+ public String getLabel() {
+ return label;
+ }
+
+ /**
* Called before {@link EntityManager#remove(Object)} for this entity, removes
* the non-owning relationship between definitions and groups.
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
index bef01c1..144900e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
@@ -574,6 +574,7 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
columns.add(new DBColumnInfo("service_name", String.class, 255, null, false));
columns.add(new DBColumnInfo("component_name", String.class, 255, null, true));
columns.add(new DBColumnInfo("scope", String.class, 255, null, true));
+ columns.add(new DBColumnInfo("label", String.class, 255, null, true));
columns.add(new DBColumnInfo("enabled", Short.class, 1, 1, false));
columns.add(new DBColumnInfo("schedule_interval", Integer.class, null, null, false));
columns.add(new DBColumnInfo("source_type", String.class, 255, null, false));
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index b39ca5d..fe39612 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -157,6 +157,7 @@ CREATE TABLE alert_definition (
service_name VARCHAR(255) NOT NULL,
component_name VARCHAR(255),
scope VARCHAR(255),
+ label VARCHAR(255),
enabled SMALLINT DEFAULT 1 NOT NULL,
schedule_interval INTEGER NOT NULL,
source_type VARCHAR(255) NOT NULL,
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
index 500313b..e311646 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -148,6 +148,7 @@ CREATE TABLE alert_definition (
service_name VARCHAR2(255) NOT NULL,
component_name VARCHAR2(255),
scope VARCHAR2(255),
+ label VARCHAR2(255),
enabled NUMBER(1) DEFAULT 1 NOT NULL,
schedule_interval NUMBER(10) NOT NULL,
source_type VARCHAR2(255) NOT NULL,
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index a13f415..25d973f 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -181,6 +181,7 @@ CREATE TABLE alert_definition (
service_name VARCHAR(255) NOT NULL,
component_name VARCHAR(255),
scope VARCHAR(255),
+ label VARCHAR(255),
enabled SMALLINT DEFAULT 1 NOT NULL,
schedule_interval INTEGER NOT NULL,
source_type VARCHAR(255) NOT NULL,
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
index ff38b24..2d5b267 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
@@ -246,6 +246,7 @@ CREATE TABLE ambari.alert_definition (
service_name VARCHAR(255) NOT NULL,
component_name VARCHAR(255),
scope VARCHAR(255),
+ label VARCHAR(255),
enabled SMALLINT DEFAULT 1 NOT NULL,
schedule_interval INTEGER NOT NULL,
source_type VARCHAR(255) NOT NULL,
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
index 55b451e..aa2bf71 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -416,6 +416,7 @@
"AlertDefinition/component_name",
"AlertDefinition/id",
"AlertDefinition/name",
+ "AlertDefinition/label",
"AlertDefinition/interval",
"AlertDefinition/enabled",
"AlertDefinition/scope",
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
index 04d7f48..333f674 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
@@ -107,7 +107,8 @@ public class AlertDefinitionResourceProviderTest {
Request request = PropertyHelper.getReadRequest(
AlertDefinitionResourceProvider.ALERT_DEF_CLUSTER_NAME,
AlertDefinitionResourceProvider.ALERT_DEF_ID,
- AlertDefinitionResourceProvider.ALERT_DEF_NAME);
+ AlertDefinitionResourceProvider.ALERT_DEF_NAME,
+ AlertDefinitionResourceProvider.ALERT_DEF_LABEL);
AmbariManagementController amc = createMock(AmbariManagementController.class);
Clusters clusters = createMock(Clusters.class);
@@ -132,6 +133,9 @@ public class AlertDefinitionResourceProviderTest {
Assert.assertEquals("my_def", r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_NAME));
+ Assert.assertEquals("Mock Label",
+ r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_LABEL));
+
verify(amc, clusters, cluster, dao);
}
@@ -144,6 +148,7 @@ public class AlertDefinitionResourceProviderTest {
AlertDefinitionResourceProvider.ALERT_DEF_CLUSTER_NAME,
AlertDefinitionResourceProvider.ALERT_DEF_ID,
AlertDefinitionResourceProvider.ALERT_DEF_NAME,
+ AlertDefinitionResourceProvider.ALERT_DEF_LABEL,
AlertDefinitionResourceProvider.ALERT_DEF_SOURCE_TYPE);
AmbariManagementController amc = createMock(AmbariManagementController.class);
@@ -170,6 +175,8 @@ public class AlertDefinitionResourceProviderTest {
Assert.assertEquals("my_def", r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_NAME));
Assert.assertEquals("metric", r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_SOURCE_TYPE));
+ Assert.assertEquals("Mock Label",
+ r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_LABEL));
Assert.assertNotNull(r.getPropertyValue("AlertDefinition/source/type"));
}
@@ -204,6 +211,8 @@ public class AlertDefinitionResourceProviderTest {
requestProps.put(AlertDefinitionResourceProvider.ALERT_DEF_NAME, "my_def");
requestProps.put(AlertDefinitionResourceProvider.ALERT_DEF_SERVICE_NAME, "HDFS");
requestProps.put(AlertDefinitionResourceProvider.ALERT_DEF_SOURCE_TYPE, "METRIC");
+ requestProps.put(AlertDefinitionResourceProvider.ALERT_DEF_LABEL,
+ "Mock Label (Create)");
Request request = PropertyHelper.getCreateRequest(Collections.singleton(requestProps), null);
@@ -223,6 +232,7 @@ public class AlertDefinitionResourceProviderTest {
Assert.assertEquals("HDFS", entity.getServiceName());
Assert.assertNotNull(entity.getSource());
Assert.assertEquals("METRIC", entity.getSourceType());
+ Assert.assertEquals("Mock Label (Create)", entity.getLabel());
verify(amc, clusters, cluster, dao);
@@ -382,6 +392,7 @@ public class AlertDefinitionResourceProviderTest {
entity.setComponentName(null);
entity.setDefinitionId(Long.valueOf(1L));
entity.setDefinitionName("my_def");
+ entity.setLabel("Mock Label");
entity.setEnabled(true);
entity.setHash(DEFINITION_UUID);
entity.setScheduleInterval(Integer.valueOf(2));
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb83709/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java
index 4033f03..6262a2b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java
@@ -197,7 +197,7 @@ public class UpgradeCatalog170Test {
assertViewColumns(maskColumnCapture);
assertViewParameterColumns(maskedColumnCapture);
- assertEquals(11, alertDefinitionColumnCapture.getValue().size());
+ assertEquals(12, alertDefinitionColumnCapture.getValue().size());
assertEquals(11, alertHistoryColumnCapture.getValue().size());
assertEquals(6, alertCurrentColumnCapture.getValue().size());
assertEquals(4, alertGroupColumnCapture.getValue().size());
@@ -282,7 +282,7 @@ public class UpgradeCatalog170Test {
upgradeCatalog.updateConfigurationProperties("hbase-env",
Collections.singletonMap("hbase_regionserver_xmn_ratio", "0.2"), false, false);
expectLastCall();
-
+
upgradeCatalog.updateConfigurationProperties("yarn-env",
Collections.singletonMap("min_user_id", "1000"), false, false);
expectLastCall();
[07/12] git commit: AMBARI-6902. LDAP uses redundant properties from
ambari configuration. (mahadev)
Posted by jo...@apache.org.
AMBARI-6902. LDAP uses redundant properties from ambari configuration. (mahadev)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7097e82e
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7097e82e
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7097e82e
Branch: refs/heads/branch-alerts-dev
Commit: 7097e82e2db4a239e31681ee3188f92bebb199d7
Parents: 5af89a5
Author: Mahadev Konar <ma...@apache.org>
Authored: Mon Aug 18 13:29:51 2014 -0700
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:35 2014 -0400
----------------------------------------------------------------------
.../authorization/AmbariLdapDataPopulator.java | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7097e82e/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
index 29b69a6..7932833 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
@@ -91,7 +91,7 @@ public class AmbariLdapDataPopulator {
public Object mapFromAttributes(Attributes attributes)
throws NamingException {
- return attributes.get("uid").get();
+ return "";
}
});
return true;
@@ -269,10 +269,7 @@ public class AmbariLdapDataPopulator {
final LdapTemplate ldapTemplate = loadLdapTemplate();
final EqualsFilter equalsFilter = new EqualsFilter("objectClass",
ldapServerProperties.getGroupObjectClass());
- String baseDn = ldapServerProperties.getGroupBase();
- if (baseDn == null) {
- baseDn = ldapServerProperties.getBaseDN();
- }
+ String baseDn = ldapServerProperties.getBaseDN();
ldapTemplate.search(baseDn, equalsFilter.encode(), new AttributesMapper() {
public Object mapFromAttributes(Attributes attributes)
@@ -295,10 +292,7 @@ public class AmbariLdapDataPopulator {
final LdapTemplate ldapTemplate = loadLdapTemplate();
final EqualsFilter equalsFilter = new EqualsFilter("objectClass",
ldapServerProperties.getUserObjectClass());
- String baseDn = ldapServerProperties.getUserBase();
- if (baseDn == null) {
- baseDn = ldapServerProperties.getBaseDN();
- }
+ String baseDn = ldapServerProperties.getBaseDN();
ldapTemplate.search(baseDn, equalsFilter.encode(), new AttributesMapper() {
public Object mapFromAttributes(Attributes attributes)
@@ -323,10 +317,7 @@ public class AmbariLdapDataPopulator {
final AndFilter andFilter = new AndFilter();
andFilter.and(new EqualsFilter("objectClass", ldapServerProperties.getGroupObjectClass()));
andFilter.and(new EqualsFilter(ldapServerProperties.getGroupNamingAttr(), groupName));
- String baseDn = ldapServerProperties.getGroupBase();
- if (baseDn == null) {
- baseDn = ldapServerProperties.getBaseDN();
- }
+ String baseDn = ldapServerProperties.getBaseDN();
ldapTemplate.search(baseDn, andFilter.encode(), new ContextMapper() {
public Object mapFromContext(Object ctx) {
[05/12] git commit: AMBARI-6892. YARN unit-tests contains un-existed
"mapred-queue-acls.xml" test resource (aonishuk)
Posted by jo...@apache.org.
AMBARI-6892. YARN unit-tests contains un-existed "mapred-queue-acls.xml" test resource (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ef846299
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ef846299
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ef846299
Branch: refs/heads/branch-alerts-dev
Commit: ef846299f951caf17794d59fb2922c9eb4dd298c
Parents: 64655a0
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Mon Aug 18 20:09:46 2014 +0300
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:34 2014 -0400
----------------------------------------------------------------------
.../test/python/stacks/2.0.6/YARN/test_historyserver.py | 8 --------
.../python/stacks/2.0.6/YARN/test_mapreduce2_client.py | 8 --------
.../test/python/stacks/2.0.6/YARN/test_nodemanager.py | 8 --------
.../python/stacks/2.0.6/YARN/test_resourcemanager.py | 8 --------
.../test/python/stacks/2.0.6/YARN/test_yarn_client.py | 12 ------------
.../python/stacks/2.1/YARN/test_apptimelineserver.py | 4 ----
6 files changed, 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/ef846299/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py
index 6f12b60..86e3353 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py
@@ -285,10 +285,6 @@ class TestHistoryServer(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
@@ -486,10 +482,6 @@ class TestHistoryServer(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
http://git-wip-us.apache.org/repos/asf/ambari/blob/ef846299/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py
index e28fa45..4218a59 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py
@@ -144,10 +144,6 @@ class TestMapReduce2Client(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
@@ -292,10 +288,6 @@ class TestMapReduce2Client(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
http://git-wip-us.apache.org/repos/asf/ambari/blob/ef846299/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py
index 0e621a2..597324a 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py
@@ -285,10 +285,6 @@ class TestNodeManager(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
@@ -486,10 +482,6 @@ class TestNodeManager(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
http://git-wip-us.apache.org/repos/asf/ambari/blob/ef846299/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py
index 66551c1..8410b56 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py
@@ -229,10 +229,6 @@ class TestResourceManager(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
@@ -375,10 +371,6 @@ class TestResourceManager(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
http://git-wip-us.apache.org/repos/asf/ambari/blob/ef846299/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py
index 9944cc3..032f334 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py
@@ -145,10 +145,6 @@ class TestYarnClient(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
@@ -293,10 +289,6 @@ class TestYarnClient(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
@@ -436,10 +428,6 @@ class TestYarnClient(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
http://git-wip-us.apache.org/repos/asf/ambari/blob/ef846299/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py b/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py
index 4de15c1..7dbbd9a 100644
--- a/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py
+++ b/ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py
@@ -184,10 +184,6 @@ class TestAppTimelineServer(RMFTestCase):
configurations = self.getConfig()['configurations']['mapred-site'],
configuration_attributes = self.getConfig()['configuration_attributes']['mapred-site']
)
- self.assertResourceCalled('File', '/etc/hadoop/conf/mapred-queue-acls.xml',
- owner = 'mapred',
- group = 'hadoop',
- )
self.assertResourceCalled('XmlConfig', 'capacity-scheduler.xml',
owner = 'hdfs',
group = 'hadoop',
[04/12] git commit: AMBARI-6885. stack_advisor.py from one
stack-version contains another's logic
Posted by jo...@apache.org.
AMBARI-6885. stack_advisor.py from one stack-version contains another's logic
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/12ec45b2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/12ec45b2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/12ec45b2
Branch: refs/heads/branch-alerts-dev
Commit: 12ec45b22a77cba4f9a6b43fe2f86d9667ed40d8
Parents: ef84629
Author: Srimanth Gunturi <sg...@hortonworks.com>
Authored: Fri Aug 15 17:14:51 2014 -0700
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:34 2014 -0400
----------------------------------------------------------------------
.../stacks/HDP/2.0.6/services/stack_advisor.py | 274 ++++++++-----------
.../stacks/HDP/2.1/services/stack_advisor.py | 68 +++++
.../stacks/2.0.6/common/test_stack_advisor.py | 49 ++--
3 files changed, 211 insertions(+), 180 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/12ec45b2/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
index 025caa2..77c57e2 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
@@ -41,15 +41,6 @@ class HDP206StackAdvisor(StackAdvisor):
"services": servicesList,
"recommendations": {
"blueprint": {
- "configurations": {
- "global": {
- "properties": { }
- },
- "core-site": { },
- "hdfs-site": { },
- "yarn-site": { },
- "hbase-site": { }
- },
"host_groups": [ ]
},
"blueprint_cluster_binding": {
@@ -71,7 +62,7 @@ class HDP206StackAdvisor(StackAdvisor):
hostsForComponent = component["StackServiceComponents"]["hostnames"]
else:
availableHosts = hostsList
- if len(hostsList) > 1 and isNotPreferableOnAmbariServerHost(component):
+ if len(hostsList) > 1 and self.isNotPreferableOnAmbariServerHost(component):
availableHosts = [hostName for hostName in hostsList if not isLocalHost(hostName)]
if isMasterWithMultipleInstances(component):
@@ -81,9 +72,9 @@ class HDP206StackAdvisor(StackAdvisor):
hostsCount = len(availableHosts)
hostsForComponent = availableHosts[:hostsCount]
else:
- hostsForComponent = [getHostForComponent(component, availableHosts)]
+ hostsForComponent = [self.getHostForComponent(component, availableHosts)]
else:
- hostsForComponent = [getHostForComponent(component, availableHosts)]
+ hostsForComponent = [self.getHostForComponent(component, availableHosts)]
#extend 'hostsComponentsMap' with 'hostsForComponent'
for hostName in hostsForComponent:
@@ -94,7 +85,7 @@ class HDP206StackAdvisor(StackAdvisor):
#extend 'hostsComponentsMap' with Slave and Client Components
componentsListList = [service["components"] for service in services["services"]]
componentsList = [item for sublist in componentsListList for item in sublist]
- usedHostsListList = [component["StackServiceComponents"]["hostnames"] for component in componentsList if not isNotValuable(component)]
+ usedHostsListList = [component["StackServiceComponents"]["hostnames"] for component in componentsList if not self.isNotValuable(component)]
utilizedHosts = [item for sublist in usedHostsListList for item in sublist]
freeHosts = [hostName for hostName in hostsList if hostName not in utilizedHosts]
@@ -135,6 +126,46 @@ class HDP206StackAdvisor(StackAdvisor):
return recommendations
pass
+ def getHostForComponent(self, component, hostsList):
+ componentName = component["StackServiceComponents"]["component_name"]
+ scheme = self.defineSelectionScheme(componentName)
+
+ if len(hostsList) == 1:
+ return hostsList[0]
+ else:
+ for key in scheme.keys():
+ if isinstance(key, ( int, long )):
+ if len(hostsList) < key:
+ return hostsList[scheme[key]]
+ return hostsList[scheme['else']]
+
+ def defineSelectionScheme(self, componentName):
+ scheme = self.selectionScheme(componentName)
+ if scheme is None:
+ scheme = {"else": 0}
+ return scheme
+
+ def selectionScheme(self, componentName):
+ return {
+ 'NAMENODE': {"else": 0},
+ 'SECONDARY_NAMENODE': {"else": 1},
+ 'HBASE_MASTER': {6: 0, 31: 2, "else": 3},
+
+ 'HISTORYSERVER': {31: 1, "else": 2},
+ 'RESOURCEMANAGER': {31: 1, "else": 2},
+
+ 'OOZIE_SERVER': {6: 1, 31: 2, "else": 3},
+
+ 'HIVE_SERVER': {6: 1, 31: 2, "else": 4},
+ 'HIVE_METASTORE': {6: 1, 31: 2, "else": 4},
+ 'WEBHCAT_SERVER': {6: 1, 31: 2, "else": 4},
+ }.get(componentName, None)
+
+ def isNotPreferableOnAmbariServerHost(self, component):
+ componentName = component["StackServiceComponents"]["component_name"]
+ service = ['GANGLIA_SERVER', 'NAGIOS_SERVER']
+ return componentName in service
+
def validateComponentLayout(self, services, hosts):
"""Returns array of Validation objects about issues with hostnames components assigned to"""
stackName = services["Versions"]["stack_name"]
@@ -195,7 +226,7 @@ class HDP206StackAdvisor(StackAdvisor):
items.append( { "type": 'host-component', "level": 'ERROR', "message": 'Cardinality violation, cardinality={0}, hosts count={1}'.format(cardinality, str(componentHostsCount)), "component-name": str(componentName) } )
# Validating host-usage
- usedHostsListList = [component["StackServiceComponents"]["hostnames"] for component in componentsList if not isNotValuable(component)]
+ usedHostsListList = [component["StackServiceComponents"]["hostnames"] for component in componentsList if not self.isNotValuable(component)]
usedHostsList = [item for sublist in usedHostsListList for item in sublist]
nonUsedHostsList = [item for item in hostsList if item not in usedHostsList]
for host in nonUsedHostsList:
@@ -204,6 +235,11 @@ class HDP206StackAdvisor(StackAdvisor):
return validations
pass
+ def isNotValuable(self, component):
+ componentName = component["StackServiceComponents"]["component_name"]
+ service = ['JOURNALNODE', 'ZKFC', 'GANGLIA_MONITOR']
+ return componentName in service
+
def recommendConfigurations(self, services, hosts):
stackName = services["Versions"]["stack_name"]
stackVersion = services["Versions"]["stack_version"]
@@ -242,9 +278,7 @@ class HDP206StackAdvisor(StackAdvisor):
def recommendServiceConfigurations(self, service):
return {
"YARN": self.recommendYARNConfigurations,
- "MAPREDUCE2": self.recommendMapReduce2Configurations,
- "HIVE": self.recommendHiveConfigurations,
- "OOZIE": self.recommendOozieConfigurations
+ "MAPREDUCE2": self.recommendMapReduce2Configurations
}.get(service, None)
def putProperty(self, config, configType):
@@ -259,15 +293,6 @@ class HDP206StackAdvisor(StackAdvisor):
putYarnProperty('yarn.scheduler.minimum-allocation-mb', clusterData['ramPerContainer'])
putYarnProperty('yarn.scheduler.maximum-allocation-mb', clusterData['containers'] * clusterData['ramPerContainer'])
- def recommendHiveConfigurations(self, configurations, clusterData):
- containerSize = clusterData['mapMemory'] if clusterData['mapMemory'] > 2048 else clusterData['reduceMemory']
- containerSize = min(clusterData['containers'] * clusterData['ramPerContainer'], containerSize)
- putHiveProperty = self.putProperty(configurations, "hive-site")
- putHiveProperty('hive.auto.convert.join.noconditionaltask.size', int(containerSize / 3) * 1048576)
- putHiveProperty('hive.tez.java.opts', "-server -Xmx" + str(int(0.8 * containerSize))
- + "m -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseParallelGC")
- putHiveProperty('hive.tez.container.size', containerSize)
-
def recommendMapReduce2Configurations(self, configurations, clusterData):
putMapredProperty = self.putProperty(configurations, "mapred-site")
putMapredProperty('yarn.app.mapreduce.am.resource.mb', clusterData['amMemory'])
@@ -278,14 +303,6 @@ class HDP206StackAdvisor(StackAdvisor):
putMapredProperty('mapreduce.reduce.java.opts', "-Xmx" + str(int(0.8 * clusterData['reduceMemory'])) + "m")
putMapredProperty('mapreduce.task.io.sort.mb', int(min(0.4 * clusterData['mapMemory'], 1024)))
- def recommendOozieConfigurations(self, configurations, clusterData):
- if "FALCON_SERVER" in clusterData["components"]:
- putMapredProperty = self.putProperty(configurations, "oozie-site")
- putMapredProperty("oozie.services.ext",
- "org.apache.oozie.service.JMSAccessorService," +
- "org.apache.oozie.service.PartitionDependencyManagerService," +
- "org.apache.oozie.service.HCatAccessorService")
-
def getClusterData(self, servicesList, hosts, components):
hBaseInstalled = False
@@ -380,26 +397,72 @@ class HDP206StackAdvisor(StackAdvisor):
configurations = services["configurations"]
for service in services["services"]:
serviceName = service["StackServices"]["service_name"]
- if serviceName == "MAPREDUCE2":
- mapReduceErrors = validateMapReduce2Configurations(getSiteProperties(configurations, "mapred-site"), recommendedDefaults["mapred-site"]["properties"])
- items.extend(mapReduceErrors)
- elif serviceName == "HIVE":
- hiveErrors = validateHiveConfigurations(getSiteProperties(configurations, "hive-site"), recommendedDefaults["hive-site"]["properties"])
- items.extend(hiveErrors)
- elif serviceName == "STORM":
- oozieErrors = [] #validateStormConfigurations(getSiteProperties(configurations, "storm-site"), recommendedDefaults["storm-site"]["properties"])
- items.extend(oozieErrors)
- elif serviceName == "TEZ":
- tezErrors = validateTezConfigurations(getSiteProperties(configurations, "tez-site"), recommendedDefaults["tez-site"]["properties"])
- items.extend(tezErrors)
- elif serviceName == "YARN":
- yarnErrors = validateYARNConfigurations(getSiteProperties(configurations, "yarn-site"), recommendedDefaults["yarn-site"]["properties"])
- items.extend(yarnErrors)
- else:
- pass
+ validator = self.validateServiceConfigurations(serviceName)
+ if validator is not None:
+ siteName = validator[0]
+ method = validator[1]
+ resultItems = method(getSiteProperties(configurations, siteName), recommendedDefaults[siteName]["properties"])
+ items.extend(resultItems)
return validations
pass
+ def validateServiceConfigurations(self, serviceName):
+ return {
+ "MAPREDUCE2": ["mapred-site", self.validateMapReduce2Configurations],
+ "YARN": ["yarn-site", self.validateYARNConfigurations]
+ }.get(serviceName, None)
+
+ def toConfigurationValidationErrors(self, items, siteName):
+ result = []
+ for item in items:
+ if item["message"] is not None:
+ error = { "type": 'configuration', "level": 'ERROR', "message": item["message"], "config-type": siteName, "config-name": item["config-name"] }
+ result.append(error)
+ return result
+
+ def validatorLessThenDefaultValue(self, properties, recommendedDefaults, propertyName):
+ value = to_number(properties[propertyName])
+ if value is None:
+ return "Value should be integer"
+ defaultValue = to_number(recommendedDefaults[propertyName])
+ if defaultValue is None:
+ return None
+ if value < defaultValue:
+ return "Value is less than the recommended default of {0}".format(defaultValue)
+ return None
+
+ def validateXmxValue(self, properties, recommendedDefaults, propertyName):
+ value = properties[propertyName]
+ defaultValue = recommendedDefaults[propertyName]
+ if defaultValue is None:
+ return "Config's default value can't be null or undefined"
+ if not checkXmxValueFormat(value):
+ return 'Invalid value format'
+ valueInt = formatXmxSizeToBytes(getXmxSize(value))
+ defaultValueXmx = getXmxSize(defaultValue)
+ defaultValueInt = formatXmxSizeToBytes(defaultValueXmx)
+ if valueInt < defaultValueInt:
+ return "Value is less than the recommended default of -Xmx" + defaultValueXmx
+ return None
+
+ def validateMapReduce2Configurations(self, properties, recommendedDefaults):
+ validationItems = [ {"config-name": 'mapreduce.map.java.opts', "message": self.validateXmxValue(properties, recommendedDefaults, 'mapreduce.map.java.opts')},
+ {"config-name": 'mapreduce.reduce.java.opts', "message": self.validateXmxValue(properties, recommendedDefaults, 'mapreduce.reduce.java.opts')},
+ {"config-name": 'mapreduce.task.io.sort.mb', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'mapreduce.task.io.sort.mb')},
+ {"config-name": 'mapreduce.map.memory.mb', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'mapreduce.map.memory.mb')},
+ {"config-name": 'mapreduce.reduce.memory.mb', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'mapreduce.reduce.memory.mb')},
+ {"config-name": 'yarn.app.mapreduce.am.resource.mb', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'yarn.app.mapreduce.am.resource.mb')},
+ {"config-name": 'yarn.app.mapreduce.am.command-opts', "message": self.validateXmxValue(properties, recommendedDefaults, 'yarn.app.mapreduce.am.command-opts')} ]
+ return self.toConfigurationValidationErrors(validationItems, "mapred-site")
+
+ def validateYARNConfigurations(self, properties, recommendedDefaults):
+ validationItems = [ {"config-name": 'yarn.nodemanager.resource.memory-mb', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'yarn.nodemanager.resource.memory-mb')},
+ {"config-name": 'yarn.scheduler.minimum-allocation-mb', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'yarn.scheduler.minimum-allocation-mb')},
+ {"config-name": 'yarn.scheduler.maximum-allocation-mb', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'yarn.scheduler.maximum-allocation-mb')} ]
+ return self.toConfigurationValidationErrors(validationItems, "yarn-site")
+
+
+# Validation helper methods
def getSiteProperties(configurations, siteName):
if configurations[siteName] is None:
return {}
@@ -413,39 +476,6 @@ def to_number(s):
except ValueError:
return None
-def toConfigurationValidationErrors(items, siteName):
- result = []
- for item in items:
- if item["message"] is not None:
- error = { "type": 'configuration', "level": 'ERROR', "message": item["message"], "config-type": siteName, "config-name": item["config-name"] }
- result.append(error)
- return result
-
-def validatorLessThenDefaultValue(properties, recommendedDefaults, propertyName):
- value = to_number(properties[propertyName])
- if value is None:
- return "Value should be integer"
- defaultValue = to_number(recommendedDefaults[propertyName])
- if defaultValue is None:
- return None
- if value < defaultValue:
- return "Value is less than the recommended default of {0}".format(defaultValue)
- return None
-
-def validateXmxValue(properties, recommendedDefaults, propertyName):
- value = properties[propertyName]
- defaultValue = recommendedDefaults[propertyName]
- if defaultValue is None:
- return "Config's default value can't be null or undefined"
- if not checkXmxValueFormat(value):
- return 'Invalid value format'
- valueInt = formatXmxSizeToBytes(getXmxSize(value))
- defaultValueXmx = getXmxSize(defaultValue)
- defaultValueInt = formatXmxSizeToBytes(defaultValueXmx)
- if valueInt < defaultValueInt:
- return "Value is less than the recommended default of -Xmx" + defaultValueXmx
- return None
-
def checkXmxValueFormat(value):
p = re.compile('-Xmx(\d+)(b|k|m|g|p|t|B|K|M|G|P|T)?')
matches = p.findall(value)
@@ -477,58 +507,8 @@ def formatXmxSizeToBytes(value):
}[1]
return to_number(value) * m
-def validateMapReduce2Configurations(properties, recommendedDefaults):
- validationItems = [ {"config-name": 'mapreduce.map.java.opts', "message": validateXmxValue(properties, recommendedDefaults, 'mapreduce.map.java.opts')},
- {"config-name": 'mapreduce.reduce.java.opts', "message": validateXmxValue(properties, recommendedDefaults, 'mapreduce.reduce.java.opts')},
- {"config-name": 'mapreduce.task.io.sort.mb', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'mapreduce.task.io.sort.mb')},
- {"config-name": 'mapreduce.map.memory.mb', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'mapreduce.map.memory.mb')},
- {"config-name": 'mapreduce.reduce.memory.mb', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'mapreduce.reduce.memory.mb')},
- {"config-name": 'yarn.app.mapreduce.am.resource.mb', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'yarn.app.mapreduce.am.resource.mb')},
- {"config-name": 'yarn.app.mapreduce.am.command-opts', "message": validateXmxValue(properties, recommendedDefaults, 'yarn.app.mapreduce.am.command-opts')} ]
- return toConfigurationValidationErrors(validationItems, "mapred-site")
-
-def validateHiveConfigurations(properties, recommendedDefaults):
- validationItems = [ {"config-name": 'hive.tez.container.size', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'hive.tez.container.size')},
- {"config-name": 'hive.tez.java.opts', "message": validateXmxValue(properties, recommendedDefaults, 'hive.tez.java.opts')},
- {"config-name": 'hive.auto.convert.join.noconditionaltask.size', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'hive.auto.convert.join.noconditionaltask.size')} ]
- return toConfigurationValidationErrors(validationItems, "hive-site")
-
-def validateStormConfigurations(properties, recommendedDefaults):
- validationItems = [ {"config-name": 'drpc.childopts', "message": validateXmxValue(properties, recommendedDefaults, 'drpc.childopts')},
- {"config-name": 'ui.childopts', "message": validateXmxValue(properties, recommendedDefaults, 'ui.childopts')},
- {"config-name": 'logviewer.childopts', "message": validateXmxValue(properties, recommendedDefaults, 'logviewer.childopts')} ]
- return toConfigurationValidationErrors(validationItems, "storm-site")
-
-def validateTezConfigurations(properties, recommendedDefaults):
- validationItems = [ {"config-name": 'tez.am.resource.memory.mb', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'tez.am.resource.memory.mb')},
- {"config-name": 'tez.am.java.opts', "message": validateXmxValue(properties, recommendedDefaults, 'tez.am.java.opts')} ]
- return toConfigurationValidationErrors(validationItems, "tez-site")
-
-def validateYARNConfigurations(properties, recommendedDefaults):
- validationItems = [ {"config-name": 'yarn.nodemanager.resource.memory-mb', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'yarn.nodemanager.resource.memory-mb')},
- {"config-name": 'yarn.scheduler.minimum-allocation-mb', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'yarn.scheduler.minimum-allocation-mb')},
- {"config-name": 'yarn.scheduler.maximum-allocation-mb', "message": validatorLessThenDefaultValue(properties, recommendedDefaults, 'yarn.scheduler.maximum-allocation-mb')} ]
- return toConfigurationValidationErrors(validationItems, "yarn-site")
-
-# Helper methods
-def getHostForComponent(component, hostsList):
- componentName = component["StackServiceComponents"]["component_name"]
- scheme = selectionScheme(componentName)
-
- if len(hostsList) == 1:
- return hostsList[0]
- else:
- for key in scheme.keys():
- if isinstance(key, ( int, long )):
- if len(hostsList) < key:
- return hostsList[scheme[key]]
- return hostsList[scheme['else']]
-
-def isNotValuable(component):
- componentName = component["StackServiceComponents"]["component_name"]
- service = ['JOURNALNODE', 'ZKFC', 'APP_TIMELINE_SERVER', 'GANGLIA_MONITOR']
- return componentName in service
+# Recommendation helper methods
def isAlreadyPopulated(component):
if component["StackServiceComponents"]["hostnames"] is not None:
return len(component["StackServiceComponents"]["hostnames"]) > 0
@@ -550,11 +530,6 @@ def isMaster(component):
def isLocalHost(hostName):
return socket.getfqdn(hostName) == socket.getfqdn()
-def isNotPreferableOnAmbariServerHost(component):
- componentName = component["StackServiceComponents"]["component_name"]
- service = ['STORM_UI_SERVER', 'DRPC_SERVER', 'STORM_REST_API', 'NIMBUS', 'GANGLIA_SERVER', 'NAGIOS_SERVER', 'HUE_SERVER']
- return componentName in service
-
def isMasterWithMultipleInstances(component):
componentName = component["StackServiceComponents"]["component_name"]
masters = ['ZOOKEEPER_SERVER', 'HBASE_MASTER']
@@ -572,22 +547,3 @@ def cardinality(componentName):
'HBASE_MASTER': {min: 1},
}.get(componentName, {min:1, max:1})
-def selectionScheme(componentName):
- return {
- 'NAMENODE': {"else": 0},
- 'SECONDARY_NAMENODE': {"else": 1},
- 'HBASE_MASTER': {6: 0, 31: 2, "else": 3},
-
- 'JOBTRACKER': {31: 1, "else": 2},
- 'HISTORYSERVER': {31: 1, "else": 2},
- 'RESOURCEMANAGER': {31: 1, "else": 2},
- 'APP_TIMELINE_SERVER': {31: 1, "else": 2},
-
- 'OOZIE_SERVER': {6: 1, 31: 2, "else": 3},
- 'FALCON_SERVER': {6: 1, 31: 2, "else": 3},
-
- 'HIVE_SERVER': {6: 1, 31: 2, "else": 4},
- 'HIVE_METASTORE': {6: 1, 31: 2, "else": 4},
- 'WEBHCAT_SERVER': {6: 1, 31: 2, "else": 4},
- }.get(componentName, {"else": 0})
-
http://git-wip-us.apache.org/repos/asf/ambari/blob/12ec45b2/ambari-server/src/main/resources/stacks/HDP/2.1/services/stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/stack_advisor.py
index eb2faa1..5d7a3bc 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/stack_advisor.py
@@ -27,11 +27,30 @@ class HDP21StackAdvisor(HDP206StackAdvisor):
calculator = super(HDP21StackAdvisor, self).recommendServiceConfigurations(service)
if calculator is None:
return {
+ "OOZIE": self.recommendOozieConfigurations,
+ "HIVE": self.recommendHiveConfigurations,
"TEZ": self.recommendTezConfigurations
}.get(service, None)
else:
return calculator
+ def recommendOozieConfigurations(self, configurations, clusterData):
+ if "FALCON_SERVER" in clusterData["components"]:
+ putMapredProperty = self.putProperty(configurations, "oozie-site")
+ putMapredProperty("oozie.services.ext",
+ "org.apache.oozie.service.JMSAccessorService," +
+ "org.apache.oozie.service.PartitionDependencyManagerService," +
+ "org.apache.oozie.service.HCatAccessorService")
+
+ def recommendHiveConfigurations(self, configurations, clusterData):
+ containerSize = clusterData['mapMemory'] if clusterData['mapMemory'] > 2048 else clusterData['reduceMemory']
+ containerSize = min(clusterData['containers'] * clusterData['ramPerContainer'], containerSize)
+ putHiveProperty = self.putProperty(configurations, "hive-site")
+ putHiveProperty('hive.auto.convert.join.noconditionaltask.size', int(containerSize / 3) * 1048576)
+ putHiveProperty('hive.tez.java.opts', "-server -Xmx" + str(int(0.8 * containerSize))
+ + "m -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseParallelGC")
+ putHiveProperty('hive.tez.container.size', containerSize)
+
def recommendTezConfigurations(self, configurations, clusterData):
putTezProperty = self.putProperty(configurations, "tez-site")
putTezProperty("tez.am.resource.memory.mb", clusterData['amMemory'])
@@ -39,3 +58,52 @@ class HDP21StackAdvisor(HDP206StackAdvisor):
"-server -Xmx" + str(int(0.8 * clusterData["amMemory"]))
+ "m -Djava.net.preferIPv4Stack=true -XX:+UseNUMA -XX:+UseParallelGC")
+ def isNotPreferableOnAmbariServerHost(self, component):
+ componentName = component["StackServiceComponents"]["component_name"]
+ service = ['STORM_UI_SERVER', 'DRPC_SERVER', 'STORM_REST_API', 'NIMBUS', 'GANGLIA_SERVER', 'NAGIOS_SERVER']
+ return componentName in service
+
+ def isNotValuable(self, component):
+ componentName = component["StackServiceComponents"]["component_name"]
+ service = ['JOURNALNODE', 'ZKFC', 'GANGLIA_MONITOR', 'APP_TIMELINE_SERVER']
+ return componentName in service
+
+ def selectionScheme(self, componentName):
+ scheme = super(HDP21StackAdvisor, self).selectionScheme(componentName)
+ if scheme is None:
+ return {
+ 'APP_TIMELINE_SERVER': {31: 1, "else": 2},
+ 'FALCON_SERVER': {6: 1, 31: 2, "else": 3}
+ }.get(componentName, None)
+ else:
+ return scheme
+
+ def validateServiceConfigurations(self, serviceName):
+ validator = super(HDP21StackAdvisor, self).validateServiceConfigurations(serviceName)
+ if validator is None:
+ return {
+ "STORM": ["storm-site", self.validateStormConfigurations],
+ "HIVE": ["hive-site", self.validateHiveConfigurations],
+ "TEZ": ["tez-site", self.validateTezConfigurations]
+ }.get(serviceName, None)
+ else:
+ return validator
+
+ def validateHiveConfigurations(self, properties, recommendedDefaults):
+ validationItems = [ {"config-name": 'hive.tez.container.size', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'hive.tez.container.size')},
+ {"config-name": 'hive.tez.java.opts', "message": self.validateXmxValue(properties, recommendedDefaults, 'hive.tez.java.opts')},
+ {"config-name": 'hive.auto.convert.join.noconditionaltask.size', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'hive.auto.convert.join.noconditionaltask.size')} ]
+ return self.toConfigurationValidationErrors(validationItems, "hive-site")
+
+ def validateStormConfigurations(self, properties, recommendedDefaults):
+ validationItems = [ {"config-name": 'drpc.childopts', "message": self.validateXmxValue(properties, recommendedDefaults, 'drpc.childopts')},
+ {"config-name": 'ui.childopts', "message": self.validateXmxValue(properties, recommendedDefaults, 'ui.childopts')},
+ {"config-name": 'logviewer.childopts', "message": self.validateXmxValue(properties, recommendedDefaults, 'logviewer.childopts')} ]
+ return self.toConfigurationValidationErrors(validationItems, "storm-site")
+
+ def validateTezConfigurations(self, properties, recommendedDefaults):
+ validationItems = [ {"config-name": 'tez.am.resource.memory.mb', "message": self.validatorLessThenDefaultValue(properties, recommendedDefaults, 'tez.am.resource.memory.mb')},
+ {"config-name": 'tez.am.java.opts', "message": self.validateXmxValue(properties, recommendedDefaults, 'tez.am.java.opts')} ]
+ return self.toConfigurationValidationErrors(validationItems, "tez-site")
+
+
http://git-wip-us.apache.org/repos/asf/ambari/blob/12ec45b2/ambari-server/src/test/python/stacks/2.0.6/common/test_stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/common/test_stack_advisor.py b/ambari-server/src/test/python/stacks/2.0.6/common/test_stack_advisor.py
index 3139a3e..b5bdba6 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/common/test_stack_advisor.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/common/test_stack_advisor.py
@@ -35,7 +35,7 @@ class TestHDP206StackAdvisor(TestCase):
stack_advisor_impl = imp.load_module('stack_advisor_impl', fp, hdp206StackAdvisorPath, ('.py', 'rb', imp.PY_SOURCE))
clazz = getattr(stack_advisor_impl, hdp206StackAdvisorClassName)
self.stackAdvisor = clazz()
-
+
def test_recommendationCardinalityALL(self):
servicesInfo = [
{
@@ -98,12 +98,12 @@ class TestHDP206StackAdvisor(TestCase):
hosts = self.prepareHosts(["host1", "host2"])
result = self.stackAdvisor.validateComponentLayout(services, hosts)
- expectedMessages = [
- "NameNode and Secondary NameNode cannot be hosted on same machine",
- "NameNode and Secondary NameNode cannot be hosted on same machine",
- "Host is not used"
+ expectedItems = [
+ {"message": "NameNode and Secondary NameNode cannot be hosted on same machine", "host": "host1"},
+ {"message": "NameNode and Secondary NameNode cannot be hosted on same machine", "host": "host1"},
+ {"message": "Host is not used", "host": "host2"}
]
- self.assertValidationMessages(expectedMessages, result)
+ self.assertValidationResult(expectedItems, result)
def test_validationCardinalityALL(self):
servicesInfo = [
@@ -119,10 +119,10 @@ class TestHDP206StackAdvisor(TestCase):
hosts = self.prepareHosts(["host1", "host2"])
result = self.stackAdvisor.validateComponentLayout(services, hosts)
- expectedMessages = [
- "Cardinality violation, cardinality=ALL, hosts count=1"
+ expectedItems = [
+ {"message": "Cardinality violation, cardinality=ALL, hosts count=1"}
]
- self.assertValidationMessages(expectedMessages, result)
+ self.assertValidationResult(expectedItems, result)
def test_validationHostIsNotUsedForNonValuableComponent(self):
servicesInfo = [
@@ -138,10 +138,10 @@ class TestHDP206StackAdvisor(TestCase):
hosts = self.prepareHosts(["host1", "host2"])
result = self.stackAdvisor.validateComponentLayout(services, hosts)
- expectedMessages = [
- "Host is not used"
+ expectedItems = [
+ {"message": "Host is not used", "host": "host1"}
]
- self.assertValidationMessages(expectedMessages, result)
+ self.assertValidationResult(expectedItems, result)
def test_validationCardinality01TwoHostsAssigned(self):
servicesInfo = [
@@ -156,10 +156,10 @@ class TestHDP206StackAdvisor(TestCase):
hosts = self.prepareHosts(["host1", "host2"])
result = self.stackAdvisor.validateComponentLayout(services, hosts)
- expectedMessages = [
- "Cardinality violation, cardinality=0-1, hosts count=2"
+ expectedItems = [
+ {"message": "Cardinality violation, cardinality=0-1, hosts count=2"}
]
- self.assertValidationMessages(expectedMessages, result)
+ self.assertValidationResult(expectedItems, result)
def test_validationHostIsNotUsed(self):
servicesInfo = [
@@ -174,10 +174,10 @@ class TestHDP206StackAdvisor(TestCase):
hosts = self.prepareHosts(["host1", "host2"])
result = self.stackAdvisor.validateComponentLayout(services, hosts)
- expectedMessages = [
- "Host is not used"
+ expectedItems = [
+ {"message": "Host is not used", "host": "host2"}
]
- self.assertValidationMessages(expectedMessages, result)
+ self.assertValidationResult(expectedItems, result)
def prepareHosts(self, hostsNames):
@@ -241,8 +241,15 @@ class TestHDP206StackAdvisor(TestCase):
if not len(l1) == len(l2) or not sorted(l1) == sorted(l2):
raise AssertionError("list1={0}, list2={1}".format(l1, l2))
- def assertValidationMessages(self, expectedMessages, result):
- realMessages = [item["message"] for item in result["items"]]
- self.checkEqual(expectedMessages, realMessages)
+ def assertValidationResult(self, expectedItems, result):
+ actualItems = []
+ for item in result["items"]:
+ next = { "message": item["message"] }
+ try:
+ next["host"] = item["host"]
+ except KeyError, err:
+ pass
+ actualItems.append(next)
+ self.checkEqual(expectedItems, actualItems)
[11/12] git commit: AMBARI-6853 - Alerts: Calculate Hash Based On
Alert Definitions (jonathanhurley)
Posted by jo...@apache.org.
AMBARI-6853 - Alerts: Calculate Hash Based On Alert Definitions (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9585c062
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9585c062
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9585c062
Branch: refs/heads/branch-alerts-dev
Commit: 9585c0624e9d393c53da43012538e0498884021e
Parents: 7eb8370
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Wed Aug 13 15:39:35 2014 -0400
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:19:49 2014 -0400
----------------------------------------------------------------------
.../apache/ambari/server/agent/HeartBeatHandler.java | 4 ++++
.../apache/ambari/server/agent/HeartBeatResponse.java | 13 +++++++++++++
.../internal/AlertDefinitionResourceProvider.java | 3 +++
ambari-server/src/main/resources/properties.json | 3 ++-
.../internal/AlertDefinitionResourceProviderTest.java | 7 +++++--
5 files changed, 27 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/9585c062/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
index 65b7b6f..3c16257 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
@@ -224,6 +224,10 @@ public class HeartBeatHandler {
annotateResponse(hostname, response);
}
+ // send the alert definition hash for this host
+ Map<String, String> alertDefinitionHashes = alertDefinitionHash.getHashes(hostname);
+ response.setAlertDefinitionHash(alertDefinitionHashes);
+
return response;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/9585c062/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
index 1e9dc12..fe656c8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
@@ -20,6 +20,7 @@ package org.apache.ambari.server.agent;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import com.google.gson.annotations.SerializedName;
@@ -55,6 +56,7 @@ public class HeartBeatResponse {
@SerializedName("restartAgent")
private boolean restartAgent = false;
+ private boolean hasMappedComponents = false;
@SerializedName("hasMappedComponents")
private boolean hasMappedComponents = false;
@@ -137,6 +139,16 @@ public class HeartBeatResponse {
this.hasMappedComponents = hasMappedComponents;
}
+ @JsonProperty("alertDefinitionHashes")
+ public Map<String, String> getAlertDefinitionHash() {
+ return alertDefinitionHashes;
+ }
+
+ @JsonProperty("alertDefinitionHashes")
+ public void setAlertDefinitionHash(Map<String, String> alertDefinitionHashes) {
+ this.alertDefinitionHashes = alertDefinitionHashes;
+ }
+
public void addExecutionCommand(ExecutionCommand execCmd) {
executionCommands.add(execCmd);
}
@@ -169,6 +181,7 @@ public class HeartBeatResponse {
buffer.append(", alertDefinitionCommands=").append(alertDefinitionCommands);
buffer.append(", registrationCommand=").append(registrationCommand);
buffer.append(", restartAgent=").append(restartAgent);
+ buffer.append(", alertDefinitionHashes=").append(alertDefinitionHashes);
buffer.append('}');
return buffer.toString();
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/9585c062/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
index f20a9a9..1510f86 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
@@ -72,6 +72,7 @@ public class AlertDefinitionResourceProvider extends AbstractControllerResourceP
protected static final String ALERT_DEF_COMPONENT_NAME = "AlertDefinition/component_name";
protected static final String ALERT_DEF_ENABLED = "AlertDefinition/enabled";
protected static final String ALERT_DEF_SCOPE = "AlertDefinition/scope";
+ protected static final String ALERT_DEF_UUID = "AlertDefinition/uuid";
private static Set<String> pkPropertyIds = new HashSet<String>(
Arrays.asList(ALERT_DEF_ID, ALERT_DEF_NAME));
@@ -407,6 +408,8 @@ public class AlertDefinitionResourceProvider extends AbstractControllerResourceP
setResourceProperty(resource, ALERT_DEF_SOURCE_TYPE, entity.getSourceType(), requestedIds);
setResourceProperty(resource, ALERT_DEF_LABEL, entity.getLabel(),
requestedIds);
+ setResourceProperty(resource, ALERT_DEF_UUID, entity.getHash(),
+ requestedIds);
if (!isCollection && null != resource.getPropertyValue(ALERT_DEF_SOURCE_TYPE)) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/9585c062/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
index aa2bf71..6f79413 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -420,7 +420,8 @@
"AlertDefinition/interval",
"AlertDefinition/enabled",
"AlertDefinition/scope",
- "AlertDefinition/source"
+ "AlertDefinition/source",
+ "AlertDefinition/uuid"
],
"Controller":[
"Controllers/name",
http://git-wip-us.apache.org/repos/asf/ambari/blob/9585c062/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
index 333f674..1ccfab2 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
@@ -108,7 +108,8 @@ public class AlertDefinitionResourceProviderTest {
AlertDefinitionResourceProvider.ALERT_DEF_CLUSTER_NAME,
AlertDefinitionResourceProvider.ALERT_DEF_ID,
AlertDefinitionResourceProvider.ALERT_DEF_NAME,
- AlertDefinitionResourceProvider.ALERT_DEF_LABEL);
+ AlertDefinitionResourceProvider.ALERT_DEF_LABEL,
+ AlertDefinitionResourceProvider.ALERT_DEF_UUID);
AmbariManagementController amc = createMock(AmbariManagementController.class);
Clusters clusters = createMock(Clusters.class);
@@ -136,6 +137,9 @@ public class AlertDefinitionResourceProviderTest {
Assert.assertEquals("Mock Label",
r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_LABEL));
+ Assert.assertEquals(DEFINITION_UUID,
+ r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_UUID));
+
verify(amc, clusters, cluster, dao);
}
@@ -402,7 +406,6 @@ public class AlertDefinitionResourceProviderTest {
return Arrays.asList(entity);
}
-
/**
*
*/
[12/12] git commit: AMBARI-6860 - Alerts: Add Ability to Invalidate
Definition Hash For An Agent (jonathanhurley)
Posted by jo...@apache.org.
AMBARI-6860 - Alerts: Add Ability to Invalidate Definition Hash For An Agent (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/abc7f628
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/abc7f628
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/abc7f628
Branch: refs/heads/branch-alerts-dev
Commit: abc7f628366035dfd5047d002c3a7af6f495df99
Parents: 9585c06
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Thu Aug 14 09:22:49 2014 -0400
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:25:56 2014 -0400
----------------------------------------------------------------------
.../apache/ambari/server/agent/HeartBeatHandler.java | 4 ----
.../apache/ambari/server/agent/HeartBeatResponse.java | 13 -------------
.../apache/ambari/server/controller/AmbariServer.java | 1 +
.../internal/AlertDefinitionResourceProvider.java | 3 ---
ambari-server/src/main/resources/properties.json | 3 +--
.../internal/AlertDefinitionResourceProviderTest.java | 6 +-----
6 files changed, 3 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/abc7f628/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
index 3c16257..65b7b6f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
@@ -224,10 +224,6 @@ public class HeartBeatHandler {
annotateResponse(hostname, response);
}
- // send the alert definition hash for this host
- Map<String, String> alertDefinitionHashes = alertDefinitionHash.getHashes(hostname);
- response.setAlertDefinitionHash(alertDefinitionHashes);
-
return response;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/abc7f628/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
index fe656c8..1e9dc12 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
@@ -20,7 +20,6 @@ package org.apache.ambari.server.agent;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import com.google.gson.annotations.SerializedName;
@@ -56,7 +55,6 @@ public class HeartBeatResponse {
@SerializedName("restartAgent")
private boolean restartAgent = false;
- private boolean hasMappedComponents = false;
@SerializedName("hasMappedComponents")
private boolean hasMappedComponents = false;
@@ -139,16 +137,6 @@ public class HeartBeatResponse {
this.hasMappedComponents = hasMappedComponents;
}
- @JsonProperty("alertDefinitionHashes")
- public Map<String, String> getAlertDefinitionHash() {
- return alertDefinitionHashes;
- }
-
- @JsonProperty("alertDefinitionHashes")
- public void setAlertDefinitionHash(Map<String, String> alertDefinitionHashes) {
- this.alertDefinitionHashes = alertDefinitionHashes;
- }
-
public void addExecutionCommand(ExecutionCommand execCmd) {
executionCommands.add(execCmd);
}
@@ -181,7 +169,6 @@ public class HeartBeatResponse {
buffer.append(", alertDefinitionCommands=").append(alertDefinitionCommands);
buffer.append(", registrationCommand=").append(registrationCommand);
buffer.append(", restartAgent=").append(restartAgent);
- buffer.append(", alertDefinitionHashes=").append(alertDefinitionHashes);
buffer.append('}');
return buffer.toString();
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/abc7f628/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
index 489fbb2..687a3d0 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
@@ -91,6 +91,7 @@ import org.apache.ambari.server.security.unsecured.rest.CertificateSign;
import org.apache.ambari.server.security.unsecured.rest.ConnectionInfo;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.ConfigHelper;
+import org.apache.ambari.server.state.alert.AlertDefinitionHash;
import org.apache.ambari.server.utils.StageUtils;
import org.apache.ambari.server.utils.VersionUtils;
import org.apache.ambari.server.view.ViewRegistry;
http://git-wip-us.apache.org/repos/asf/ambari/blob/abc7f628/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
index 1510f86..f20a9a9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
@@ -72,7 +72,6 @@ public class AlertDefinitionResourceProvider extends AbstractControllerResourceP
protected static final String ALERT_DEF_COMPONENT_NAME = "AlertDefinition/component_name";
protected static final String ALERT_DEF_ENABLED = "AlertDefinition/enabled";
protected static final String ALERT_DEF_SCOPE = "AlertDefinition/scope";
- protected static final String ALERT_DEF_UUID = "AlertDefinition/uuid";
private static Set<String> pkPropertyIds = new HashSet<String>(
Arrays.asList(ALERT_DEF_ID, ALERT_DEF_NAME));
@@ -408,8 +407,6 @@ public class AlertDefinitionResourceProvider extends AbstractControllerResourceP
setResourceProperty(resource, ALERT_DEF_SOURCE_TYPE, entity.getSourceType(), requestedIds);
setResourceProperty(resource, ALERT_DEF_LABEL, entity.getLabel(),
requestedIds);
- setResourceProperty(resource, ALERT_DEF_UUID, entity.getHash(),
- requestedIds);
if (!isCollection && null != resource.getPropertyValue(ALERT_DEF_SOURCE_TYPE)) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/abc7f628/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
index 6f79413..aa2bf71 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -420,8 +420,7 @@
"AlertDefinition/interval",
"AlertDefinition/enabled",
"AlertDefinition/scope",
- "AlertDefinition/source",
- "AlertDefinition/uuid"
+ "AlertDefinition/source"
],
"Controller":[
"Controllers/name",
http://git-wip-us.apache.org/repos/asf/ambari/blob/abc7f628/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
index 1ccfab2..76a633c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProviderTest.java
@@ -108,8 +108,7 @@ public class AlertDefinitionResourceProviderTest {
AlertDefinitionResourceProvider.ALERT_DEF_CLUSTER_NAME,
AlertDefinitionResourceProvider.ALERT_DEF_ID,
AlertDefinitionResourceProvider.ALERT_DEF_NAME,
- AlertDefinitionResourceProvider.ALERT_DEF_LABEL,
- AlertDefinitionResourceProvider.ALERT_DEF_UUID);
+ AlertDefinitionResourceProvider.ALERT_DEF_LABEL);
AmbariManagementController amc = createMock(AmbariManagementController.class);
Clusters clusters = createMock(Clusters.class);
@@ -137,9 +136,6 @@ public class AlertDefinitionResourceProviderTest {
Assert.assertEquals("Mock Label",
r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_LABEL));
- Assert.assertEquals(DEFINITION_UUID,
- r.getPropertyValue(AlertDefinitionResourceProvider.ALERT_DEF_UUID));
-
verify(amc, clusters, cluster, dao);
}
[08/12] git commit: AMBARI-6904. Admin View: need to handle mask
property attribute. (jaimin)
Posted by jo...@apache.org.
AMBARI-6904. Admin View: need to handle mask property attribute. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4d1e7e14
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4d1e7e14
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4d1e7e14
Branch: refs/heads/branch-alerts-dev
Commit: 4d1e7e14b901244bcd7721e7719a4519216e97cd
Parents: 08e5fc4
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Mon Aug 18 19:15:48 2014 -0700
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Aug 18 23:12:35 2014 -0400
----------------------------------------------------------------------
.../main/resources/ui/admin-web/app/index.html | 4 +--
.../app/scripts/controllers/NavbarCtrl.js | 5 +++-
.../controllers/ambariViews/ViewsEditCtrl.js | 16 ++++++++++--
.../controllers/groups/GroupsEditCtrl.js | 1 -
.../controllers/groups/GroupsListCtrl.js | 12 ++++++++-
.../scripts/controllers/users/UsersListCtrl.js | 11 +++++++-
.../resources/ui/admin-web/app/styles/main.css | 27 +++++++++++++++++++-
.../admin-web/app/views/ambariViews/create.html | 22 +++++++++++-----
.../admin-web/app/views/ambariViews/edit.html | 8 +++---
.../ui/admin-web/app/views/groups/create.html | 4 +--
.../ui/admin-web/app/views/groups/edit.html | 6 ++++-
.../ui/admin-web/app/views/groups/list.html | 2 +-
.../ui/admin-web/app/views/users/create.html | 4 +--
.../ui/admin-web/app/views/users/show.html | 4 +--
14 files changed, 98 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/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 7b03087..2bc520f 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
@@ -19,9 +19,10 @@
<html class="no-js">
<head>
<meta charset="utf-8">
- <title>AdminConsole</title>
+ <title>Ambari</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="shortcut icon" href="/img/logo.png" type="image/x-icon">
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<!-- build:css styles/vendor.css -->
@@ -47,7 +48,6 @@
<div class="container">
<a href="#/" class="logo"><img src="/img/logo-white.png" alt="Apache Ambari" title="Apache Ambari"></a>
<a href="#/" class="brand" title="Apache Ambari">Ambari</a>
- <a href="" class="brand cluster-name">Admin Console</a>
<ul class="nav navbar-nav navbar-right">
<li>
<div class="btn-group" dropdown is-open="status.isopen">
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/NavbarCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/NavbarCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/NavbarCtrl.js
index b839feb..8c7ec9e 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/NavbarCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/NavbarCtrl.js
@@ -18,7 +18,7 @@
'use strict';
angular.module('ambariAdminConsole')
-.controller('NavbarCtrl',['$scope', 'Cluster', '$location', 'uiAlert', 'ROUTES', 'LDAP', 'ConfirmationModal', function($scope, Cluster, $location, uiAlert, ROUTES, LDAP, ConfirmationModal) {
+.controller('NavbarCtrl',['$scope', 'Cluster', '$location', 'uiAlert', 'ROUTES', 'LDAP', 'ConfirmationModal', '$rootScope', function($scope, Cluster, $location, uiAlert, ROUTES, LDAP, ConfirmationModal, $rootScope) {
$scope.cluster = null;
Cluster.getStatus().then(function(cluster) {
$scope.cluster = cluster;
@@ -46,6 +46,9 @@ angular.module('ambariAdminConsole')
ConfirmationModal.show('Sync LDAP', 'Are you sure you want to sync LDAP?').then(function() {
LDAP.sync($scope.ldapData['LDAP'].groups, $scope.ldapData['LDAP'].users).then(function() {
uiAlert.success('LDAP synced successful');
+ $rootScope.$evalAsync(function() {
+ $rootScope.LDAPSynced = true;
+ });
}).catch(function(data) {
uiAlert.danger(data.data.status, data.data.message);
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
index 42318a7..6d251a5 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
@@ -38,6 +38,17 @@ angular.module('ambariAdminConsole')
});
}
+
+ // Get META for properties
+ View.getMeta($routeParams.viewId, $routeParams.version).then(function(data) {
+ var meta = {};
+ angular.forEach(data.data.ViewVersionInfo.parameters, function(parameter) {
+ meta[parameter.name] = parameter;
+ });
+ $scope.configurationMeta = meta;
+ reloadViewInfo();
+ });
+
function reloadViewPrivilegies(){
PermissionLoader.getViewPermissions({
viewName: $routeParams.viewId,
@@ -57,7 +68,7 @@ angular.module('ambariAdminConsole')
$scope.permissions = [];
- reloadViewInfo();
+ // reloadViewInfo();
reloadViewPrivilegies();
$scope.editSettingsDisabled = true;
@@ -71,6 +82,7 @@ angular.module('ambariAdminConsole')
}
})
.success(function() {
+ reloadViewInfo();
$scope.editSettingsDisabled = true;
})
.catch(function(data) {
@@ -140,4 +152,4 @@ angular.module('ambariAdminConsole')
});
});
};
-}]);
\ No newline at end of file
+}]);
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
index b5bcded..0896de1 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
@@ -84,7 +84,6 @@ angular.module('ambariAdminConsole')
privilegies.views[privilegie.instance_name].version = privilegie.version;
privilegies.views[privilegie.instance_name].view_name = privilegie.view_name;
privilegies.views[privilegie.instance_name].privileges += privilegies.views[privilegie.instance_name].privileges ? ', ' + privilegie.permission_name : privilegie.permission_name;
-
}
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js
index 1ae4c44..82eb029 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js
@@ -18,7 +18,7 @@
'use strict';
angular.module('ambariAdminConsole')
-.controller('GroupsListCtrl',['$scope', 'Group', '$modal', 'ConfirmationModal', function($scope, Group, $modal, ConfirmationModal) {
+.controller('GroupsListCtrl',['$scope', 'Group', '$modal', 'ConfirmationModal', '$rootScope', function($scope, Group, $modal, ConfirmationModal, $rootScope) {
$scope.groups = [];
$scope.groupsPerPage = 10;
@@ -62,4 +62,14 @@ angular.module('ambariAdminConsole')
$scope.currentTypeFilter = $scope.typeFilterOptions[0];
loadGroups();
+
+ $rootScope.$watch(function(scope) {
+ return scope.LDAPSynced;
+ }, function(LDAPSynced) {
+ if(LDAPSynced === true){
+ $rootScope.LDAPSynced = false;
+ loadGroups();
+ }
+ });
+
}]);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js
index 4fee376..2ecf8e7 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js
@@ -18,7 +18,7 @@
'use strict';
angular.module('ambariAdminConsole')
-.controller('UsersListCtrl',['$scope', 'User', '$modal', function($scope, User, $modal) {
+.controller('UsersListCtrl',['$scope', 'User', '$modal', '$rootScope', function($scope, User, $modal, $rootScope) {
$scope.users = [];
$scope.usersPerPage = 10;
$scope.currentPage = 1;
@@ -67,4 +67,13 @@ angular.module('ambariAdminConsole')
$scope.currentTypeFilter = $scope.typeFilterOptions[0];
$scope.loadUsers();
+
+ $rootScope.$watch(function(scope) {
+ return scope.LDAPSynced;
+ }, function(LDAPSynced) {
+ if(LDAPSynced === true){
+ $rootScope.LDAPSynced = false;
+ $scope.loadUsers();
+ }
+ });
}]);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/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 9b1b31d..f6db020 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
@@ -98,6 +98,10 @@
border-radius: 0;
}
+.views-list-table .panel-group .panel:nth-child(even) .panel-heading{
+ background: #f9f9f9;
+}
+
.users-pane table .glyphicon{
width: 14px;
}
@@ -238,7 +242,12 @@
top: 5px;
z-index: 100;
}
-
+.groups-pane table thead th{
+ border-top: 0;
+}
+.groups-pane table thead tr:first-child th{
+ border: 0;
+}
.container{
padding-left: 0;
@@ -679,3 +688,19 @@ input[type="submit"].btn.btn-mini {
*padding-top: 1px;
*padding-bottom: 1px;
}
+
+.alert-info {
+ background-color: #E6F1F6;
+ border-color: #D2D9DD;
+ color: #4E575B;
+ text-shadow: none;
+}
+.alert-info .link {
+ padding: 0 15px;
+}
+.alert-info .link-left-pad {
+ padding-left: 15px;
+}
+.breadcrumb > .active {
+ color: #666;
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
index 6c5ded8..b7e3606 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
@@ -22,9 +22,17 @@
<hr>
<form class="form-horizontal create-view-form" role="form" name="form.isntanceCreateForm" novalidate>
<div class="view-header">
- <div class="description">
- <h4>View: <span>{{view.ViewVersionInfo.view_name}}</span></h4>
- <h4>Version: <select ng-model="version" class="instanceversion-input" ng-change="versionChanged()" ng-options="o as o for o in versions"></select></h4>
+ <div class="form-group">
+ <div class="col-sm-2">
+ <label for="" class="control-label">View</label>
+ </div>
+ <div class="col-sm-10"><label for="" class="control-label">{{view.ViewVersionInfo.view_name}}</label></div>
+ </div>
+ <div class="form-group">
+ <div class="col-sm-2"><label for="" class="control-label">Version</label></div>
+ <div class="col-sm-2">
+ <select ng-model="version" class="instanceversion-input form-control" ng-change="versionChanged()" ng-options="o as o for o in versions"></select>
+ </div>
</div>
</div>
@@ -53,7 +61,7 @@
</div>
<div class="form-group"
ng-class="{'has-error' : ( (form.isntanceCreateForm.displayLabel.$error.required || form.isntanceCreateForm.displayLabel.$error.pattern) && form.isntanceCreateForm.submitted)}">
- <label for="" class="control-labe col-sm-2">Display Label</label>
+ <label for="" class="control-label col-sm-2">Display Label</label>
<div class="col-sm-10">
<input type="text" class="form-control instancelabel-input" name="displayLabel" ng-model="instance.label" required ng-pattern="nameValidationPattern" autocomplete="off">
@@ -83,11 +91,11 @@
<div class="panel-body">
<div class="form-group" ng-repeat="parameter in instance.properties"
ng-class="{'has-error' : (form.isntanceCreateForm[parameter.name].$error.required && form.isntanceCreateForm.submitted)}" >
- <label for="" class="col-sm-3 control-label" ng-class="{'not-required': !parameter.required}">{{parameter.description}}{{parameter.required ? '*' : ''}}</label>
+ <label for="" class="col-sm-3 control-label" ng-class="{'not-required': !parameter.required}" tooltip="{{parameter.description}}">{{parameter.name}}{{parameter.required ? '*' : ''}}</label>
<div class="col-sm-9">
- <input type="text" class="form-control viewproperty-input" name="{{parameter.name}}" ng-required="parameter.required" ng-model="parameter.value" autocomplete="off">
+ <input type="{{parameter.masked ? 'password' : 'text'}}" class="form-control viewproperty-input" name="{{parameter.name}}" ng-required="parameter.required" ng-model="parameter.value" autocomplete="off">
<div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.isntanceCreateForm[parameter.name].$error.required && form.isntanceCreateForm.submitted'>
- Field requried!
+ This field is required.
</div>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
index 92fbecb..7296824 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
@@ -130,9 +130,9 @@
<div class="panel-body">
<form action="" class="form-horizontal" ng-hide="isConfigurationEmpty">
<fieldset ng-disabled="editConfigurationDisabled">
- <div class="form-group" ng-repeat="(propertyName, propertyValue) in configuration">
- <label for="" class="control-label col-sm-3">{{propertyName}}</label>
- <div class="col-sm-9"><input type="text" class="form-control propertie-input" ng-model="configuration[propertyName]"></div>
+ <div class="form-group" ng-repeat="(propertyName, propertyValue) in configurationMeta">
+ <label for="" class="control-label col-sm-3" ng-class="{'not-required': !propertyValue.required}" tooltip="{{propertyValue.description}}">{{propertyName}}{{propertyValue.required ? '*' : ''}}</label>
+ <div class="col-sm-9"><input type="{{propertyValue.masked ? 'password' : 'text'}}" class="form-control propertie-input" ng-model="configuration[propertyName]"></div>
</div>
<div class="form-group" ng-hide="editConfigurationDisabled">
<div class="col-sm-offset-2 col-sm-10">
@@ -143,7 +143,7 @@
</fieldset>
</form>
<div ng-show="isConfigurationEmpty">
- <div class="alert alert-info">There are no configuration defined for this view.</div>
+ <div class="alert alert-info">There are no properties defined for this view.</div>
</div>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html
index 2395da7..9e3bc47 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html
@@ -20,13 +20,13 @@
<li class="active">Create Local Group</li>
</ol>
<hr>
-<form class="form-horizontal" role="form" novalidate name="form">
+<form class="form-horizontal" role="form" novalidate name="form" autocomplete="off">
<div class="form-group" ng-class="{'has-error' : (form.group_name.$error.required || form.group_name.$error.pattern) && form.submitted}">
<label for="groupname" class="col-sm-2 control-label">Group name</label>
<div class="col-sm-10">
<input type="text" id="groupname" class="form-control groupname-input" name="group_name" placeholder="Group name" ng-model="group.group_name" required ng-pattern="/^([a-zA-Z0-9._\s]+)$/" autocomplete="off">
<div class="alert alert-danger top-margin" ng-show="form.group_name.$error.required && form.submitted">
- Required
+ This field is required.
</div>
<div class="alert alert-danger top-margin" ng-show="form.group_name.$error.pattern && form.submitted">
Must contain only simple characters.
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
index 7e399c0..d82caf6 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
@@ -22,7 +22,11 @@
<li class="active">{{group.group_name}}</li>
</ol>
<div class="pull-right top-margin-4">
- <button class="btn btn-danger deletegroup-btn" ng-click="deleteGroup(group)">Delete Group</button>
+ <div ng-switch="group.ldap_group">
+ <button ng-switch-when="true" class="btn disabled deletegroup-btn deleteuser-btn" tooltip="Cannot Delete Group">Delete Group</button>
+ <button ng-switch-when="false" class="btn btn-danger deletegroup-btn" ng-click="deleteGroup(group)">Delete Group</button>
+ </div>
+
</div>
</div>
<hr>
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html
index bfb2b87..f5fd1dd 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html
@@ -29,7 +29,7 @@
<thead>
<tr>
<th>
- <label for="">Group name</label>
+ <label for="">Group Name</label>
</th>
<th>
<label for="">Type</label>
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html
index fb379ce..912a26d 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html
@@ -20,13 +20,13 @@
<li class="active">Create Local User</li>
</ol>
<hr>
-<form class="form-horizontal create-user-form" role="form" novalidate name="form">
+<form class="form-horizontal create-user-form" role="form" novalidate name="form" autocomplete="off">
<div class="form-group" ng-class="{'has-error' : form.user_name.$error.required && form.submitted}">
<label for="username" class="col-sm-2 control-label">Username</label>
<div class="col-sm-10">
<input type="text" id="username" class="form-control username-input" name="user_name" placeholder="User name" ng-model="user.user_name" required autocomplete="off">
<div class="alert alert-danger top-margin" ng-show="form.user_name.$error.required && form.submitted">
- Required
+ This field is required.
</div>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/4d1e7e14/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html
index cbd0092..5530031 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html
@@ -23,7 +23,7 @@
<li class="active"><span class="glyphicon glyphicon-flash" ng-show="user.admin"></span>{{user.user_name}}</li>
</ol>
<div class="pull-right top-margin-4">
- <div ng-switch="isCurrentUser">
+ <div ng-switch="isCurrentUser || user.ldap_user">
<button class="btn deleteuser-btn disabled btn-default" ng-switch-when="true" tooltip="Cannot Delete User">Delete User</button>
<button class="btn deleteuser-btn btn-danger" ng-switch-when="false" ng-click="deleteUser()">Delete User</button>
</div>
@@ -52,7 +52,7 @@
<div class="form-group">
<label for="password" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
- <a href ng-click="openChangePwdDialog()" class="btn btn-default changepassword">Change Password</a>
+ <a href ng-click="openChangePwdDialog()" ng-disabled="user.ldap_user" class="btn btn-default changepassword">Change Password</a>
</div>
</div>
<div class="form-group">