[ambari] 01/01: Merge pull request #835 from scottduan/AMBARI-23136-branch-feature-AMBARI-14714

2018-03-29 Thread mradhakrishnan
This is an automated email from the ASF dual-hosted git repository.

mradhakrishnan pushed a commit to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 701f8489a67362af05eaa8d510141532050a0908
Merge: 6433f33 a04b93d
Author: mradha25 
AuthorDate: Thu Mar 29 17:40:34 2018 -0700

Merge pull request #835 from 
scottduan/AMBARI-23136-branch-feature-AMBARI-14714

Ambari 23136 branch feature ambari 14714

 .../execution_command/execution_command.py | 128 ++---
 1 file changed, 113 insertions(+), 15 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
mradhakrish...@apache.org.


[ambari] branch branch-feature-AMBARI-14714 updated (6433f33 -> 701f848)

2018-03-29 Thread mradhakrishnan
This is an automated email from the ASF dual-hosted git repository.

mradhakrishnan pushed a change to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git.


from 6433f33  AMBARI-23398: Fix merge issues in branch-feature-AMBARI-14714 
(jluniya) (#821)
 add 9510a3c  AMBARI-23136: Create an interface to read command.json 
properties via API instead of direct access
 add ab5d244  AMBARI-23136: Create an interface to read command.json 
properties via API instead of direct access
 add 52fc032  Merge branch 'AMBARI-23136-branch-feature-AMBARI-14714' of 
https://github.com/scottduan/ambari into 
AMBARI-23136-branch-feature-AMBARI-14714
 add ed38996  AMBARI-23136: Continued: Create an interface to read 
command.json properties via API instead of direct access
 add a04b93d  Merge branch 'branch-feature-AMBARI-14714' into 
AMBARI-23136-branch-feature-AMBARI-14714
 new 701f848  Merge pull request #835 from 
scottduan/AMBARI-23136-branch-feature-AMBARI-14714

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../execution_command/execution_command.py | 128 ++---
 1 file changed, 113 insertions(+), 15 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
mradhakrish...@apache.org.


[ambari] branch trunk updated: [AMBARI-23329] Ambari: set 'cloud storage' usage tracking properties for AWS, Azure object stores

2018-03-29 Thread ncole
This is an automated email from the ASF dual-hosted git repository.

ncole pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 696083e  [AMBARI-23329] Ambari: set 'cloud storage' usage tracking 
properties for AWS, Azure object stores
696083e is described below

commit 696083e0ce406fea1eccc7a9dbbca8b7d3700d66
Author: Nate Cole 
AuthorDate: Thu Mar 29 16:01:00 2018 -0400

[AMBARI-23329] Ambari: set 'cloud storage' usage tracking properties for 
AWS, Azure object stores
---
 .../common-services/HDFS/2.1.0.2.0/configuration/core-site.xml | 10 ++
 .../main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml  |  9 +
 .../stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml |  4 
 .../stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml |  4 
 .../stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.5.xml |  4 
 .../stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.6.xml |  4 
 .../src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml |  4 
 .../src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml |  4 
 .../src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.5.xml |  4 
 .../src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.6.xml |  4 
 .../main/resources/stacks/HDP/2.4/upgrades/config-upgrade.xml  |  9 +
 .../stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml |  4 
 .../stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.5.xml |  4 
 .../stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.6.xml |  4 
 .../src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.4.xml |  4 
 .../src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.5.xml |  4 
 .../src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.6.xml |  4 
 .../main/resources/stacks/HDP/2.5/upgrades/config-upgrade.xml  |  9 +
 .../stacks/HDP/2.5/upgrades/nonrolling-upgrade-2.5.xml |  4 
 .../stacks/HDP/2.5/upgrades/nonrolling-upgrade-2.6.xml |  4 
 .../src/main/resources/stacks/HDP/2.5/upgrades/upgrade-2.5.xml |  4 
 .../src/main/resources/stacks/HDP/2.5/upgrades/upgrade-2.6.xml |  4 
 22 files changed, 109 insertions(+)

diff --git 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/core-site.xml
 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/core-site.xml
index d39ea78..4933a4a 100644
--- 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/core-site.xml
+++ 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/core-site.xml
@@ -197,4 +197,14 @@ DEFAULT
 
 
   
+  
+fs.azure.user.agent.prefix
+User-Agent: APN/1.0 Hortonworks/1.0 HDP/{{version}}
+
+  
+  
+fs.s3a.user.agent.prefix
+User-Agent: APN/1.0 Hortonworks/1.0 HDP/{{version}}
+
+  
 
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml
index 2324673..4195484 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/config-upgrade.xml
@@ -393,6 +393,15 @@
 
 
   
+  
+
+  
+core-site
+
+
+  
+
+  
 
 
 
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
index 7260b35..f48751a 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
@@ -258,6 +258,10 @@
 
   
 
+  
+
+  
+
   
   
 
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml
index aca8891..214e80d 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml
@@ -269,6 +269,10 @@
 
   
 
+  
+
+  
+
   
   
 
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.5.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.5.xml
index d3f287b..f006cf5 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.5.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.5.xml
@@ -290,6 +290,10 @@
 
   
 
+  
+
+  
+
   
   
  

[ambari] branch branch-feature-AMBARI-14714-ui updated: Implemented use of service config API in UI. (#836)

2018-03-29 Thread ishanbha
This is an automated email from the ASF dual-hosted git repository.

ishanbha pushed a commit to branch branch-feature-AMBARI-14714-ui
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/branch-feature-AMBARI-14714-ui 
by this push:
 new b5e77e9  Implemented use of service config API in UI. (#836)
b5e77e9 is described below

commit b5e77e930bf3cc9e52fb6ecd5d7a36c6b86dabfd
Author: Jason Golieb 
AuthorDate: Thu Mar 29 16:02:55 2018 -0400

Implemented use of service config API in UI. (#836)
---
 .../app/controllers/wizard/step8_controller.js | 49 --
 ambari-web/app/routes/installer.js |  6 +--
 ambari-web/app/utils/ajax/ajax.js  | 12 ++
 ambari-web/test/controllers/wizard/step8_test.js   | 34 +++
 4 files changed, 57 insertions(+), 44 deletions(-)

diff --git a/ambari-web/app/controllers/wizard/step8_controller.js 
b/ambari-web/app/controllers/wizard/step8_controller.js
index 2ef1597..e4da276 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -1465,6 +1465,8 @@ App.WizardStep8Controller = 
App.WizardStepController.extend(App.AddSecurityConfi
   registerHostsToComponent: function (hostNames, componentName) {
 if (!hostNames.length) return;
 
+let serviceName,
+serviceGroupName;
 var queryStr = '';
 hostNames.forEach(function (hostName) {
   queryStr += 'Hosts/host_name=' + hostName + '|';
@@ -1472,6 +1474,13 @@ App.WizardStep8Controller = 
App.WizardStepController.extend(App.AddSecurityConfi
 //slice off last symbol '|'
 queryStr = queryStr.slice(0, -1);
 
+this.get('selectedServices').forEach( function (service) {
+  if (service.get('serviceComponents').findProperty('componentName', 
componentName)) {
+serviceName = service.get('serviceName');
+serviceGroupName = service.get('stackName') + "-" + 
service.get('stackVersion');
+  }
+});
+
 var data = {
   "RequestInfo": {
 "query": queryStr
@@ -1480,7 +1489,9 @@ App.WizardStep8Controller = 
App.WizardStepController.extend(App.AddSecurityConfi
 "host_components": [
   {
 "HostRoles": {
-  "component_name": componentName
+  "component_name": componentName,
+  "service_name": serviceName,
+  "service_group_name": serviceGroupName
 }
   }
 ]
@@ -1557,39 +1568,33 @@ App.WizardStep8Controller = 
App.WizardStepController.extend(App.AddSecurityConfi
*/
   applyConfigurationsToCluster: function (serviceConfigTags) {
 var allServices = 
this.get('installedServices').concat(this.get('selectedServices'));
-var allConfigData = [];
+
 allServices.forEach(function (service) {
   var serviceConfigData = [];
+ 
   Object.keys(service.get('configTypesRendered')).forEach(function (type) {
 var serviceConfigTag = serviceConfigTags.findProperty('type', type);
 if (serviceConfigTag) {
   serviceConfigData.pushObject(serviceConfigTag);
 }
   }, this);
+  
   if (serviceConfigData.length) {
-allConfigData.pushObject(JSON.stringify({
-  Clusters: {
-desired_config: serviceConfigData.map(function(item) {
-  var props = {};
-  Em.keys(item.properties).forEach(function(propName) {
-if (item.properties[propName] !== null) {
-  props[propName] = item.properties[propName];
-}
-  });
-  item.properties = props;
-  return item;
-})
+//TODO: Remove this delete call when the API supports 
service_config_version_note
+serviceConfigData.forEach(scd => {
+  delete scd.service_config_version_note;
+})
+
+this.addRequestToAjaxQueue({
+  name: 'common.service.create.configs',
+  data: {
+serviceName: service.get('serviceName'),
+serviceGroupName: 
`${service.get('stackName')}-${service.get('stackVersion')}`,
+data: serviceConfigData
   }
-}));
+});
   }
 }, this);
-
-this.addRequestToAjaxQueue({
-  name: 'common.across.services.configurations',
-  data: {
-data: '[' + allConfigData.toString() + ']'
-  }
-});
   },
 
   /**
diff --git a/ambari-web/app/routes/installer.js 
b/ambari-web/app/routes/installer.js
index ffa392f..2082052 100644
--- a/ambari-web/app/routes/installer.js
+++ b/ambari-web/app/routes/installer.js
@@ -303,16 +303,16 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
 controller.save('selectedServices');
 controller.save('selectedMpacks');
 controller.save('advancedMode');
-var wizardStep6Controller = router.get('wizardStep6Controller');
+var 

[ambari] branch trunk updated: [AMBARI-23370] Download client configs fails due to 'clusterLevelParams' not found (#802)

2018-03-29 Thread swagle
This is an automated email from the ASF dual-hosted git repository.

swagle pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 6f79c88  [AMBARI-23370] Download client configs fails due to 
'clusterLevelParams' not found (#802)
6f79c88 is described below

commit 6f79c888aed062ef60d40bbd647d43f5629b0b2d
Author: majorendre <34535487+majoren...@users.noreply.github.com>
AuthorDate: Thu Mar 29 20:55:37 2018 +0200

[AMBARI-23370] Download client configs fails due to 'clusterLevelParams' 
not found (#802)
---
 .../server/controller/KerberosHelperImpl.java  | 10 +---
 .../internal/ClientConfigResourceProvider.java | 61 +++---
 .../topology/ClusterConfigurationRequest.java  |  5 +-
 .../org/apache/ambari/server/utils/StageUtils.java | 61 +-
 .../controller/AmbariManagementControllerTest.java |  2 +-
 .../apache/ambari/server/utils/StageUtilsTest.java | 24 -
 6 files changed, 45 insertions(+), 118 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelperImpl.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelperImpl.java
index d2323c4..3f0ea84 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelperImpl.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelperImpl.java
@@ -588,8 +588,6 @@ public class KerberosHelperImpl implements KerberosHelper {
   configurations.put("clusterHostInfo", clusterHostInfoMap);
 }
 
-Map componentToClusterInfoMap = 
StageUtils.getComponentToClusterInfoKeyMap();
-
 // Iterate through the recommendations to find the recommended host 
assignments
 for (RecommendationResponse.HostGroup hostGroup : hostGroups) {
   Set> components = hostGroup.getComponents();
@@ -607,13 +605,7 @@ public class KerberosHelperImpl implements KerberosHelper {
   // If the component filter is null or the current component 
is found in the filter,
   // include it in the map
   if ((componentFilter == null) || 
componentFilter.contains(componentName)) {
-String key = componentToClusterInfoMap.get(componentName);
-
-if (StringUtils.isEmpty(key)) {
-  // If not found in the componentToClusterInfoMap, then 
keys are assumed to be
-  // in the form of _hosts (lowercase)
-  key = componentName.toLowerCase() + "_hosts";
-}
+String key = 
StageUtils.getClusterHostInfoKey(componentName);
 
 Set fqdns = new TreeSet<>();
 
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
index fda3817..8992413 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
@@ -65,6 +65,7 @@ import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.configuration.Configuration;
 import org.apache.ambari.server.controller.AmbariManagementController;
+import org.apache.ambari.server.controller.AmbariManagementControllerImpl;
 import org.apache.ambari.server.controller.MaintenanceStateHelper;
 import org.apache.ambari.server.controller.ServiceComponentHostRequest;
 import org.apache.ambari.server.controller.ServiceComponentHostResponse;
@@ -369,27 +370,13 @@ public class ClientConfigResourceProvider extends 
AbstractControllerResourceProv
 }
 osFamily = clusters.getHost(hostName).getOsFamily();
 
-TreeMap hostLevelParams = new TreeMap<>();
-StageUtils.useStackJdkIfExists(hostLevelParams, configs);
-hostLevelParams.put(JDK_LOCATION, 
managementController.getJdkResourceUrl());
-hostLevelParams.put(STACK_NAME, stackId.getStackName());
-hostLevelParams.put(STACK_VERSION, stackId.getStackVersion());
-hostLevelParams.put(DB_NAME, managementController.getServerDB());
-hostLevelParams.put(MYSQL_JDBC_URL, 
managementController.getMysqljdbcUrl());
-hostLevelParams.put(ORACLE_JDBC_URL, 
managementController.getOjdbcUrl());
-hostLevelParams.put(HOST_SYS_PREPPED, configs.areHostsSysPrepped());
-hostLevelParams.putAll(managementController.getRcaParameters());
-hostLevelParams.put(AGENT_STACK_RETRY_ON_UNAVAILABILITY, 
configs.isAgentStackRetryOnInstallEnabled());
-

[ambari] branch branch-2.6 updated: AMBARI-22834. Fix Zeppelin service check pid file (#305)

2018-03-29 Thread adoroszlai
This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch branch-2.6
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/branch-2.6 by this push:
 new 62df4e7  AMBARI-22834. Fix Zeppelin service check pid file (#305)
62df4e7 is described below

commit 62df4e7a5f6a38fd463ced268529e783d67f0af5
Author: Matthias <5024695+xmatth...@users.noreply.github.com>
AuthorDate: Thu Mar 29 18:27:39 2018 +0200

AMBARI-22834. Fix Zeppelin service check pid file (#305)
---
 .../ZEPPELIN/0.6.0/package/scripts/alert_check_zeppelin.py | 3 ++-
 .../ZEPPELIN/0.7.0/package/scripts/alert_check_zeppelin.py | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0/package/scripts/alert_check_zeppelin.py
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0/package/scripts/alert_check_zeppelin.py
index e6d7a91..cc51784 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0/package/scripts/alert_check_zeppelin.py
+++ 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0/package/scripts/alert_check_zeppelin.py
@@ -29,6 +29,7 @@ sys.setdefaultencoding('utf8')
 config = Script.get_config()
 
 zeppelin_pid_dir = config['configurations']['zeppelin-env']['zeppelin_pid_dir']
+zeppelin_user = config['configurations']['zeppelin-env']['zeppelin_user']
 
 RESULT_CODE_OK = 'OK'
 RESULT_CODE_CRITICAL = 'CRITICAL'
@@ -37,7 +38,7 @@ RESULT_CODE_UNKNOWN = 'UNKNOWN'
 
 def execute(configurations={}, parameters={}, host_name=None):
   try:
-pid_file = glob.glob(zeppelin_pid_dir + '/zeppelin-*.pid')[0]
+pid_file = glob.glob(zeppelin_pid_dir + '/zeppelin-' + zeppelin_user + 
'-*.pid')[0]
 check_process_status(pid_file)
   except ComponentIsNotRunning as ex:
 return (RESULT_CODE_CRITICAL, [str(ex)])
diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.7.0/package/scripts/alert_check_zeppelin.py
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.7.0/package/scripts/alert_check_zeppelin.py
index e6d7a91..cc51784 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.7.0/package/scripts/alert_check_zeppelin.py
+++ 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.7.0/package/scripts/alert_check_zeppelin.py
@@ -29,6 +29,7 @@ sys.setdefaultencoding('utf8')
 config = Script.get_config()
 
 zeppelin_pid_dir = config['configurations']['zeppelin-env']['zeppelin_pid_dir']
+zeppelin_user = config['configurations']['zeppelin-env']['zeppelin_user']
 
 RESULT_CODE_OK = 'OK'
 RESULT_CODE_CRITICAL = 'CRITICAL'
@@ -37,7 +38,7 @@ RESULT_CODE_UNKNOWN = 'UNKNOWN'
 
 def execute(configurations={}, parameters={}, host_name=None):
   try:
-pid_file = glob.glob(zeppelin_pid_dir + '/zeppelin-*.pid')[0]
+pid_file = glob.glob(zeppelin_pid_dir + '/zeppelin-' + zeppelin_user + 
'-*.pid')[0]
 check_process_status(pid_file)
   except ComponentIsNotRunning as ex:
 return (RESULT_CODE_CRITICAL, [str(ex)])

-- 
To stop receiving notification emails like this one, please contact
adorosz...@apache.org.


[ambari] branch trunk updated: AMBARI-23343. Server should acknowledge agent about received reports. (mpapirkovskyy)

2018-03-29 Thread mpapirkovskyy
This is an automated email from the ASF dual-hosted git repository.

mpapirkovskyy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new bafa182  AMBARI-23343. Server should acknowledge agent about received 
reports. (mpapirkovskyy)
bafa182 is described below

commit bafa18256652258df3d19dd48ff101829e53580c
Author: Myroslav Papirkovskyi 
AuthorDate: Fri Mar 23 18:16:47 2018 +0200

AMBARI-23343. Server should acknowledge agent about received reports. 
(mpapirkovskyy)
---
 .../ambari/server/agent/HeartBeatResponse.java |  4 ++-
 .../ambari/server/agent/RegistrationResponse.java  |  3 +-
 .../server/agent/stomp/AgentReportsController.java | 12 ---
 .../ambari/server/agent/stomp/ReportsResponse.java | 24 +
 .../ambari/server/agent/stomp/StompResponse.java   | 42 ++
 5 files changed, 79 insertions(+), 6 deletions(-)

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 b32c974..67e5850 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
@@ -21,6 +21,8 @@ package org.apache.ambari.server.agent;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.ambari.server.agent.stomp.StompResponse;
+
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.google.gson.annotations.SerializedName;
@@ -29,7 +31,7 @@ import com.google.gson.annotations.SerializedName;
  * Controller to Agent response data model.
  */
 @JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class HeartBeatResponse {
+public class HeartBeatResponse extends StompResponse {
 
   @SerializedName("responseId")
   @com.fasterxml.jackson.annotation.JsonProperty("id")
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/RegistrationResponse.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/RegistrationResponse.java
index 20ce499..a46ff08 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/RegistrationResponse.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/RegistrationResponse.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.ambari.server.agent.stomp.StompResponse;
 import org.codehaus.jackson.annotate.JsonProperty;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -33,7 +34,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
  *
  */
 @JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class RegistrationResponse {
+public class RegistrationResponse extends StompResponse {
   @JsonProperty("response")
   @JsonIgnore
   private RegistrationStatus response;
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/AgentReportsController.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/AgentReportsController.java
index ccfbc75..885b308 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/AgentReportsController.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/AgentReportsController.java
@@ -62,7 +62,7 @@ public class AgentReportsController {
   }
 
   @MessageMapping("/component_status")
-  public void handleComponentReportStatus(@Header String simpSessionId, 
ComponentStatusReports message)
+  public ReportsResponse handleComponentReportStatus(@Header String 
simpSessionId, ComponentStatusReports message)
   throws WebApplicationException, InvalidStateTransitionException, 
AmbariException {
 List statuses = new ArrayList<>();
 for (Map.Entry clusterReport : 
message.getComponentStatusReports().entrySet()) {
@@ -78,10 +78,11 @@ public class AgentReportsController {
 
 agentReportsProcessor.addAgentReport(new 
AgentReport(agentSessionManager.getHost(simpSessionId).getHostName(),
 statuses, null, null));
+return new ReportsResponse();
   }
 
   @MessageMapping("/commands_status")
-  public void handleCommandReportStatus(@Header String simpSessionId, 
CommandStatusReports message)
+  public ReportsResponse handleCommandReportStatus(@Header String 
simpSessionId, CommandStatusReports message)
   throws WebApplicationException, InvalidStateTransitionException, 
AmbariException {
 List statuses = new ArrayList<>();
 for (Map.Entry clusterReport : 
message.getClustersComponentReports().entrySet()) {
@@ -90,20 +91,23 @@ public class AgentReportsController {
 
 agentReportsProcessor.addAgentReport(new 
AgentReport(agentSessionManager.getHost(simpSessionId).getHostName(),
 null, statuses, null));
+

[ambari] branch trunk updated: AMBARI-23259 For Ranger Service /spnego reference principal is not getting updated in config

2018-03-29 Thread atkach
This is an automated email from the ASF dual-hosted git repository.

atkach pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 4fb18c7  AMBARI-23259 For Ranger Service /spnego reference principal 
is not getting updated in config
4fb18c7 is described below

commit 4fb18c778f0adc0a7c318a9b557010c41b64287e
Author: Andrii Tkach 
AuthorDate: Fri Mar 16 14:52:38 2018 +0200

AMBARI-23259 For Ranger Service /spnego reference principal is not getting 
updated in config
---
 .../main/admin/kerberos/wizard_controller.js| 17 -
 ambari-web/app/mixins/wizard/addSecurityConfigs.js  |  5 -
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git 
a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js 
b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
index f5b08ed..cb5beea 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
@@ -292,15 +292,22 @@ App.KerberosWizardController = 
App.WizardController.extend(App.InstallComponent,
 ],
 '2': [
   {
-type: 'sync',
+type: 'async',
 callback: function () {
-  var self = this;
-  this.loadServiceConfigProperties();
+  const self = this;
+  const dfd = $.Deferred();
+
   if (!self.get('stackConfigsLoaded')) {
-App.config.loadConfigsFromStack(['KERBEROS']).complete(function() {
+App.config.loadConfigsFromStack(['KERBEROS']).always(function() {
+  self.loadServiceConfigProperties();
   self.set('stackConfigsLoaded', true);
-}, self);
+  dfd.resolve();
+});
+  } else {
+this.loadServiceConfigProperties();
+dfd.resolve();
   }
+  return dfd.promise();
 }
   }
 ],
diff --git a/ambari-web/app/mixins/wizard/addSecurityConfigs.js 
b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
index bd6fa89..e6a6adb 100644
--- a/ambari-web/app/mixins/wizard/addSecurityConfigs.js
+++ b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
@@ -118,7 +118,10 @@ App.AddSecurityConfigs = Em.Mixin.create({
   var defaultObject = {
 isConfigIdentity: true,
 isOverridable: false,
-isVisible: true,
+// the user should not be changing the principal name and keytab file 
values for identity items
+// that reference some other identity item,
+// if an identity entry has a "reference" attribute or the name 
attribute starts with a "/"
+isVisible: !Boolean(identity.reference || 
identity.name.startsWith('/')),
 isSecureConfig: true,
 serviceName: serviceName,
 name: identity.name,

-- 
To stop receiving notification emails like this one, please contact
atk...@apache.org.


[ambari] branch trunk updated: AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 (amagyar) (#825)

2018-03-29 Thread amagyar
This is an automated email from the ASF dual-hosted git repository.

amagyar pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 5b25bcd  AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 
(amagyar) (#825)
5b25bcd is described below

commit 5b25bcdb8fd3710c676bb314db7e905f7e9bbc33
Author: Attila Magyar 
AuthorDate: Thu Mar 29 17:31:21 2018 +0200

AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 (amagyar) (#825)

* AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 (amagyar)

* AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 (amagyar)
---
 .../apache/ambari/server/state/alert/MetricSource.java  |  4 +++-
 .../server/metric/system/impl/MetricsSourceTest.java| 17 +
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
index bfb3021..e6fc6f3 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
@@ -30,6 +30,7 @@ import org.apache.ambari.server.state.UriInfo;
 import org.springframework.expression.spel.standard.SpelExpressionParser;
 import org.springframework.expression.spel.support.StandardEvaluationContext;
 
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.gson.annotations.SerializedName;
@@ -105,16 +106,17 @@ public class MetricSource extends Source {
* Represents the {@code jmx} element in a Metric alert.
*/
   @JsonInclude(JsonInclude.Include.NON_EMPTY)
+  @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, 
getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = 
JsonAutoDetect.Visibility.NONE)
   public static class JmxInfo {
 @SerializedName("property_list")
 private List propertyList;
 
+@SerializedName("value")
 private String value = "{0}";
 
 @SerializedName("url_suffix")
 private String urlSuffix = "/jmx";
 
-@JsonProperty("property_list")
 public List getPropertyList() {
   return propertyList;
 }
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/MetricsSourceTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/MetricsSourceTest.java
index def4559..351d2aa 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/MetricsSourceTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/MetricsSourceTest.java
@@ -18,6 +18,8 @@
 
 package org.apache.ambari.server.metric.system.impl;
 
+import static java.util.Collections.singletonList;
+import static junit.framework.Assert.assertEquals;
 import static org.easymock.EasyMock.capture;
 import static org.easymock.EasyMock.expectLastCall;
 import static org.easymock.EasyMock.replay;
@@ -35,6 +37,7 @@ import 
org.apache.ambari.server.metrics.system.impl.AmbariMetricSinkImpl;
 import org.apache.ambari.server.metrics.system.impl.DatabaseMetricsSource;
 import org.apache.ambari.server.metrics.system.impl.JvmMetricsSource;
 import org.apache.ambari.server.metrics.system.impl.MetricsConfiguration;
+import org.apache.ambari.server.state.alert.MetricSource;
 import org.easymock.Capture;
 import org.easymock.EasyMock;
 import org.easymock.EasyMockRunner;
@@ -44,6 +47,9 @@ import org.junit.Assume;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
+
 import junit.framework.Assert;
 
 @RunWith(EasyMockRunner.class)
@@ -168,4 +174,15 @@ public class MetricsSourceTest {
 
Assert.assertTrue(source.acceptMetric("Counter.ReadObjectQuery.MetainfoEntity.readMetainfoEntity.CacheMisses"));
   }
 
+  @Test
+  public void testJmxInfoSerialization() throws Exception {
+ObjectMapper mapper = new ObjectMapper();
+mapper.setAnnotationIntrospector(new JacksonAnnotationIntrospector());
+MetricSource.JmxInfo jmxInfo = new MetricSource.JmxInfo();
+jmxInfo.setValue("custom");
+jmxInfo.setPropertyList(singletonList("prop1"));
+MetricSource.JmxInfo deserialized = 
mapper.readValue(mapper.writeValueAsString(jmxInfo), 
MetricSource.JmxInfo.class);
+assertEquals("custom", deserialized.getValue().toString());
+assertEquals(singletonList("prop1"), deserialized.getPropertyList());
+  }
 }

-- 
To stop receiving notification emails like this one, please contact
amag...@apache.org.


[ambari] branch trunk updated: [AMBARI-23397] Blueprint deployments for NameNode Federation Fail (#822)

2018-03-29 Thread rnettleton
This is an automated email from the ASF dual-hosted git repository.

rnettleton pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 8d1f100  [AMBARI-23397] Blueprint deployments for NameNode Federation 
Fail (#822)
8d1f100 is described below

commit 8d1f100212de5d49ee848577391a7a1f25e8dadb
Author: rnettleton 
AuthorDate: Thu Mar 29 10:53:26 2018 -0400

[AMBARI-23397] Blueprint deployments for NameNode Federation Fail (#822)

* Initial changes for NameNode Federation support in Blueprints

* Added unit test to verify changes to BlueprintConfigurationProcessor
---
 .../internal/BlueprintConfigurationProcessor.java  |   6 +-
 .../server/topology/ClusterTopologyImpl.java   |   4 +-
 .../BlueprintConfigurationProcessorTest.java   | 133 +
 3 files changed, 138 insertions(+), 5 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
index 1bb2879..7f1361a 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
@@ -409,8 +409,8 @@ public class BlueprintConfigurationProcessor {
   // if the active/stanbdy namenodes are not specified, assign them 
automatically
   if (! isNameNodeHAInitialActiveNodeSet(clusterProps) && ! 
isNameNodeHAInitialStandbyNodeSet(clusterProps)) {
 Collection nnHosts = 
clusterTopology.getHostAssignmentsForComponent("NAMENODE");
-if (nnHosts.size() != 2) {
-  throw new ConfigurationTopologyException("NAMENODE HA requires 
exactly 2 hosts running NAMENODE but there are: " +
+if (nnHosts.size() < 2) {
+  throw new ConfigurationTopologyException("NAMENODE HA requires at 
least 2 hosts running NAMENODE but there are: " +
   nnHosts.size() + " Hosts: " + nnHosts);
 }
 
@@ -1467,7 +1467,7 @@ public class BlueprintConfigurationProcessor {
   if (matchingGroupCount == 0 && cardinality.isValidCount(0)) {
 return origValue;
   } else {
-if (topology.isNameNodeHAEnabled() && isComponentNameNode() && 
(matchingGroupCount == 2)) {
+if (topology.isNameNodeHAEnabled() && isComponentNameNode() && 
(matchingGroupCount >= 2)) {
   // if this is the defaultFS property, it should reflect the 
nameservice name,
   // rather than a hostname (used in non-HA scenarios)
   if (properties.containsKey("core-site") && 
properties.get("core-site").get("fs.defaultFS").equals(origValue)) {
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java
index ab6d852..4860a94 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java
@@ -210,8 +210,8 @@ public class ClusterTopologyImpl implements ClusterTopology 
{
 
 if(isNameNodeHAEnabled()){
 Collection nnHosts = 
getHostAssignmentsForComponent("NAMENODE");
-if (nnHosts.size() != 2) {
-throw new InvalidTopologyException("NAMENODE HA requires exactly 2 
hosts running NAMENODE but there are: " +
+if (nnHosts.size() < 2) {
+throw new InvalidTopologyException("NAMENODE HA requires at least 
2 hosts running NAMENODE but there are: " +
 nnHosts.size() + " Hosts: " + nnHosts);
 }
 Map hadoopEnvConfig = 
configuration.getFullProperties().get("hadoop-env");
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
index d75a962..0d84550 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
@@ -5327,6 +5327,139 @@ public class BlueprintConfigurationProcessorTest 
extends EasyMockSupport {
   }
 
   @Test
+  public void testDoUpdateForClusterWithNameNodeHAEnabledThreeNameNodes() 
throws Exception {
+final String expectedNameService = "mynameservice";
+final String expectedHostName = "c6401.apache.ambari.org";
+final String expectedHostNameTwo = "server-two";
+final String expectedHostNameThree = "server-three";

[ambari] branch trunk updated: [AMBARI-23354] Enable or disable SSO for servces upon setting sso-configuration values

2018-03-29 Thread rlevas
This is an automated email from the ASF dual-hosted git repository.

rlevas pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new fbc59ed  [AMBARI-23354] Enable or disable SSO for servces upon setting 
sso-configuration values
fbc59ed is described below

commit fbc59ede2538f66f55d9d6914d51a84635ba7ac2
Author: Robert Levas 
AuthorDate: Sun Mar 25 19:11:47 2018 -0400

[AMBARI-23354] Enable or disable SSO for servces upon setting 
sso-configuration values
---
 .../stackadvisor/commands/StackAdvisorCommand.java |  22 +-
 .../AmbariServerConfigurationKey.java  |   2 +-
 .../internal/AmbariServerConfigurationHandler.java | 123 +-
 .../AmbariServerLDAPConfigurationHandler.java  |  48 ++--
 .../AmbariServerSSOConfigurationHandler.java   | 249 +
 .../RootServiceComponentConfigurationHandler.java  |  11 +-
 ...erviceComponentConfigurationHandlerFactory.java |  16 +-
 ...viceComponentConfigurationResourceProvider.java |  10 +-
 .../apache/ambari/server/state/ServiceImpl.java|   6 +-
 .../commands/StackAdvisorCommandTest.java  |  12 +-
 .../AmbariServerConfigurationHandlerTest.java  | 197 ++--
 .../AmbariServerSSOConfigurationHandlerTest.java   | 226 +++
 ...ComponentConfigurationResourceProviderTest.java |  47 +++-
 13 files changed, 809 insertions(+), 160 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
index 48d2144..56ddcef 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
@@ -41,7 +41,6 @@ import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.api.services.BaseService;
 import org.apache.ambari.server.api.services.LocalUriInfo;
 import org.apache.ambari.server.api.services.Request;
-import org.apache.ambari.server.api.services.RootServiceComponentConfiguration;
 import 
org.apache.ambari.server.api.services.stackadvisor.StackAdvisorException;
 import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest;
 import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorResponse;
@@ -49,7 +48,6 @@ import 
org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRunner;
 import org.apache.ambari.server.controller.RootComponent;
 import org.apache.ambari.server.controller.RootService;
 import 
org.apache.ambari.server.controller.internal.AmbariServerConfigurationHandler;
-import org.apache.ambari.server.controller.spi.NoSuchResourceException;
 import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.state.ServiceInfo;
 import org.apache.ambari.server.utils.DateUtils;
@@ -189,13 +187,8 @@ public abstract class StackAdvisorCommand extend
*
* @param root The JSON document that will become service.json when passed 
to the stack advisor engine
*/
-  void populateAmbariConfiguration(ObjectNode root) throws 
NoSuchResourceException {
-Map config = 
ambariServerConfigurationHandler.getConfigurations(null);
-Map> result = new HashMap<>();
-for (String category : config.keySet()) {
-  result.put(category, config.get(category).getProperties());
-}
-root.put(AMBARI_SERVER_CONFIGURATIONS_PROPERTY, 
mapper.valueToTree(result));
+  void populateAmbariConfiguration(ObjectNode root) {
+root.put(AMBARI_SERVER_CONFIGURATIONS_PROPERTY, 
mapper.valueToTree(ambariServerConfigurationHandler.getConfigurations()));
   }
 
   protected void populateAmbariServerInfo(ObjectNode root) {
@@ -210,7 +203,7 @@ public abstract class StackAdvisorCommand extend
   private void populateConfigurations(ObjectNode root,
   StackAdvisorRequest request) {
 Map>> configurations =
-  request.getConfigurations();
+request.getConfigurations();
 ObjectNode configurationsNode = root.putObject(CONFIGURATIONS_PROPERTY);
 for (String siteName : configurations.keySet()) {
   ObjectNode siteNode = configurationsNode.putObject(siteName);
@@ -238,7 +231,7 @@ public abstract class StackAdvisorCommand extend
   private void populateConfigGroups(ObjectNode root,
 StackAdvisorRequest request) {
 if (request.getConfigGroups() != null &&
-  !request.getConfigGroups().isEmpty()) {
+!request.getConfigGroups().isEmpty()) {
   JsonNode configGroups = 

[ambari] branch trunk updated: AMBARI-23402. Make nproc and nolimit values configurable through infra-solr-env config (#826)

2018-03-29 Thread oleewere
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new b6290ba  AMBARI-23402. Make nproc and nolimit values configurable 
through infra-solr-env config (#826)
b6290ba is described below

commit b6290bab17a3857ff6a9b9b367234e4f284b
Author: Olivér Szabó 
AuthorDate: Thu Mar 29 16:30:58 2018 +0200

AMBARI-23402. Make nproc and nolimit values configurable through 
infra-solr-env config (#826)

* AMBARI-23402. Make nproc and nolimit values configurable through 
infra-solr-env config

* AMBARI-23402. Remove unneded '_' char
---
 .../0.1.0/configuration/infra-solr-env.xml  | 13 +
 .../AMBARI_INFRA_SOLR/0.1.0/package/scripts/params.py   |  4 
 .../0.1.0/package/scripts/setup_infra_solr.py   |  9 -
 .../0.1.0/package/templates/infra-solr.conf.j2  | 17 +
 .../python/stacks/2.4/AMBARI_INFRA/test_infra_solr.py   |  5 +
 5 files changed, 47 insertions(+), 1 deletion(-)

diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/configuration/infra-solr-env.xml
 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/configuration/infra-solr-env.xml
index ece834c..a616c37 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/configuration/infra-solr-env.xml
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/configuration/infra-solr-env.xml
@@ -265,6 +265,19 @@
 
   
 
+  
+infra_solr_user_nofile_limit
+128000
+Max open files limit setting for infra-solr 
user.
+
+  
+  
+infra_solr_user_nproc_limit
+65536
+Max number of processes limit setting for infra-solr 
user.
+
+  
+
   
   
 content
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/scripts/params.py
index 6119ee8..b7f16cb 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/scripts/params.py
@@ -63,6 +63,10 @@ prev_infra_solr_pidfile = 
status_params.prev_infra_solr_pidfile
 user_group = config['configurations']['cluster-env']['user_group']
 fetch_nonlocal_groups = 
config['configurations']['cluster-env']["fetch_nonlocal_groups"]
 
+limits_conf_dir = "/etc/security/limits.d"
+infra_solr_user_nofile_limit = 
default("/configurations/infra-solr-env/infra_solr_user_nofile_limit", "128000")
+infra_solr_user_nproc_limit = 
default("/configurations/infra-solr-env/infra_solr_user_nproc_limit", "65536")
+
 # shared configs
 java_home = config['ambariLevelParams']['java_home']
 ambari_java_home = default("/ambariLevelParams/ambari_java_home", None)
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/scripts/setup_infra_solr.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/scripts/setup_infra_solr.py
index ef7cadd..5155950 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/scripts/setup_infra_solr.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/scripts/setup_infra_solr.py
@@ -17,6 +17,7 @@ limitations under the License.
 
 """
 
+import os
 from resource_management.core.exceptions import Fail
 from resource_management.core.resources.system import Directory, File
 from resource_management.core.source import InlineTemplate, Template
@@ -24,7 +25,6 @@ from resource_management.libraries.functions import 
solr_cloud_util
 from resource_management.libraries.functions.decorator import retry
 from resource_management.libraries.functions.format import format
 
-
 def setup_infra_solr(name = None):
   import params
 
@@ -92,6 +92,13 @@ def setup_infra_solr(name = None):
group=params.user_group,
mode=0640)
 
+File(os.path.join(params.limits_conf_dir, 'infra-solr.conf'),
+ owner='root',
+ group='root',
+ mode=0644,
+ content=Template("infra-solr.conf.j2")
+ )
+
   elif name == 'client':
 solr_cloud_util.setup_solr_client(params.config)
 
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/templates/infra-solr.conf.j2
 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/templates/infra-solr.conf.j2
new file mode 100644
index 000..2e385c0
--- /dev/null
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/templates/infra-solr.conf.j2
@@ -0,0 +1,17 @@
+# Licensed to the Apache Software Foundation 

[ambari] 01/01: Merge pull request #771 from dilica/AMBARI-23348-trunk

2018-03-29 Thread dili
This is an automated email from the ASF dual-hosted git repository.

dili pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 264bfa80056feb25a55afabcddd633465cf2f433
Merge: ff05ef6 68fdbef
Author: Di Li <15253273+dil...@users.noreply.github.com>
AuthorDate: Thu Mar 29 09:05:15 2018 -0400

Merge pull request #771 from dilica/AMBARI-23348-trunk

 AMBARI-23348 - service advisor has the option to calculate colocatSe…

 .../src/main/resources/stacks/service_advisor.py   | 32 ++
 .../src/main/resources/stacks/stack_advisor.py |  1 +
 2 files changed, 21 insertions(+), 12 deletions(-)


-- 
To stop receiving notification emails like this one, please contact
d...@apache.org.


[ambari] branch trunk updated (ff05ef6 -> 264bfa8)

2018-03-29 Thread dili
This is an automated email from the ASF dual-hosted git repository.

dili pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git.


from ff05ef6  AMBARI-23281 Enable Kerberos Wizard style edits
 add ae674b3   AMBARI-23348 - service advisor has the option to calculate 
colocatServices with more information from the services list (dili)
 add 68fdbef  AMBARI-23348 service advisor has the option to calculate 
colocatServices with more information from the services list - fix unit test 
failures(dili)
 new 264bfa8  Merge pull request #771 from dilica/AMBARI-23348-trunk

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../src/main/resources/stacks/service_advisor.py   | 32 ++
 .../src/main/resources/stacks/stack_advisor.py |  1 +
 2 files changed, 21 insertions(+), 12 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
d...@apache.org.


[ambari] branch trunk updated: AMBARI-23281 Enable Kerberos Wizard style edits

2018-03-29 Thread atkach
This is an automated email from the ASF dual-hosted git repository.

atkach pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new ff05ef6  AMBARI-23281 Enable Kerberos Wizard style edits
ff05ef6 is described below

commit ff05ef6236a3d3bf517eb9c452f4eb24c73ca034
Author: Andrii Tkach 
AuthorDate: Mon Mar 19 16:24:21 2018 +0200

AMBARI-23281 Enable Kerberos Wizard style edits
---
 ambari-web/app/styles/application.less | 40 --
 ambari-web/app/styles/bootstrap_overrides.less | 10 ++
 ambari-web/app/styles/common.less  | 35 +--
 ambari-web/app/styles/modal_popups.less|  3 ++
 ambari-web/app/styles/service_configurations.less  |  8 +++--
 ambari-web/app/styles/wizard.less  | 21 +++-
 .../app/templates/common/button_progress.hbs   |  4 +--
 .../templates/common/form/check_db_connection.hbs  | 14 
 ambari-web/app/templates/common/progress.hbs   | 13 +++
 .../app/templates/main/admin/kerberos/step3.hbs|  8 ++---
 .../app/templates/main/admin/kerberos/step5.hbs|  2 +-
 .../templates/main/admin/service_auto_start.hbs|  2 +-
 ambari-web/app/views/common/controls_view.js   |  2 +-
 13 files changed, 76 insertions(+), 86 deletions(-)

diff --git a/ambari-web/app/styles/application.less 
b/ambari-web/app/styles/application.less
index 43415dc..335f0a3 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -46,6 +46,25 @@ ul, ol {
 .glyphicon-4x{font-size: 4em;}
 .glyphicon-5x{font-size: 5em;}
 
+/
+* Health status(service/host/host component health)icons class names
+***/
+.glyphicon-warning-sign, .icon-warning-sign {
+  color: @health-status-red;
+}
+.glyphicon-ok-sign, .icon-ok-sign {
+  color: @health-status-green;
+}
+.glyphicon-question-sign, .icon-question-sign {
+  color: @health-status-yellow;
+}
+.glyphicon-minus-sign, .icon-minus-sign {
+  color: @health-status-orange;
+}
+.icon-medkit {
+  color: @maintenance-black;
+}
+
 body.modal-open {
   //fix bootstrap padding when modal opened
   padding-right: 0 !important;
@@ -1292,9 +1311,15 @@ table.graphs {
 }
 
 /*Start Admin*/
- .btn-padding {
-   margin-left: 20px
- }
+.btn-padding {
+  margin-left: 20px
+}
+
+.btn-primary[disabled] {
+  .icon-spinner {
+color: white;
+  }
+}
 
 #admin-auto-start {
   background-color: #fff;
@@ -1328,12 +1353,21 @@ table.graphs {
 .all-checkbox {
   display: inline-block;
   top: 2px;
+  label {
+font-size: inherit;
+  }
 }
   }
   .general-auto-start {
 display: inline-block;
 margin-left: 15px;
   }
+  .form-horizontal .radio,
+  .form-horizontal .checkbox,
+  .form-horizontal .radio-inline,
+  .form-horizontal .checkbox-inline {
+padding-top: 0;
+  }
 }
 
 .admin-user-settings {
diff --git a/ambari-web/app/styles/bootstrap_overrides.less 
b/ambari-web/app/styles/bootstrap_overrides.less
index 6fb1ef4..e3720bd 100644
--- a/ambari-web/app/styles/bootstrap_overrides.less
+++ b/ambari-web/app/styles/bootstrap_overrides.less
@@ -442,14 +442,10 @@ input[type="checkbox"]:checked + label:after {
   border-color: #999;
 }
 
-.form-horizontal .radio,
-.form-horizontal .checkbox,
-.form-horizontal .radio-inline,
-.form-horizontal .checkbox-inline {
-  padding-top: 0;
-}
-
 .radio, .checkbox {
   margin-bottom: 0;
   margin-top: 0;
+  label {
+vertical-align: middle;
+  }
 }
diff --git a/ambari-web/app/styles/common.less 
b/ambari-web/app/styles/common.less
index 1fc3698..fbcdc9a 100644
--- a/ambari-web/app/styles/common.less
+++ b/ambari-web/app/styles/common.less
@@ -21,18 +21,6 @@
  */
 
 /
-* Health status(service/host/host component health)icons class names
-***/
-@health-status-red-icon:  glyphicon-warning-sign;
-@health-status-red-icon:  icon-warning-sign;
-@health-status-green-icon:  glyphicon-ok-sign;
-@health-status-green-icon:  icon-ok-sign;
-@health-status-yellow-icon:  glyphicon-question-sign;
-@health-status-yellow-icon:  icon-question-sign;
-@health-status-orange-icon:  glyphicon-minus-sign;
-@health-status-orange-icon:  icon-minus-sign;
-@maintenance-icon: icon-medkit;
-/
 * Health status(service/host/host component health)icon colors
 ***/
 @health-status-red: #EF6162;
@@ -81,22 +69,6 @@
 @bootstrap-danger: #d9534f;
 @bootstrap-primary: #337ab7;
 
-.@{health-status-red-icon} {
-  color: @health-status-red;
-}

[ambari] branch trunk updated: AMBARI-23342 Admin View: Users and Groups style tweaks

2018-03-29 Thread atkach
This is an automated email from the ASF dual-hosted git repository.

atkach pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 8a1f8e4  AMBARI-23342 Admin View: Users and Groups style tweaks
8a1f8e4 is described below

commit 8a1f8e41098a692f52e71e2509c6a425c2516a3f
Author: Andrii Tkach 
AuthorDate: Fri Mar 23 14:53:37 2018 +0200

AMBARI-23342 Admin View: Users and Groups style tweaks
---
 .../stackVersions/StackVersionsCreateCtrl.js   |  4 +-
 .../controllers/userManagement/GroupEditCtrl.js| 46 
 .../controllers/userManagement/GroupsListCtrl.js   |  5 +-
 .../controllers/userManagement/UserEditCtrl.js | 45 
 .../controllers/userManagement/UsersListCtrl.js|  5 +-
 .../app/scripts/directives/editableList.js | 82 ++
 .../app/scripts/services/ConfirmationModal.js  |  5 +-
 .../admin-web/app/styles/bootstrap-overrides.css   | 21 ++
 .../resources/ui/admin-web/app/styles/main.css |  6 ++
 .../app/views/directives/editableList.html | 11 ++-
 .../app/views/modals/ConfirmationModal.html|  2 +-
 .../app/views/userManagement/groupEdit.html| 13 
 .../app/views/userManagement/userEdit.html |  6 --
 13 files changed, 104 insertions(+), 147 deletions(-)

diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js
index c3353f7..a2c21c3 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js
@@ -346,7 +346,7 @@ angular.module('ambariAdminConsole')
 $t('versions.register.error.body'),
 null,
 null,
-true
+{hideCancelButton: true}
   )
 });
   }
@@ -419,7 +419,7 @@ angular.module('ambariAdminConsole')
   },
   $t('common.controls.ok'),
   $t('common.controls.cancel'),
-  true
+  {hideCancelButton: true}
 )
   };
 
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/userManagement/GroupEditCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/userManagement/GroupEditCtrl.js
index 0d978eb..f963992 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/userManagement/GroupEditCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/userManagement/GroupEditCtrl.js
@@ -71,52 +71,6 @@ function($scope, $rootScope, Group, $routeParams, Cluster, 
View, Alert, Confirma
 $scope.isMembersEditing = false;
   };
 
-  $scope.deleteGroup = function(group) {
-ConfirmationModal.show(
-  $t('common.delete', {
-term: $t('common.group')
-  }),
-  $t('common.deleteConfirmation', {
-instanceType: $t('common.group').toLowerCase(),
-instanceName: '"' + group.group_name + '"'
-  })
-).then(function() {
-  Cluster.getPrivilegesForResource({
-nameFilter : group.group_name,
-typeFilter : {value: 'GROUP'}
-  }).then(function(data) {
-var clusterPrivilegesIds = [];
-var viewsPrivileges = [];
-if (data.items && data.items.length) {
-  angular.forEach(data.items[0].privileges, function(privilege) {
-if (privilege.PrivilegeInfo.principal_type === 'GROUP') {
-  if (privilege.PrivilegeInfo.type === 'VIEW') {
-viewsPrivileges.push({
-  id: privilege.PrivilegeInfo.privilege_id,
-  view_name: privilege.PrivilegeInfo.view_name,
-  version: privilege.PrivilegeInfo.version,
-  instance_name: privilege.PrivilegeInfo.instance_name
-});
-  } else {
-
clusterPrivilegesIds.push(privilege.PrivilegeInfo.privilege_id);
-  }
-}
-  });
-}
-group.destroy().then(function() {
-  $location.url('/userManagement?tab=groups');
-  if (clusterPrivilegesIds.length) {
-
Cluster.deleteMultiplePrivileges($rootScope.cluster.Clusters.cluster_name, 
clusterPrivilegesIds);
-  }
-  angular.forEach(viewsPrivileges, function(privilege) {
-View.deletePrivilege(privilege);
-  });
-});
-  });
-});
-  };
-
-
   $scope.removeViewPrivilege = function(name, privilege) {
 var privilegeObject = {
 id: privilege.privilege_id,
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/userManagement/GroupsListCtrl.js
 

[ambari] branch trunk updated: AMBARI-23345 Installer Wizard: Add a Cancel button to go back to Admin View.

2018-03-29 Thread atkach
This is an automated email from the ASF dual-hosted git repository.

atkach pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 7df55ee  AMBARI-23345 Installer Wizard: Add a Cancel button to go back 
to Admin View.
7df55ee is described below

commit 7df55eec8e5b41dbaac2341c40a4ed31eb5b56c8
Author: Andrii Tkach 
AuthorDate: Fri Mar 23 17:52:39 2018 +0200

AMBARI-23345 Installer Wizard: Add a Cancel button to go back to Admin View.
---
 ambari-web/app/controllers/installer.js|  8 
 .../app/controllers/wizard/step2_controller.js |  2 +
 ambari-web/app/messages.js |  1 +
 ambari-web/app/routes/installer.js |  6 +++
 ambari-web/app/styles/stack_versions.less  | 12 --
 ambari-web/app/styles/wizard.less  | 13 +-
 ambari-web/app/templates.js|  1 +
 .../templates/common/assign_master_components.hbs  |  1 +
 .../templates/wizard/installer_cancel_button.hbs   | 26 
 ambari-web/app/templates/wizard/step0.hbs  |  1 +
 ambari-web/app/templates/wizard/step1.hbs  |  3 +-
 ambari-web/app/templates/wizard/step2.hbs  |  1 +
 ambari-web/app/templates/wizard/step3.hbs  |  1 +
 ambari-web/app/templates/wizard/step4.hbs  |  1 +
 ambari-web/app/templates/wizard/step6.hbs  |  3 +-
 .../templates/wizard/step7_with_category_tabs.hbs  |  3 +-
 ambari-web/app/templates/wizard/step8.hbs  |  1 +
 ambari-web/app/views/wizard/step1_view.js  | 48 --
 .../wizard/step3/hostWarningPopupBody_view.js  |  3 ++
 ambari-web/test/controllers/installer_test.js  | 18 
 20 files changed, 114 insertions(+), 39 deletions(-)

diff --git a/ambari-web/app/controllers/installer.js 
b/ambari-web/app/controllers/installer.js
index 4aa57c3..0aa360c 100644
--- a/ambari-web/app/controllers/installer.js
+++ b/ambari-web/app/controllers/installer.js
@@ -29,6 +29,8 @@ App.InstallerController = 
App.WizardController.extend(App.Persist, {
 
   totalSteps: 11,
 
+  isInstallerWizard: true,
+
   content: Em.Object.create({
 cluster: null,
 installOptions: null,
@@ -128,6 +130,12 @@ App.InstallerController = 
App.WizardController.extend(App.Persist, {
 this.setDBProperty('hosts', dbHosts);
   },
 
+  cancelInstall: function() {
+return App.showConfirmationPopup(() => {
+  App.router.get('applicationController').goToAdminView();
+});
+  },
+
   /**
* Load services data. Will be used at Select services(step4) 
step
*/
diff --git a/ambari-web/app/controllers/wizard/step2_controller.js 
b/ambari-web/app/controllers/wizard/step2_controller.js
index 05813e2..832e49f 100644
--- a/ambari-web/app/controllers/wizard/step2_controller.js
+++ b/ambari-web/app/controllers/wizard/step2_controller.js
@@ -410,6 +410,8 @@ App.WizardStep2Controller = Em.Controller.extend({
 var self = this;
 return App.ModalPopup.show({
   header: Em.I18n.t('common.warning'),
+  primary: Em.I18n.t('common.continue'),
+  primaryClass: 'btn-warning',
   onPrimary: function () {
 this.hide();
 self.proceedNext(true);
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 9b30f8f..0c52e6a 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -287,6 +287,7 @@ Em.I18n.translations = {
   'common.compare': 'Compare',
   'common.latest': 'Latest',
   'common.custom': 'Custom',
+  'common.continue': 'Continue',
   'common.continueAnyway': 'Continue Anyway',
   'common.property.undefined': "Undefined",
   'common.summary': "Summary",
diff --git a/ambari-web/app/routes/installer.js 
b/ambari-web/app/routes/installer.js
index f1f6659..2efc47b 100644
--- a/ambari-web/app/routes/installer.js
+++ b/ambari-web/app/routes/installer.js
@@ -92,9 +92,11 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
 connectOutlets: function (router) {
   console.time('step0 connectOutlets');
   var self = this;
+  var wizardStep0Controller = router.get('wizardStep0Controller');
   var controller = router.get('installerController');
   controller.setCurrentStep('0');
   controller.loadAllPriorSteps().done(function () {
+wizardStep0Controller.set('wizardController', controller);
 controller.connectOutlet('wizardStep0', controller.get('content'));
 self.scrollTop();
 console.timeEnd('step0 connectOutlets');
@@ -187,8 +189,10 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
   router.setNavigationFlow('step2');
 
   var controller = router.get('installerController');
+  var wizardStep2Controller = router.get('wizardStep2Controller');
   controller.setCurrentStep('2');
   controller.loadAllPriorSteps().done(function () {
+

[ambari] branch trunk updated: AMBARI-23358 Service page layout updates

2018-03-29 Thread atkach
This is an automated email from the ASF dual-hosted git repository.

atkach pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new fd4176e  AMBARI-23358 Service page layout updates
fd4176e is described below

commit fd4176e7d698d6ec31ae91ac9a266643b16ac670
Author: Andrii Tkach 
AuthorDate: Mon Mar 26 15:12:21 2018 +0300

AMBARI-23358 Service page layout updates
---
 ambari-web/app/assets/index.html   |   2 +-
 ambari-web/app/messages.js |   1 +
 ambari-web/app/styles/application.less |  10 +-
 .../templates/main/alerts/definition_details.hbs   | 161 +++--
 .../main/charts/heatmap/heatmap_host_detail.hbs|   4 +
 .../app/views/common/widget/heatmap_widget_view.js |   2 +-
 .../app/views/main/charts/heatmap/heatmap_host.js  |  35 +++--
 .../common/widget/heatmap_widget_view_test.js  |   4 +-
 .../views/main/charts/heatmap/heatmap_host_test.js |  40 -
 9 files changed, 161 insertions(+), 98 deletions(-)

diff --git a/ambari-web/app/assets/index.html b/ambari-web/app/assets/index.html
index efd3c64..539a3e2 100644
--- a/ambari-web/app/assets/index.html
+++ b/ambari-web/app/assets/index.html
@@ -44,7 +44,7 @@
 
 
 
-
+
 http://www.apache.org/licenses/LICENSE-2.0; target="_blank">Licensed 
under the Apache License, Version 2.0.
 See third-party tools/resources that Ambari uses and their 
respective authors
  
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 3efe86a..9b30f8f 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1204,6 +1204,7 @@ Em.I18n.translations = {
   'alerts.definition.details.notification': 'Notification',
   'alerts.definition.details.noAlerts': 'No alert instances to display',
   'alerts.definition.details.configs.thresholdsErrorMsg': 'Critical threshold 
should be larger than warning threshold',
+  'alerts.definition.details.infoSection': 'Alert Info',
 
   'alerts.notifications.error.email': 'Must be a valid email address',
   'alerts.notifications.error.integer': 'Must be an integer',
diff --git a/ambari-web/app/styles/application.less 
b/ambari-web/app/styles/application.less
index 0d70ce4..43415dc 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -79,6 +79,9 @@ footer {
   color: #666;
   margin-top: -1 * @footer-height - 1;
   height: @footer-height - 60px;
+  .footer-links {
+font-size: @smaller-font-size;
+  }
 }
 
 .editable-list-container {
@@ -388,6 +391,11 @@ table.diff {
   }
 }
 
+.row.no-vertical-padding {
+  padding-top: 0;
+  padding-bottom: 0;
+}
+
 .ru-badge {
   text-align: center;
   a:hover {
@@ -853,7 +861,7 @@ a:focus {
   }
 
   .col-md-3 {
-min-height: 100px;
+min-height: 80px;
 margin-left: 2px;
 min-width: 180px;
   }
diff --git a/ambari-web/app/templates/main/alerts/definition_details.hbs 
b/ambari-web/app/templates/main/alerts/definition_details.hbs
index 6991efe..7423cb0 100644
--- a/ambari-web/app/templates/main/alerts/definition_details.hbs
+++ b/ambari-web/app/templates/main/alerts/definition_details.hbs
@@ -67,11 +67,11 @@
 
 
   
-
-  
+
+  
 {{t common.configuration}}
   
-  
+  
 {{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
   {{#unless 
App.router.mainAlertDefinitionConfigsController.canEdit}}
 
@@ -101,97 +101,102 @@
 
 {{! Right column }}
 
-  
-
-  {{t alerts.table.state}}:
-  
-{{#if controller.content.enabled}}
-  {{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
-
+  
+
+  {{t 
alerts.definition.details.infoSection}}
+
+
+  
+{{t alerts.table.state}}:
+
+  {{#if controller.content.enabled}}
+{{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
+  
   
+class="enable-disable-button" {{translateAttr 
data-original-title="alerts.table.state.enabled.tooltip"}}>
 {{view.enabledDisplay}}
   
-
+  
+{{else}}
+  {{view.enabledDisplay}}
+{{/isAuthorized}}
   {{else}}
-{{view.enabledDisplay}}
-  {{/isAuthorized}}
-{{else}}
-  {{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
-
+{{#isAuthorized "SERVICE.TOGGLE_ALERTS"}}
+  
   
+class="enable-disable-button" {{translateAttr 
data-original-title="alerts.table.state.disabled.tooltip"}}>
 {{view.disabledDisplay}}

[ambari] branch trunk updated: AMBARI-23374 Add Service Wizard will not reset after adding a service

2018-03-29 Thread atkach
This is an automated email from the ASF dual-hosted git repository.

atkach pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 533073b  AMBARI-23374 Add Service Wizard will not reset after adding a 
service
533073b is described below

commit 533073b4a690c5db81125bc30247eef0c4985331
Author: Andrii Tkach 
AuthorDate: Tue Mar 27 16:09:46 2018 +0300

AMBARI-23374 Add Service Wizard will not reset after adding a service
---
 ambari-web/app/routes/add_service_routes.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ambari-web/app/routes/add_service_routes.js 
b/ambari-web/app/routes/add_service_routes.js
index 4120da7..8413986 100644
--- a/ambari-web/app/routes/add_service_routes.js
+++ b/ambari-web/app/routes/add_service_routes.js
@@ -49,7 +49,8 @@ module.exports = App.WizardRoute.extend({
   onClose: function () {
 var controller = router.get('addServiceController');
 var currentStep = controller.get('currentStep');
-if(currentStep == '7') {
+const DEPLOY_STEP = '6';
+if (currentStep === DEPLOY_STEP) {
   // Show a warning popup
   this.showWarningPopup();
 } else {
@@ -403,7 +404,7 @@ module.exports = App.WizardRoute.extend({
 back: Em.Router.transitionTo('step6'),
 complete: function (router, context) {
   var addServiceController = router.get('addServiceController');
-  addServiceController.get('popup').onPrimary();
+  addServiceController.get('popup').onClose();
 }
   }),
 

-- 
To stop receiving notification emails like this one, please contact
atk...@apache.org.


[ambari] branch trunk updated: AMBARI-23392 Duplicate websocket subscription on Configs page

2018-03-29 Thread atkach
This is an automated email from the ASF dual-hosted git repository.

atkach pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 2525a2a  AMBARI-23392 Duplicate websocket subscription on Configs page
2525a2a is described below

commit 2525a2af01d9e44694ee5aa5fb24c6ad8e15db7d
Author: Andrii Tkach 
AuthorDate: Wed Mar 28 17:28:18 2018 +0300

AMBARI-23392 Duplicate websocket subscription on Configs page
---
 .../app/controllers/main/service/info/configs.js   | 11 ---
 ambari-web/app/routes/main.js  | 12 ++--
 ambari-web/app/utils/stomp_client.js   | 35 --
 ambari-web/test/utils/stomp_client_test.js |  8 -
 4 files changed, 35 insertions(+), 31 deletions(-)

diff --git a/ambari-web/app/controllers/main/service/info/configs.js 
b/ambari-web/app/controllers/main/service/info/configs.js
index c0b6b5b..4ca73a2 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -352,7 +352,6 @@ App.MainServiceInfoConfigsController = 
Em.Controller.extend(App.AddSecurityConfi
*/
   loadStep: function () {
 var serviceName = this.get('content.serviceName'), self = this;
-App.router.get('mainController').stopPolling();
 this.clearStep();
 this.set('dependentServiceNames', 
this.getServicesDependencies(serviceName));
 this.trackRequestChain(this.loadConfigTheme(serviceName).always(function 
() {
@@ -366,16 +365,6 @@ App.MainServiceInfoConfigsController = 
Em.Controller.extend(App.AddSecurityConfi
   },
 
   /**
-   * Turn on polling when all requests are finished
-   */
-  trackRequestsDidChange: function() {
-var allCompleted = 
this.get('requestsInProgress').everyProperty('completed', true);
-if (this.get('requestsInProgress').length && allCompleted) {
-  App.router.get('mainController').startPolling();
-}
-  }.observes('requestsInProgress.@each.completed'),
-
-  /**
* Generate "finger-print" for current stepConfigs[0]
* Used to determine, if user has some unsaved changes (comparing with 
hash)
* @returns {string|null}
diff --git a/ambari-web/app/routes/main.js b/ambari-web/app/routes/main.js
index a5f9345..6f20aa1 100644
--- a/ambari-web/app/routes/main.js
+++ b/ambari-web/app/routes/main.js
@@ -282,7 +282,6 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
   });
 },
 exitRoute: function (router, context, callback) {
-  router.get('mainController').startPolling();
   callback();
 }
   }),
@@ -819,7 +818,6 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
 //if service is not existed then route to default service
 if (item.get('isLoaded')) {
   if (router.get('mainServiceItemController.isConfigurable')) {
-router.get('mainController').stopPolling();
 
router.get('mainServiceItemController').connectOutlet('mainServiceInfoConfigs', 
item);
   }
   else {
@@ -834,17 +832,11 @@ module.exports = Em.Route.extend(App.RouterRedirections, {
 },
 exitRoute: function (router, nextRoute, callback) {
   var controller = router.get('mainServiceInfoConfigsController');
-  var exitCallback = function() {
-if (!/\/main\/services\/\w+\/configs$/.test(nextRoute)) {
-  router.get('mainController').startPolling();
-}
-callback();
-  };
   // If another user is running some wizard, current user can't save 
configs
   if (controller.hasUnsavedChanges() && 
!router.get('wizardWatcherController.isWizardRunning')) {
-controller.showSavePopup(exitCallback);
+controller.showSavePopup(callback);
   } else {
-exitCallback();
+callback();
   }
 }
   }),
diff --git a/ambari-web/app/utils/stomp_client.js 
b/ambari-web/app/utils/stomp_client.js
index 2003559..36377c4 100644
--- a/ambari-web/app/utils/stomp_client.js
+++ b/ambari-web/app/utils/stomp_client.js
@@ -18,6 +18,18 @@
 
 var App = require('app');
 
+/**
+ * Example:
+ *
+ * stompClient.connect();
+ * stompClient.subscribe('topic1', handlerFunc1);
+ * stompClient.addHandler('topic1', 'handler2-name', handlerFunc2);
+ * stompClient.removeHandler('topic1', 'handler2-name');
+ * stompClient.unsubscribe('topic1');
+ * stompClient.disconnect();
+ *
+ */
+
 module.exports = Em.Object.extend({
   /**
* @type {Stomp}
@@ -171,15 +183,20 @@ module.exports = Em.Object.extend({
 if (!this.get('client.connected')) {
   return null;
 }
-const subscription = this.get('client').subscribe(destination, (message) 
=> {
-  for (var i in handlers) {
-handlers[i](JSON.parse(message.body));
-  }
-});
-

[ambari] branch trunk updated: AMBARI-23362 Log Search UI: filter dropdown lists fixes

2018-03-29 Thread ababiichuk
This is an automated email from the ASF dual-hosted git repository.

ababiichuk pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 0f569fb  AMBARI-23362 Log Search UI: filter dropdown lists fixes
0f569fb is described below

commit 0f569fb1f2f2eff7691a785bded7c904a979eaf8
Author: Istvan Tobias 
AuthorDate: Thu Mar 29 12:09:04 2018 +0200

AMBARI-23362 Log Search UI: filter dropdown lists fixes
---
 .../src/app/classes/list-item.ts   |   1 +
 .../filters-panel/filters-panel.component.html |  11 +-
 .../filters-panel/filters-panel.component.less |   6 ++
 .../components/log-level/log-level.component.ts|  18 ++--
 .../menu-button/menu-button.component.html |   1 +
 .../menu-button/menu-button.component.ts   |   3 +
 .../dropdown-list/dropdown-list.component.html |  61 ---
 .../dropdown-list/dropdown-list.component.less |  42 +++-
 .../dropdown-list/dropdown-list.component.ts   | 118 ++---
 .../shipper-configuration.component.ts |   4 +-
 .../src/app/services/logs-container.service.ts |   6 +-
 .../ambari-logsearch-web/src/assets/i18n/en.json   |   4 +
 12 files changed, 228 insertions(+), 47 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-web/src/app/classes/list-item.ts 
b/ambari-logsearch/ambari-logsearch-web/src/app/classes/list-item.ts
index 8505373..3a9b72c 100644
--- a/ambari-logsearch/ambari-logsearch-web/src/app/classes/list-item.ts
+++ b/ambari-logsearch/ambari-logsearch-web/src/app/classes/list-item.ts
@@ -21,6 +21,7 @@ export interface ListItem {
   label?: string;
   value: any;
   iconClass?: string;
+  cssClass?: string;
   isChecked?: boolean;
   onSelect?: Function;
   isDivider?: boolean;
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/app/components/filters-panel/filters-panel.component.html
 
b/ambari-logsearch/ambari-logsearch-web/src/app/components/filters-panel/filters-panel.component.html
index 0383230..397603b 100644
--- 
a/ambari-logsearch/ambari-logsearch-web/src/app/components/filters-panel/filters-panel.component.html
+++ 
b/ambari-logsearch/ambari-logsearch-web/src/app/components/filters-panel/filters-panel.component.html
@@ -35,16 +35,19 @@
 
+   additionalLabelComponentSetter="getDataForHostsNodeBar"
+   [useDropDownLocalFilter]="true">
 
-
+
 
+   [subItems]="filters.levels.options" 
[isMultipleChoice]="true" [isRightAlign]="true"
+   [useDropDownLocalFilter]="true">
   
 
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/app/components/filters-panel/filters-panel.component.less
 
b/ambari-logsearch/ambari-logsearch-web/src/app/components/filters-panel/filters-panel.component.less
index a1ecc02..c748c37 100644
--- 
a/ambari-logsearch/ambari-logsearch-web/src/app/components/filters-panel/filters-panel.component.less
+++ 
b/ambari-logsearch/ambari-logsearch-web/src/app/components/filters-panel/filters-panel.component.less
@@ -71,4 +71,10 @@
   .filter-buttons {
 .default-flex;
   }
+
+  /deep/ .dropdown-menu {
+.log-level-item {
+  .log-colors;
+}
+  }
 }
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/app/components/log-level/log-level.component.ts
 
b/ambari-logsearch/ambari-logsearch-web/src/app/components/log-level/log-level.component.ts
index 8542770..61ca495 100644
--- 
a/ambari-logsearch/ambari-logsearch-web/src/app/components/log-level/log-level.component.ts
+++ 
b/ambari-logsearch/ambari-logsearch-web/src/app/components/log-level/log-level.component.ts
@@ -28,14 +28,7 @@ import {Component, Input} from '@angular/core';
 })
 export class LogLevelComponent {
 
-  /**
-   * This is the log entry object
-   * @type {object}
-   */
-  @Input()
-  logEntry: any;
-
-  private classMap: object = {
+  static classMap: object = {
 warn: 'fa-exclamation-triangle',
 fatal: 'fa-exclamation-circle',
 error: 'fa-exclamation-circle',
@@ -45,8 +38,15 @@ export class LogLevelComponent {
 unknown: 'fa-question-circle'
   };
 
+  /**
+   * This is the log entry object
+   * @type {object}
+   */
+  @Input()
+  logEntry: any;
+
   get cssClass() {
-return this.classMap[((this.logEntry && this.logEntry.level) || 
'unknown').toLowerCase()];
+return LogLevelComponent.classMap[((this.logEntry && this.logEntry.level) 
|| 'unknown').toLowerCase()];
   }
 
 }
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/app/components/menu-button/menu-button.component.html
 
b/ambari-logsearch/ambari-logsearch-web/src/app/components/menu-button/menu-button.component.html
index 8e67b5d..12dd59c 100644
--- 
a/ambari-logsearch/ambari-logsearch-web/src/app/components/menu-button/menu-button.component.html
+++ 
b/ambari-logsearch/ambari-logsearch-web/src/app/components/menu-button/menu-button.component.html

[ambari] 01/01: Merge pull request #812 from hiveww/AMBARI-23385-trunk

2018-03-29 Thread alexantonenko
This is an automated email from the ASF dual-hosted git repository.

alexantonenko pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit d3b2cedd8a619ce80e8e067f4b8ee1fb4dfd06f3
Merge: 4b247f2 ffeda8c
Author: Alexander Antonenko 
AuthorDate: Thu Mar 29 11:28:58 2018 +0300

Merge pull request #812 from hiveww/AMBARI-23385-trunk

AMBARI-23385. When Updating A Property in the UI, Both the Old and Ne…

 ambari-web/app/mixins/common/configs/configs_loader.js   | 2 +-
 ambari-web/test/mixins/common/configs/configs_loader_test.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)


-- 
To stop receiving notification emails like this one, please contact
alexantone...@apache.org.


[ambari] branch trunk updated (4b247f2 -> d3b2ced)

2018-03-29 Thread alexantonenko
This is an automated email from the ASF dual-hosted git repository.

alexantonenko pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git.


from 4b247f2  [AMBARI-23384]. PQS start fails after Ambari upgrade due to 
Bad file descriptor (amagyar) (#810)
 add ffeda8c  AMBARI-23385. When Updating A Property in the UI, Both the 
Old and New Properties Are Visible After Saving
 new d3b2ced  Merge pull request #812 from hiveww/AMBARI-23385-trunk

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 ambari-web/app/mixins/common/configs/configs_loader.js   | 2 +-
 ambari-web/test/mixins/common/configs/configs_loader_test.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
alexantone...@apache.org.


[ambari] branch trunk updated: [AMBARI-23384]. PQS start fails after Ambari upgrade due to Bad file descriptor (amagyar) (#810)

2018-03-29 Thread amagyar
This is an automated email from the ASF dual-hosted git repository.

amagyar pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 4b247f2  [AMBARI-23384]. PQS start fails after Ambari upgrade due to 
Bad file descriptor (amagyar) (#810)
4b247f2 is described below

commit 4b247f2db3a45c1f6ec59fb768167d2291115fe5
Author: Attila Magyar 
AuthorDate: Thu Mar 29 08:33:19 2018 +0200

[AMBARI-23384]. PQS start fails after Ambari upgrade due to Bad file 
descriptor (amagyar) (#810)

* AMBARI-23384. PQS start fails after Ambari upgrade due to Bad file 
descriptor (amagyar)

* AMBARI-23384. PQS start fails after Ambari upgrade due to Bad file 
descriptor (amagyar)
---
 .../HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py  | 5 +
 .../HBASE/0.96.0.2.0/package/scripts/phoenix_service.py  | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py
 
b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py
index dfc35fb..0828c78 100644
--- 
a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py
+++ 
b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py
@@ -23,6 +23,8 @@ from resource_management.libraries.functions.stack_features 
import check_stack_f
 from resource_management.libraries.script import Script
 from phoenix_service import phoenix_service
 from hbase import hbase
+from resource_management.core.exceptions import Fail
+from resource_management.libraries.functions.decorator import retry
 
 # Note: Phoenix Query Server is only applicable to stack version supporting 
Phoenix.
 class PhoenixQueryServer(Script):
@@ -45,6 +47,9 @@ class PhoenixQueryServer(Script):
 self.configure(env)
 phoenix_service('start')
 
+  @retry(times=3, sleep_time=5, err_class=Fail) # XXX PID file is not always 
created in time. Should be idempotent.
+  def post_start(self, env=None):
+return super(PhoenixQueryServer, self).post_start(env)
 
   def stop(self, env, upgrade_type=None):
 import params
diff --git 
a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_service.py
 
b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_service.py
index 42d9cd1..3c2890f 100644
--- 
a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_service.py
+++ 
b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_service.py
@@ -40,7 +40,7 @@ def phoenix_service(action = 'start'): # 'start', 'stop', 
'status'
 Execute(daemon_cmd,
 user=format("{hbase_user}"),
 environment=env)
-  
+
   elif action == 'stop':
 Execute(daemon_cmd,
 user=format("{hbase_user}"),

-- 
To stop receiving notification emails like this one, please contact
amag...@apache.org.


[ambari] branch trunk updated: [AMBARI-23389]. Install Packages button on the versions screen fails if there is a service installed which was removed (amagyar) (#813)

2018-03-29 Thread amagyar
This is an automated email from the ASF dual-hosted git repository.

amagyar pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
 new d1df5d3  [AMBARI-23389]. Install Packages button on the versions 
screen fails if  there is a service installed which was removed (amagyar) (#813)
d1df5d3 is described below

commit d1df5d3781b21a915ec2113069d46c98ff2908ab
Author: Attila Magyar 
AuthorDate: Thu Mar 29 08:32:44 2018 +0200

[AMBARI-23389]. Install Packages button on the versions screen fails if  
there is a service installed which was removed (amagyar) (#813)

* AMBARI-23389. Install Packages button on the versions screen fails if 
there is a service installed which was removed (amagyar)

* AMBARI-23389. Install Packages button on the versions screen fails if 
there is a service installed which was removed (amagyar)

* AMBARI-23389. Install Packages button on the versions screen fails if 
there is a service installed which was removed (amagyar)
---
 .../controller/internal/ClusterStackVersionResourceProvider.java  | 2 ++
 .../src/main/java/org/apache/ambari/server/state/StackInfo.java   | 8 
 2 files changed, 10 insertions(+)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
index 5a54a28..837a7e2 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
@@ -625,6 +625,8 @@ public class ClusterStackVersionResourceProvider extends 
AbstractControllerResou
   if (RepositoryType.STANDARD != repoVersionEnt.getType()) {
 ClusterVersionSummary clusterSummary = 
desiredVersionDefinition.getClusterSummary(cluster);
 serviceNames.addAll(clusterSummary.getAvailableServiceNames());
+  } else {
+serviceNames.addAll(ami.getStack(stackId).getServiceNames());
   }
 
   // Populate with commands for host
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java 
b/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
index 70d5926..c286532 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
 
 import org.apache.ambari.server.controller.StackVersionResponse;
 import org.apache.ambari.server.stack.Validable;
@@ -614,4 +615,11 @@ public class StackInfo implements Comparable, 
Validable {
   public void setRefreshCommandConfiguration(RefreshCommandConfiguration 
refreshCommandConfiguration) {
 this.refreshCommandConfiguration = refreshCommandConfiguration;
   }
+
+  /**
+   * @return names of each service in the stack
+   */
+  public Set getServiceNames() {
+return 
getServices().stream().map(ServiceInfo::getName).collect(Collectors.toSet());
+  }
 }

-- 
To stop receiving notification emails like this one, please contact
amag...@apache.org.