[ambari] branch trunk updated: [AMBARI-23990] credential_store_helper.get_password_from_credential_store does not return the correct password string

2018-05-30 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 c8ab37d  [AMBARI-23990] 
credential_store_helper.get_password_from_credential_store does not return the 
correct password string
c8ab37d is described below

commit c8ab37d040abc1a397d73cb41e0d5e576bacf8bd
Author: Robert Levas 
AuthorDate: Wed May 30 17:38:04 2018 -0400

[AMBARI-23990] credential_store_helper.get_password_from_credential_store 
does not return the correct password string
---
 ambari-common/src/main/python/ambari_commons/credential_store_helper.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/ambari-common/src/main/python/ambari_commons/credential_store_helper.py 
b/ambari-common/src/main/python/ambari_commons/credential_store_helper.py
index cc392d0..a398464 100644
--- a/ambari-common/src/main/python/ambari_commons/credential_store_helper.py
+++ b/ambari-common/src/main/python/ambari_commons/credential_store_helper.py
@@ -52,7 +52,7 @@ def get_password_from_credential_store(alias, provider_path, 
cs_lib_path, java_h
 cmd = (java_bin, '-cp', cs_lib_path, credential_util_cmd, 'get', alias, 
'-provider', provider_path)
 cmd_result, std_out_msg  = checked_call(cmd)
 std_out_lines = std_out_msg.split('\n')
-return(removeloglines(std_out_lines)[0]) # Get the last line of the 
output, to skip warnings if any.
+return(std_out_lines[-1]) # Get the last line of the output, to skip 
warnings if any.
 
 
 def list_aliases_from_credential_store(provider_path, cs_lib_path, java_home, 
jdk_location):

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


[ambari] branch trunk updated: [AMBARI-23989] Provide Patch or Maint Flag to Command JSON

2018-05-30 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 4292cab  [AMBARI-23989] Provide Patch or Maint Flag to Command JSON
4292cab is described below

commit 4292cabf5634ddf94786d43ebdecbd1a45b20e33
Author: Nate Cole 
AuthorDate: Wed May 30 17:06:21 2018 -0400

[AMBARI-23989] Provide Patch or Maint Flag to Command JSON
---
 .../libraries/functions/upgrade_summary.py|  5 +++--
 .../java/org/apache/ambari/server/state/UpgradeContext.java   | 11 +++
 .../org/apache/ambari/server/state/UpgradeContextTest.java|  9 -
 ambari-server/src/test/python/TestStackFeature.py |  9 ++---
 ambari-server/src/test/python/TestStackSelect.py  |  6 --
 ambari-server/src/test/python/TestUpgradeSummary.py   |  6 --
 6 files changed, 36 insertions(+), 10 deletions(-)

diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/upgrade_summary.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/upgrade_summary.py
index e231d49..0b30067 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/upgrade_summary.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/upgrade_summary.py
@@ -22,7 +22,7 @@ from collections import namedtuple
 from resource_management.libraries.script.script import Script
 from resource_management.libraries.functions.constants import Direction
 
-UpgradeSummary = namedtuple("UpgradeSummary", "type direction orchestration 
is_revert services is_downgrade_allowed")
+UpgradeSummary = namedtuple("UpgradeSummary", "type direction orchestration 
is_revert services is_downgrade_allowed is_switch_bits")
 UpgradeServiceSummary = namedtuple("UpgradeServiceSummary", "service_name 
source_stack source_version target_stack target_version")
 
 
@@ -101,7 +101,8 @@ def get_upgrade_summary():
   return UpgradeSummary(type=upgrade_summary["type"], 
direction=upgrade_summary["direction"],
 orchestration=upgrade_summary["orchestration"], is_revert = 
upgrade_summary["isRevert"],
 services = service_summary_dict,
-is_downgrade_allowed=upgrade_summary["isDowngradeAllowed"])
+is_downgrade_allowed=upgrade_summary["isDowngradeAllowed"],
+is_switch_bits=upgrade_summary["isSwitchBits"])
 
 
 def get_downgrade_from_version(service_name = None):
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
index d5fd729..c016bc6 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
@@ -971,6 +971,10 @@ public class UpgradeContext {
 
 summary.isDowngradeAllowed = isDowngradeAllowed();
 
+// !!! a) if we are reverting, that can only happen via PATCH or MAINT
+// b) if orchestration is a revertible type (on upgrade)
+summary.isSwitchBits = m_isRevert || m_orchestration.isRevertable();
+
 summary.services = new HashMap<>();
 
 for (String serviceName : m_services) {
@@ -1435,6 +1439,13 @@ public class UpgradeContext {
 
 @SerializedName("services")
 public Map services;
+
+/**
+ * MAINT or PATCH upgrades are meant to just be switching the bits and no 
other
+ * incompatible changes.
+ */
+@SerializedName("isSwitchBits")
+public boolean isSwitchBits = false;
   }
 
   /**
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeContextTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeContextTest.java
index b38b272..badd340 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeContextTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeContextTest.java
@@ -127,8 +127,11 @@ public class UpgradeContextTest extends EasyMockSupport {
 
 expect(m_sourceRepositoryVersion.getId()).andReturn(1L).anyTimes();
 expect(m_sourceRepositoryVersion.getStackId()).andReturn(new 
StackId("HDP", "2.6")).anyTimes();
+
expect(m_sourceRepositoryVersion.getVersion()).andReturn("2.6.0.0").anyTimes();
+
 expect(m_targetRepositoryVersion.getId()).andReturn(99L).anyTimes();
 expect(m_targetRepositoryVersion.getStackId()).andReturn(new 
StackId("HDP", "2.6")).anyTimes();
+
expect(m_targetRepositoryVersion.getVersion()).andReturn("2.6.0.2").anyTimes();
 
 UpgradeHistoryEntity upgradeHistoryEntity = 
createNiceMock(UpgradeHistoryEntity.class);
 
expect(upgradeHistoryEntity.getServiceName()).andReturn(HDFS_SERVICE_NAME).anyTimes();
@@ -153,7 +156,8 @@ public class UpgradeContextTest extends EasyMockSupport {
 

[ambari] branch branch-feature-AMBARI-14714 updated (f8293cf -> 3d92d03)

2018-05-30 Thread swapan
This is an automated email from the ASF dual-hosted git repository.

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


from f8293cf  AMBARI-23746. Use List for componentID duplicate check
 add 3dcef6e  AMBARI-23987. Set 'skip.service.checks' = true during deploy.
 add 3d92d03  AMBARI-23987. Set 'skip.service.checks' = true during deploy.

No new revisions were added by this update.

Summary of changes:
 ambari-server/conf/unix/ambari.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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


[ambari] branch trunk updated: AMBARI-23826 Save button is inactive for changed filtered property after configs comparing - addendum (ababiichuk)

2018-05-30 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 b337817  AMBARI-23826 Save button is inactive for changed filtered 
property after configs comparing - addendum (ababiichuk)
b337817 is described below

commit b337817798dadc4b516b71c04775174fbdbf9b9a
Author: ababiichuk 
AuthorDate: Wed May 30 19:21:46 2018 +0300

AMBARI-23826 Save button is inactive for changed filtered property after 
configs comparing - addendum (ababiichuk)
---
 .../app/controllers/main/service/info/configs.js   | 12 +--
 .../app/controllers/wizard/step7_controller.js |  5 ++
 .../app/mixins/common/configs/enhanced_configs.js  | 94 ++
 .../common/configs/widgets/config_widget_view.js   | 87 +---
 4 files changed, 109 insertions(+), 89 deletions(-)

diff --git a/ambari-web/app/controllers/main/service/info/configs.js 
b/ambari-web/app/controllers/main/service/info/configs.js
index f1fb4f7..564758f 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -403,12 +403,12 @@ App.MainServiceInfoConfigsController = 
Em.Controller.extend(App.AddSecurityConfi
   },
 
   parseConfigData: function(data) {
-var self = this;
-this.loadKerberosIdentitiesConfigs().done(function(identityConfigs) {
-  self.prepareConfigObjects(data, identityConfigs);
-  self.loadCompareVersionConfigs(self.get('allConfigs')).done(function() {
-self.addOverrides(data, self.get('allConfigs'));
-self.onLoadOverrides(self.get('allConfigs'));
+this.loadKerberosIdentitiesConfigs().done(identityConfigs => {
+  this.prepareConfigObjects(data, identityConfigs);
+  this.loadCompareVersionConfigs(this.get('allConfigs')).done(() => {
+this.addOverrides(data, this.get('allConfigs'));
+this.onLoadOverrides(this.get('allConfigs'));
+this.updateAttributesFromTheme(this.get('content.serviceName'));
   });
 });
   },
diff --git a/ambari-web/app/controllers/wizard/step7_controller.js 
b/ambari-web/app/controllers/wizard/step7_controller.js
index c408e7c..70c8c03 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -596,6 +596,7 @@ App.WizardStep7Controller = 
Em.Controller.extend(App.ServerValidatorMixin, App.E
 }
 this.set('stepConfigs', serviceConfigs);
 this.set('stepConfigsCreated', true);
+this.updateConfigAttributesFromThemes();
 this.checkHostOverrideInstaller();
 this.selectProperService();
 var isInstallerWizard = (this.get("content.controllerName") === 
'installerController');
@@ -2112,6 +2113,10 @@ App.WizardStep7Controller = 
Em.Controller.extend(App.ServerValidatorMixin, App.E
 } else {
   App.router.send('back');
 }
+  },
+
+  updateConfigAttributesFromThemes: function () {
+this.get('allSelectedServiceNames').forEach(serviceName => 
this.updateAttributesFromTheme(serviceName));
   }
 
 });
diff --git a/ambari-web/app/mixins/common/configs/enhanced_configs.js 
b/ambari-web/app/mixins/common/configs/enhanced_configs.js
index 78902e8..26ab7db 100644
--- a/ambari-web/app/mixins/common/configs/enhanced_configs.js
+++ b/ambari-web/app/mixins/common/configs/enhanced_configs.js
@@ -608,5 +608,99 @@ App.EnhancedConfigsMixin = 
Em.Mixin.create(App.ConfigWithOverrideRecommendationP
   removeCurrentFromDependentList: function (config, saveRecommended) {
 var recommendation = this.getRecommendation(config.get('name'), 
config.get('filename'), config.get('group.name'));
 if (recommendation) this.saveRecommendation(recommendation, 
saveRecommended);
+  },
+
+  updateAttributesFromTheme: function (serviceName) {
+const serviceConfigs = this.get('stepConfigs').findProperty('serviceName', 
serviceName).get('configs'),
+  configConditions = App.ThemeCondition.find().filter(condition => {
+const dependentConfigName = condition.get('configName'),
+  dependentConfigFileName = condition.get('fileName'),
+  configsToDependOn = condition.getWithDefault('configs', []);
+return serviceConfigs.some(serviceConfig => {
+  const serviceConfigName = Em.get(serviceConfig, 'name'),
+serviceConfigFileName = Em.get(serviceConfig, 'filename');
+  return (serviceConfigName === dependentConfigName && 
serviceConfigFileName === dependentConfigFileName)
+|| configsToDependOn.some(config => {
+  const {configName, fileName} = config;
+  return serviceConfigName === configName && serviceConfigFileName 
=== fileName;
+});
+});
+  });
+this.updateAttributesFromConditions(configConditions, serviceConfigs, 
serviceName);
+  },
+
+  updateAttributesFromConditions: 

[ambari] branch trunk updated: AMBARI-23985. Change the default shard/replica numbers for Log Search collections. (#1418)

2018-05-30 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 c935be3  AMBARI-23985. Change the default shard/replica numbers for 
Log Search collections. (#1418)
c935be3 is described below

commit c935be32ee6ba30e035ade787ba885a14d366a3a
Author: Olivér Szabó 
AuthorDate: Wed May 30 21:52:14 2018 +0200

AMBARI-23985. Change the default shard/replica numbers for Log Search 
collections. (#1418)
---
 .../LOGSEARCH/0.5.0/configuration/logsearch-properties.xml| 8 
 .../common-services/LOGSEARCH/0.5.0/package/scripts/params.py | 2 +-
 .../src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py| 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml
 
b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml
index 24947bb..3d4f3e9 100644
--- 
a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml
+++ 
b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml
@@ -43,7 +43,7 @@
   
   
 logsearch.collection.service.logs.numshards
-5
+4
 Log Search Solr Service Logs Shards
 Number of shards for Service Logs collection
 
@@ -57,7 +57,7 @@
   
   
 logsearch.collection.service.logs.replication.factor
-1
+2
 Log Search Solr Service Logs Replication 
Factor
 Replication factor for Service Logs Solr 
collection
 
@@ -71,7 +71,7 @@
   
   
 logsearch.collection.audit.logs.numshards
-5
+4
 Log Search Solr Audit Logs Shards
 Number of shards for Audit Logs collection
 
@@ -85,7 +85,7 @@
   
   
 logsearch.collection.audit.logs.replication.factor
-1
+2
 Log Search Solr Audit Logs Replication Factor
 Replication factor for Audit Logs Solr 
collection
 
diff --git 
a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py
index ef5d9dd..b700a8b 100644
--- 
a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py
@@ -259,7 +259,7 @@ 
logsearch_properties['logsearch.solr.audit.logs.zk_connect_string'] = logsearch_
 
 logsearch_properties['logsearch.solr.collection.history'] = 'history'
 logsearch_properties['logsearch.solr.history.config.name'] = 'history'
-logsearch_properties['logsearch.collection.history.replication.factor'] = '1'
+logsearch_properties['logsearch.collection.history.replication.factor'] = '2'
 
 logsearch_properties['logsearch.solr.jmx.port'] = infra_solr_jmx_port
 
diff --git 
a/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py 
b/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py
index 0c3d38c..7cf3751 100644
--- a/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py
+++ b/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py
@@ -95,7 +95,7 @@ class TestLogSearch(RMFTestCase):
 'logsearch.auth.simple.enabled': 
'false',
 
'logsearch.collection.audit.logs.numshards': '10',
 
'logsearch.collection.audit.logs.replication.factor': '1',
-
'logsearch.collection.history.replication.factor': '1',
+
'logsearch.collection.history.replication.factor': '2',
 
'logsearch.collection.service.logs.numshards': '10',
 
'logsearch.collection.service.logs.replication.factor': '1',
 
'logsearch.config.zk_connect_string': 'c6401.ambari.apache.org:2181',

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


[ambari] branch trunk updated: AMBARI-23980. Agent can send too large websocket message with command output. (mpapirkovskyy) (#1413)

2018-05-30 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 395714e  AMBARI-23980. Agent can send too large websocket message with 
command output. (mpapirkovskyy) (#1413)
395714e is described below

commit 395714e693eacf4881d8c89d537067c55db99791
Author: Myroslav Papirkovskyi 
AuthorDate: Wed May 30 21:54:36 2018 +0300

AMBARI-23980. Agent can send too large websocket message with command 
output. (mpapirkovskyy) (#1413)
---
 ambari-agent/conf/unix/ambari-agent.ini|  2 +-
 ambari-agent/conf/windows/ambari-agent.ini |  2 +-
 .../src/main/python/ambari_agent/AmbariConfig.py   |  6 +-
 .../main/python/ambari_agent/CommandStatusDict.py  | 58 +---
 ambari-agent/src/main/python/ambari_agent/Grep.py  | 14 
 .../src/main/python/ambari_agent/PythonExecutor.py |  7 +-
 .../test/python/ambari_agent/TestActionQueue.py| 12 ++--
 .../python/ambari_agent/TestCommandStatusDict.py   | 78 ++
 .../src/test/python/ambari_agent/TestGrep.py   | 31 +
 .../test/python/ambari_agent/TestPythonExecutor.py | 14 ++--
 10 files changed, 195 insertions(+), 29 deletions(-)

diff --git a/ambari-agent/conf/unix/ambari-agent.ini 
b/ambari-agent/conf/unix/ambari-agent.ini
index 8596790..2e403a0 100644
--- a/ambari-agent/conf/unix/ambari-agent.ini
+++ b/ambari-agent/conf/unix/ambari-agent.ini
@@ -72,7 +72,7 @@ 
dirs=/etc/hadoop,/etc/hadoop/conf,/etc/hbase,/etc/hcatalog,/etc/hive,/etc/oozie,
   
/var/run/hadoop,/var/run/zookeeper,/var/run/hbase,/var/run/templeton,/var/run/oozie,
   
/var/log/hadoop,/var/log/zookeeper,/var/log/hbase,/var/run/templeton,/var/log/hive
 ; 0 - unlimited
-log_lines_count=300
+log_max_symbols_size=90
 idle_interval_min=1
 idle_interval_max=10
 
diff --git a/ambari-agent/conf/windows/ambari-agent.ini 
b/ambari-agent/conf/windows/ambari-agent.ini
index 42d65c1..189daff 100644
--- a/ambari-agent/conf/windows/ambari-agent.ini
+++ b/ambari-agent/conf/windows/ambari-agent.ini
@@ -52,6 +52,6 @@ 
dirs=/etc/hadoop,/etc/hadoop/conf,/etc/hbase,/etc/hcatalog,/etc/hive,/etc/oozie,
   /var/log/nagios
 
rpms=hadoop,hadoop-lzo,hbase,oozie,sqoop,pig,zookeeper,hive,libconfuse,ambari-log4j
 ; 0 - unlimited
-log_lines_count=300
+log_max_symbols_size=90
 idle_interval_min=1
 idle_interval_max=10
diff --git a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py 
b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
index 88aa8ea..68cb593 100644
--- a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
+++ b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
@@ -69,7 +69,7 @@ passphrase_env_var_name=AMBARI_PASSPHRASE
 [heartbeat]
 state_interval = 1
 
dirs={ps}etc{ps}hadoop,{ps}etc{ps}hadoop{ps}conf,{ps}var{ps}run{ps}hadoop,{ps}var{ps}log{ps}hadoop
-log_lines_count=300
+log_max_symbols_size=90
 iddle_interval_min=1
 iddle_interval_max=10
 
@@ -180,6 +180,10 @@ class AmbariConfig:
 return int(self.get('heartbeat', 'state_interval_seconds', '60'))
 
   @property
+  def log_max_symbols_size(self):
+return int(self.get('heartbeat', 'log_max_symbols_size', '90'))
+
+  @property
   def cache_dir(self):
 return self.get('agent', 'cache_dir', 
default='/var/lib/ambari-agent/cache')
 
diff --git a/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py 
b/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py
index a30063e..84af058 100644
--- a/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py
+++ b/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py
@@ -22,6 +22,9 @@ import os
 import logging
 import threading
 import copy
+
+import ambari_simplejson as json
+
 from collections import defaultdict
 from Grep import Grep
 
@@ -38,6 +41,9 @@ class CommandStatusDict():
 task_id -> (command, cmd_report)
   """
 
+  # 2MB is a max message size on the server side
+  MAX_REPORT_SIZE = 195
+
   def __init__(self, initializer_module):
 """
 callback_action is called every time when status of some command is
@@ -48,6 +54,7 @@ class CommandStatusDict():
 self.initializer_module = initializer_module
 self.command_update_output = 
initializer_module.config.command_update_output
 self.server_responses_listener = 
initializer_module.server_responses_listener
+self.log_max_symbols_size = initializer_module.config.log_max_symbols_size
 self.reported_reports = set()
 
 
@@ -91,10 +98,31 @@ class CommandStatusDict():
 report = self.generate_report()
 
 if report:
-  success, correlation_id = self.force_update_to_server(report)
-
-  if success:
-
self.server_responses_listener.listener_functions_on_success[correlation_id] = 
lambda headers, message: self.clear_reported_reports()
+  for splitted_report in self.split_reports(report, 

[ambari] branch trunk updated: [AMBARI-23982] - 'Start All' services call fails post EU as the state of Timeline Reader is INIT (#1415)

2018-05-30 Thread jonathanhurley
This is an automated email from the ASF dual-hosted git repository.

jonathanhurley 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 8d724d7  [AMBARI-23982] - 'Start All' services call fails post EU as 
the state of Timeline Reader is INIT (#1415)
8d724d7 is described below

commit 8d724d7d90c40504ce91b5f09de35e2467e082f9
Author: Jonathan Hurley 
AuthorDate: Wed May 30 14:25:10 2018 -0400

[AMBARI-23982] - 'Start All' services call fails post EU as the state of 
Timeline Reader is INIT (#1415)
---
 .../server/serveraction/AbstractServerAction.java  |   1 -
 .../upgrades/AbstractUpgradeServerAction.java  |  10 ++
 .../serveraction/upgrades/AddComponentAction.java  |  27 ++-
 .../apache/ambari/server/state/UpgradeHelper.java  |   2 +-
 .../upgrades/AddComponentActionTest.java   | 198 +
 5 files changed, 227 insertions(+), 11 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
index 7d5a847..3c38398 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
@@ -199,5 +199,4 @@ public abstract class AbstractServerAction implements 
ServerAction {
   protected void auditLog(AuditEvent ae) {
 auditLogger.log(ae);
   }
-
 }
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AbstractUpgradeServerAction.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AbstractUpgradeServerAction.java
index 1cffd41..abbf6b3 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AbstractUpgradeServerAction.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AbstractUpgradeServerAction.java
@@ -27,6 +27,7 @@ import org.apache.ambari.server.state.UpgradeContext;
 import org.apache.ambari.server.state.UpgradeContextFactory;
 import org.apache.ambari.server.state.UpgradeHelper;
 
+import com.google.gson.Gson;
 import com.google.inject.Inject;
 
 /**
@@ -64,6 +65,15 @@ public abstract class AbstractUpgradeServerAction extends 
AbstractServerAction {
   protected AgentConfigsHolder agentConfigsHolder;
 
   /**
+   * Gets the injected instance of the {@link Gson} serializer/deserializer.
+   *
+   * @return the injected {@link Gson} instance.
+   */
+  protected Gson getGson() {
+return gson;
+  }
+
+  /**
* Gets an initialized {@link UpgradeContext} for the in-progress upgrade.
*/
   protected UpgradeContext getUpgradeContext(Cluster cluster) {
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AddComponentAction.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AddComponentAction.java
index 9a339d2..c97c9ed 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AddComponentAction.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AddComponentAction.java
@@ -27,6 +27,7 @@ import java.util.stream.Collectors;
 
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.ServiceComponentNotFoundException;
+import org.apache.ambari.server.ServiceNotFoundException;
 import org.apache.ambari.server.actionmanager.HostRoleStatus;
 import org.apache.ambari.server.agent.CommandReport;
 import org.apache.ambari.server.events.listeners.upgrade.StackVersionListener;
@@ -40,6 +41,8 @@ import org.apache.ambari.server.state.State;
 import org.apache.ambari.server.state.UpgradeContext;
 import org.apache.ambari.server.state.stack.upgrade.AddComponentTask;
 
+import com.google.gson.Gson;
+
 /**
  * The {@link AddComponentAction} is used to add a component during an upgrade.
  */
@@ -72,8 +75,20 @@ public class AddComponentAction extends 
AbstractUpgradeServerAction {
 String serializedJson = commandParameters.get(
 AddComponentTask.PARAMETER_SERIALIZED_ADD_COMPONENT_TASK);
 
+Gson gson = getGson();
 AddComponentTask task = gson.fromJson(serializedJson, 
AddComponentTask.class);
 
+final Service service;
+try {
+  service = cluster.getService(task.service);
+} catch (ServiceNotFoundException snfe) {
+  return createCommandReport(0, HostRoleStatus.COMPLETED, "{}", "",
+  String.format(
+  "%s was not installed in this cluster since %s is not an 
installed service.",
+  task.component, task.service));
+}
+
+
 // build the list of candidate hosts
 Collection candidates = 
MasterHostResolver.getCandidateHosts(cluster, task.hosts,
 task.hostService, task.hostComponent);
@@ -84,19 +99,13 @@ 

[ambari] branch trunk updated: AMBARI-23981. HDFS Summary widgets disappear after changing widgets order (akovalenko)

2018-05-30 Thread akovalenko
This is an automated email from the ASF dual-hosted git repository.

akovalenko 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 1909c7b  AMBARI-23981. HDFS Summary widgets disappear after changing 
widgets order (akovalenko)
1909c7b is described below

commit 1909c7b55d859200589c94d6f26d090d0c7deed5
Author: Aleksandr Kovalenko 
AuthorDate: Wed May 30 18:30:54 2018 +0300

AMBARI-23981. HDFS Summary widgets disappear after changing widgets order 
(akovalenko)
---
 .../app/views/main/service/info/metrics_view.js| 38 ++
 .../views/main/service/info/metrics_view_test.js   |  6 ++--
 2 files changed, 14 insertions(+), 30 deletions(-)

diff --git a/ambari-web/app/views/main/service/info/metrics_view.js 
b/ambari-web/app/views/main/service/info/metrics_view.js
index 2d13747..450410e 100644
--- a/ambari-web/app/views/main/service/info/metrics_view.js
+++ b/ambari-web/app/views/main/service/info/metrics_view.js
@@ -97,7 +97,8 @@ App.MainServiceInfoMetricsView = Em.View.extend(App.Persist, 
App.TimeRangeMixin,
   var allServices = require('data/service_graph_config');
   this.constructGraphObjects(allServices[svcName.toLowerCase()]);
 }
-this.makeSortable();
+this.makeSortable('#widget_layout');
+this.makeSortable('#ns_widget_layout', true);
 this.addWidgetTooltip();
   },
 
@@ -275,19 +276,21 @@ App.MainServiceInfoMetricsView = 
Em.View.extend(App.Persist, App.TimeRangeMixin,
   /**
* Make widgets' list sortable on New Dashboard style
*/
-  makeSortable: function () {
+  makeSortable: function (selector, isNSLayout) {
 var self = this;
-$('html').on('DOMNodeInserted', '#widget_layout', function () {
+var controller = this.get('controller');
+$('html').on('DOMNodeInserted', selector, function () {
   $(this).sortable({
 items: "> div",
 cursor: "move",
 tolerance: "pointer",
 scroll: false,
 update: function () {
-  var widgets = misc.sortByOrder($("#widget_layout 
.widget").map(function () {
+  var layout = isNSLayout ? controller.get('selectedNSWidgetLayout') : 
controller.get('activeWidgetLayout');
+  var widgets = misc.sortByOrder($(selector + " .widget").map(function 
() {
 return this.id;
-  }), self.get('controller.widgets'));
-  self.get('controller').saveWidgetLayout(widgets);
+  }), layout.get('widgets').toArray());
+  controller.saveWidgetLayout(widgets, layout);
 },
 activate: function () {
   self.set('isMoving', true);
@@ -296,28 +299,7 @@ App.MainServiceInfoMetricsView = 
Em.View.extend(App.Persist, App.TimeRangeMixin,
   self.set('isMoving', false);
 }
   }).disableSelection();
-  $('html').off('DOMNodeInserted', '#widget_layout');
-});
-$('html').on('DOMNodeInserted', '#ns_widget_layout', function () {
-  $(this).sortable({
-items: "> div",
-cursor: "move",
-tolerance: "pointer",
-scroll: false,
-update: function () {
-  var widgets = misc.sortByOrder($("#ns_widget_layout 
.widget").map(function () {
-return this.id;
-  }), self.get('controller.widgets'));
-  self.get('controller').saveWidgetLayout(widgets);
-},
-activate: function () {
-  self.set('isMoving', true);
-},
-deactivate: function () {
-  self.set('isMoving', false);
-}
-  }).disableSelection();
-  $('html').off('DOMNodeInserted', '#ns_widget_layout');
+  $('html').off('DOMNodeInserted', selector);
 });
   }
 });
diff --git a/ambari-web/test/views/main/service/info/metrics_view_test.js 
b/ambari-web/test/views/main/service/info/metrics_view_test.js
index 8e0024d..99442f1 100644
--- a/ambari-web/test/views/main/service/info/metrics_view_test.js
+++ b/ambari-web/test/views/main/service/info/metrics_view_test.js
@@ -206,7 +206,6 @@ describe('App.MainServiceInfoMetricsView', function() {
   sinon.spy(mock, 'on');
   sinon.spy(mock, 'off');
   sinon.spy(mock, 'sortable');
-  view.makeSortable();
 });
 afterEach(function() {
   window.$.restore();
@@ -216,14 +215,17 @@ describe('App.MainServiceInfoMetricsView', function() {
 });
 
 it("on() should be called", function() {
+  view.makeSortable('#widget_layout');
   expect(mock.on.calledWith('DOMNodeInserted', 
'#widget_layout')).to.be.true;
 });
 
 it("sortable() should be called", function() {
+  view.makeSortable('#widget_layout');
   expect(mock.sortable.called).to.be.true;
 });
 
 it("off() should be called", function() {
+  view.makeSortable('#widget_layout');
   expect(mock.off.calledWith('DOMNodeInserted', 
'#widget_layout')).to.be.true;
 });
   });
@@ -261,7 +263,7 @@ 

[ambari] branch trunk updated: AMBARI-23945. Add upgrade & restart/stop hidden service component commands.

2018-05-30 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 d1744d4  AMBARI-23945. Add upgrade & restart/stop hidden service 
component commands.
d1744d4 is described below

commit d1744d40f40d393d21fb85ceb084c65bff5733c0
Author: Oliver Szabo 
AuthorDate: Wed May 30 17:06:21 2018 +0200

AMBARI-23945. Add upgrade & restart/stop hidden service component commands.
---
 .../src/main/python/migrationHelper.py | 178 -
 .../AMBARI_INFRA_SOLR/0.1.0/metainfo.xml   |  20 +++
 .../0.1.0/package/scripts/infra_solr.py|  13 ++
 .../0.1.0/package/scripts/infra_solr_client.py |  13 +-
 .../common-services/LOGSEARCH/0.5.0/metainfo.xml   |  23 +++
 .../LOGSEARCH/0.5.0/package/scripts/logfeeder.py   |  13 +-
 .../LOGSEARCH/0.5.0/package/scripts/logsearch.py   |  13 ++
 7 files changed, 266 insertions(+), 7 deletions(-)

diff --git 
a/ambari-infra/ambari-infra-solr-client/src/main/python/migrationHelper.py 
b/ambari-infra/ambari-infra-solr-client/src/main/python/migrationHelper.py
index d340cb9..3c811d4 100755
--- a/ambari-infra/ambari-infra-solr-client/src/main/python/migrationHelper.py
+++ b/ambari-infra/ambari-infra-solr-client/src/main/python/migrationHelper.py
@@ -25,6 +25,7 @@ import urllib2
 import json
 import base64
 import optparse
+import socket
 import time
 import traceback
 import ConfigParser
@@ -41,6 +42,12 @@ SOLR_SERVICE_NAME = 'AMBARI_INFRA_SOLR'
 
 SOLR_COMPONENT_NAME ='INFRA_SOLR'
 
+LOGSEARCH_SERVICE_NAME = 'LOGSEARCH'
+
+LOGSEARCH_SERVER_COMPONENT_NAME ='LOGSEARCH_SERVER'
+LOGSEARCH_LOGFEEDER_COMPONENT_NAME ='LOGSEARCH_LOGFEEDER'
+
+
 CLUSTERS_URL = '/api/v1/clusters/{0}'
 
 GET_HOSTS_COMPONENTS_URL = 
'/services/{0}/components/{1}?fields=host_components'
@@ -285,7 +292,8 @@ def create_batch_command(command, hosts, cluster, 
service_name, component_name,
 
   return request_schedules
 
-def create_command_request(command, parameters, hosts, cluster, context):
+
+def create_command_request(command, parameters, hosts, cluster, context, 
service=SOLR_SERVICE_NAME, component=SOLR_COMPONENT_NAME):
   request = {}
   request_info = {}
   request_info["context"] = context
@@ -300,8 +308,8 @@ def create_command_request(command, parameters, hosts, 
cluster, context):
   request["RequestInfo"] = request_info
 
   resource_filter = {}
-  resource_filter["service_name"] = SOLR_SERVICE_NAME
-  resource_filter["component_name"] = SOLR_COMPONENT_NAME
+  resource_filter["service_name"] = service
+  resource_filter["component_name"] = component
   resource_filter["hosts"] = ','.join(hosts)
 
   resource_filters = []
@@ -357,9 +365,13 @@ def validte_common_options(options, parser, config):
 print 'collection option is required'
 sys.exit(1)
 
-def get_solr_hosts(options, accessor, cluster):
-  host_components_json = get_json(accessor, CLUSTERS_URL.format(cluster) + 
GET_HOSTS_COMPONENTS_URL.format(SOLR_SERVICE_NAME, SOLR_COMPONENT_NAME))
+def get_service_components(options, accessor, cluster, service, component):
+  host_components_json = get_json(accessor, CLUSTERS_URL.format(cluster) + 
GET_HOSTS_COMPONENTS_URL.format(service, component))
   component_hosts = get_component_hosts(host_components_json)
+  return component_hosts
+
+def get_solr_hosts(options, accessor, cluster):
+  component_hosts = get_service_components(options, accessor, cluster, 
SOLR_SERVICE_NAME, SOLR_COMPONENT_NAME)
 
   if options.include_solr_hosts:
 new_component_hosts = []
@@ -411,6 +423,148 @@ def backup(options, accessor, parser, config, collection, 
index_location):
   cmd_request = create_command_request("BACKUP", parameters, component_hosts, 
cluster, 'Backup Solr Collection: ' + collection)
   return post_json(accessor, CLUSTERS_URL.format(cluster) + REQUESTS_API_URL, 
cmd_request)
 
+
+def upgrade_solr_instances(options, accessor, parser, config):
+  """
+  Upgrade (remove & re-install) infra solr instances
+  """
+  cluster = config.get('ambari_server', 'cluster')
+  solr_instance_hosts = get_service_components(options, accessor, cluster, 
"AMBARI_INFRA_SOLR", "INFRA_SOLR")
+
+  context = "Upgrade Solr Instances"
+  sys.stdout.write("Sending upgrade request: [{0}] ".format(context))
+  sys.stdout.flush()
+
+  cmd_request = create_command_request("UPGRADE_SOLR_INSTANCE", {}, 
solr_instance_hosts, cluster, context)
+  response = post_json(accessor, CLUSTERS_URL.format(cluster) + 
REQUESTS_API_URL, cmd_request)
+  request_id = get_request_id(response)
+  sys.stdout.write(colors.OKGREEN + 'DONE\n' + colors.ENDC)
+  sys.stdout.flush()
+  print 'Upgrade command request id: {0}'.format(request_id)
+  if options.async:
+print "Upgrade request sent to Ambari server. Check Ambari UI about the 
results."
+sys.exit(0)
+  else:
+sys.stdout.write("Start monitoring Ambari request 

[ambari] branch trunk updated: [AMBARI-23941] Updating serviceLevelParams and clusterLevelParams in server-side metadata holder both when adding and removing a service/property (#1366)

2018-05-30 Thread smolnar
This is an automated email from the ASF dual-hosted git repository.

smolnar 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 02da908  [AMBARI-23941] Updating serviceLevelParams and 
clusterLevelParams in server-side metadata holder both when adding and removing 
a service/property (#1366)
02da908 is described below

commit 02da908795aa0ba3ee151352b4346911d1a5481e
Author: Sandor Molnar 
AuthorDate: Wed May 30 17:02:47 2018 +0200

[AMBARI-23941] Updating serviceLevelParams and clusterLevelParams in 
server-side metadata holder both when adding and removing a service/property 
(#1366)

* AMBARI-23941. Updating serviceLevelParams and clusterLevelParams in 
server-side metadata holder both when adding and removing a service/property

* AMBARI-23941. Eliminated code duplication and applied locking when 
updating service/cluster level parameters

* AMBARI-23941. Preparing the code for partial configuration updates (i.e. 
service or cluster level params should not be touched) and for the case when 
service level params are updated for a single service only (in case of cluter 
level params we always use full metadata)

* AMBARI-23941. Locking service/cluster level metadata maps properly
---
 .../ambari/server/agent/stomp/MetadataHolder.java  |   2 +-
 .../server/agent/stomp/dto/MetadataCluster.java|  97 +-
 .../controller/AmbariManagementControllerImpl.java |  64 ++---
 .../ambari/server/events/MetadataUpdateEvent.java  |   3 +-
 .../agent/stomp/dto/MetadataClusterTest.java   | 144 +
 5 files changed, 225 insertions(+), 85 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/MetadataHolder.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/MetadataHolder.java
index 3d8ee35..8fd8951 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/MetadataHolder.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/MetadataHolder.java
@@ -88,7 +88,7 @@ public class MetadataHolder extends 
AgentClusterDataHolder
 if 
(cluster.updateClusterLevelParams(updatedCluster.getClusterLevelParams())) {
   changed = true;
 }
-if 
(cluster.updateServiceLevelParams(updatedCluster.getServiceLevelParams())) {
+if 
(cluster.updateServiceLevelParams(updatedCluster.getServiceLevelParams(), 
updatedCluster.isFullServiceLevelMetadata())) {
   changed = true;
 }
 if 
(CollectionUtils.isNotEmpty(updatedCluster.getStatusCommandsToRun())
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/MetadataCluster.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/MetadataCluster.java
index b22ee60..5619adc 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/MetadataCluster.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/MetadataCluster.java
@@ -18,41 +18,56 @@
 package org.apache.ambari.server.agent.stomp.dto;
 
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 import java.util.SortedMap;
 import java.util.TreeMap;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.ambari.server.state.SecurityType;
-import org.apache.commons.lang.StringUtils;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 @JsonInclude(JsonInclude.Include.NON_EMPTY)
 public class MetadataCluster {
-  @JsonProperty("status_commands_to_run")
-  private Set statusCommandsToRun = new HashSet<>();
-  private SortedMap serviceLevelParams = new 
TreeMap<>();
-  private SortedMap clusterLevelParams = new TreeMap<>();
+  private final Lock lock = new ReentrantLock();
 
-  private SortedMap> agentConfigs = new 
TreeMap<>();
+  @JsonProperty("status_commands_to_run")
+  private final Set statusCommandsToRun;
+  private final boolean fullServiceLevelMetadata; //this is true in case 
serviceLevelParams has all parameters for all services
+  private SortedMap serviceLevelParams;
+  private SortedMap clusterLevelParams;
+  private SortedMap> agentConfigs;
 
-  public MetadataCluster(SecurityType securityType, 
SortedMap serviceLevelParams,
+  public MetadataCluster(SecurityType securityType, 
SortedMap serviceLevelParams, boolean 
fullServiceLevelMetadata,
  SortedMap clusterLevelParams, 
SortedMap> agentConfigs) {
+this.statusCommandsToRun  = new HashSet<>();
 if (securityType != null) {
   this.statusCommandsToRun.add("STATUS");
   if (SecurityType.KERBEROS.equals(securityType)) {
 this.statusCommandsToRun.add("SECURITY_STATUS");
   }
 }
+

[ambari] branch trunk updated: AMBARI-23978 Express Upgrade: Clicking on upgrade item shows no tasks on large clusters

2018-05-30 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 e9ef947  AMBARI-23978 Express Upgrade: Clicking on upgrade item shows 
no tasks on large clusters
e9ef947 is described below

commit e9ef947772feb3c0191c1e36e89d20e31c76f349
Author: Andrii Tkach 
AuthorDate: Wed May 30 13:28:09 2018 +0300

AMBARI-23978 Express Upgrade: Clicking on upgrade item shows no tasks on 
large clusters
---
 .../main/admin/stack_and_upgrade_controller.js | 36 ++-
 ambari-web/app/models/upgrade_entity.js|  5 ++
 .../main/admin/stack_upgrade/upgrade_group.hbs |  2 +-
 .../main/admin/stack_upgrade/upgrade_task.hbs  |  4 +-
 ambari-web/app/utils/ajax/ajax.js  | 11 -
 .../main/admin/stack_upgrade/upgrade_group_view.js |  8 ++--
 .../main/admin/stack_upgrade/upgrade_task_view.js  | 39 
 .../admin/stack_and_upgrade_controller_test.js | 53 ++
 .../admin/stack_upgrade/upgrade_task_view_test.js  | 34 ++
 9 files changed, 183 insertions(+), 9 deletions(-)

diff --git 
a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js 
b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
index f538f21..0a62f50 100644
--- a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
+++ b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
@@ -648,13 +648,18 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
   data.tasks.forEach(function (task) {
 var currentTask = item.get('tasks').findProperty('id', 
task.Tasks.id);
 this.get('taskDetailsProperties').forEach(function (property) {
-  currentTask.set(property, task.Tasks[property]);
+  if (!Em.isNone(task.Tasks[property])) {
+currentTask.set(property, task.Tasks[property]);
+  }
 }, this);
   }, this);
 } else {
   var tasks = [];
   data.tasks.forEach(function (task) {
-tasks.pushObject(App.upgradeEntity.create({type: 'TASK'}, 
task.Tasks));
+tasks.pushObject(App.upgradeEntity.create({
+  type: 'TASK',
+  group_id: data.UpgradeItem.group_id
+}, task.Tasks));
   });
   item.set('tasks', tasks);
 }
@@ -665,6 +670,33 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
 }, this);
   },
 
+
+  /**
+   * request Upgrade Task
+   * @param {Em.Object} task
+   * @return {$.ajax}
+   */
+  getUpgradeTask: function (task) {
+return App.ajax.send({
+  name: 'admin.upgrade.upgrade_task',
+  sender: this,
+  data: {
+upgradeId: task.get('request_id'),
+groupId: task.get('group_id'),
+stageId: task.get('stage_id'),
+taskId: task.get('id'),
+task: task
+  },
+  success: 'getUpgradeTaskSuccessCallback'
+});
+  },
+
+  getUpgradeTaskSuccessCallback: function (data, xhr, params) {
+this.get('taskDetailsProperties').forEach(function (property) {
+  params.task.set(property, data.Tasks[property]);
+}, this);
+  },
+
   /**
* Failures info may includes service_check and host_component failures. 
These two types should be displayed separately.
*/
diff --git a/ambari-web/app/models/upgrade_entity.js 
b/ambari-web/app/models/upgrade_entity.js
index 7df1149..15332a8 100644
--- a/ambari-web/app/models/upgrade_entity.js
+++ b/ambari-web/app/models/upgrade_entity.js
@@ -56,6 +56,11 @@ App.upgradeEntity = Em.Object.extend({
   isRunning: Em.computed.existsIn('status', ['IN_PROGRESS']),
 
   /**
+   * @type {boolean}
+   */
+  isCompleted: Em.computed.existsIn('status', ['COMPLETED', 'FAILED', 
'TIMEDOUT', 'ABORTED']),
+
+  /**
* @type {number}
*/
   progress: function () {
diff --git 
a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_group.hbs 
b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_group.hbs
index 00cde9f..b1e6404 100644
--- a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_group.hbs
+++ b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_group.hbs
@@ -55,7 +55,7 @@
   }}
 
 {{item.progress}}%
-
   
 {{/if}}
   
diff --git a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_task.hbs 
b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_task.hbs
index 36450a2..8c0fd42 100644
--- a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_task.hbs
+++ b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_task.hbs
@@ -19,13 +19,13 @@
 {{#unless view.outsideView}}
   
   

[ambari] branch trunk updated: AMBARI-20886. Make AzureDB schema generator work with Python 3 (#1407)

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

adoroszlai 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 8ad4557  AMBARI-20886. Make AzureDB schema generator work with Python 
3 (#1407)
8ad4557 is described below

commit 8ad4557682389ca84b32f1234f5d685cc1db9787
Author: Doroszlai, Attila <6454655+adorosz...@users.noreply.github.com>
AuthorDate: Wed May 30 15:44:09 2018 +0200

AMBARI-20886. Make AzureDB schema generator work with Python 3 (#1407)
---
 ambari-server/src/main/python/azuredb_create_generator.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ambari-server/src/main/python/azuredb_create_generator.py 
b/ambari-server/src/main/python/azuredb_create_generator.py
index 1794d79..373519c 100755
--- a/ambari-server/src/main/python/azuredb_create_generator.py
+++ b/ambari-server/src/main/python/azuredb_create_generator.py
@@ -21,6 +21,7 @@ limitations under the License.
 # This script transforms SQLServer "create" SQL to idempotent SQL for AzureDB.
 # It is a filter, ie. it expects input on stdin, and prints output on stdout.
 
+from __future__ import print_function
 import fileinput
 import re
 from textwrap import dedent
@@ -82,4 +83,4 @@ deletes.reverse()
 delete_sql = "\n".join(deletes)
 sql = re.sub("BEGIN TRANSACTION", "\g<0>\n" + delete_sql, sql, count=1)
 
-print sql
+print(sql)

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


[ambari] branch trunk updated: [AMBARI-23929] Stack changes for AMS to help with HDP 2.6 to 3.0 EU (dsen) (#1353)

2018-05-30 Thread dsen
This is an automated email from the ASF dual-hosted git repository.

dsen 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 d447ea5  [AMBARI-23929] Stack changes for AMS to help with HDP 2.6 to 
3.0 EU (dsen) (#1353)
d447ea5 is described below

commit d447ea5195832b3d94ca1c22fade8753b8c096e4
Author: Dmitry Sen 
AuthorDate: Wed May 30 14:37:51 2018 +0300

[AMBARI-23929] Stack changes for AMS to help with HDP 2.6 to 3.0 EU (dsen) 
(#1353)

* [AMBARI-23929] Stack changes for AMS to help with HDP 2.6 to 3.0 EU. 
(dsen)

* [AMBARI-23929] Stack changes for AMS to help with HDP 2.6 to 3.0 EU. 
(dsen)
---
 .../repo_manager/repo_manager_helper.py| 54 ++
 .../ambari_commons/repo_manager/yum_manager.py |  4 +-
 .../ambari_commons/repo_manager/zypper_manager.py  |  6 +--
 .../0.1.0/package/scripts/hbase_service.py |  4 ++
 .../0.96.0.2.0/package/scripts/hbase_service.py|  4 ++
 .../HDFS/2.1.0.2.0/package/scripts/utils.py|  4 ++
 .../0.12.0.2.0/package/scripts/hive_service.py |  4 ++
 .../YARN/2.1.0.2.0/package/scripts/service.py  |  4 ++
 8 files changed, 79 insertions(+), 5 deletions(-)

diff --git 
a/ambari-common/src/main/python/ambari_commons/repo_manager/repo_manager_helper.py
 
b/ambari-common/src/main/python/ambari_commons/repo_manager/repo_manager_helper.py
new file mode 100644
index 000..91d86a6
--- /dev/null
+++ 
b/ambari-common/src/main/python/ambari_commons/repo_manager/repo_manager_helper.py
@@ -0,0 +1,54 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from . import ManagerFactory
+from resource_management.libraries.functions.version import compare_versions
+from resource_management.core.logger import Logger
+from resource_management.core.exceptions import Fail
+from ambari_commons import OSCheck
+
+def 
check_installed_metrics_hadoop_sink_version(hadoop_sink_package_name="ambari-metrics-hadoop-sink",
+checked_version="2.7.0.0", 
less_valid=True, equal_valid=False):
+
+  # The default package name is different for ubuntu and debian, so if the 
dafault one is used change the name
+  if hadoop_sink_package_name == "ambari-metrics-hadoop-sink" and 
OSCheck.is_ubuntu_family():
+hadoop_sink_package_name = "ambari-metrics-assembly"
+
+  pkg_provider = ManagerFactory.get()
+  hadoop_sink_version = 
pkg_provider.get_installed_package_version(hadoop_sink_package_name)
+
+  if not hadoop_sink_version:
+Logger.warning("Couldn't determine %s package version, skipping the sink 
version check" % hadoop_sink_package_name)
+return
+  else:
+if "-" in hadoop_sink_version:
+  hadoop_sink_version = hadoop_sink_version.split("-")[0]
+# installed version should be less than next version
+compare_result = compare_versions(hadoop_sink_version, checked_version)
+if equal_valid and compare_result == 0:
+  pass
+elif less_valid and compare_result != -1:
+  raise Fail("%s installed package version is %s. It should be less than 
%s due to"
+ " incompatibility. Please downgrade the package or upgrade 
the stack and try again."
+ % (hadoop_sink_package_name, hadoop_sink_version, 
checked_version))
+
+elif not less_valid and compare_result != 1:
+  raise Fail("%s installed package version is %s. It should be greater 
than or equal to %s due to"
+ " incompatibility. Please upgrade the package or downgrade 
the stack and try again."
+ % (hadoop_sink_package_name, hadoop_sink_version, 
checked_version))
+
+  Logger.info("ambari-metrics-hadoop-sink package version is OK")
\ No newline at end of file
diff --git 
a/ambari-common/src/main/python/ambari_commons/repo_manager/yum_manager.py 
b/ambari-common/src/main/python/ambari_commons/repo_manager/yum_manager.py
index 7df4632..e3df80e 100644
--- a/ambari-common/src/main/python/ambari_commons/repo_manager/yum_manager.py
+++ b/ambari-common/src/main/python/ambari_commons/repo_manager/yum_manager.py
@@ -63,7 +63,7 @@ class YumManagerProperties(GenericManagerProperties):
   }
 
   verify_dependency_cmd = 

[ambari] 04/07: AMBARI-23746. Cannot create same named component in different service groups in same request

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

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

commit 096dff5eeb74b7f2f640be293679b36fc0a3f787
Author: Doroszlai, Attila 
AuthorDate: Tue May 29 19:32:03 2018 +0200

AMBARI-23746. Cannot create same named component in different service 
groups in same request
---
 .../internal/ComponentResourceProvider.java | 21 -
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
index 2ffce9d..c59e51d 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
@@ -68,6 +68,7 @@ import org.apache.commons.lang.Validate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
 import com.google.inject.Inject;
 import com.google.inject.assistedinject.Assisted;
@@ -393,7 +394,7 @@ public class ComponentResourceProvider extends 
AbstractControllerResourceProvide
 ServiceComponentFactory serviceComponentFactory = 
getManagementController().getServiceComponentFactory();
 
 // do all validation checks
-Map>> componentNames = new HashMap<>();
+Map>> componentNames = new HashMap<>();
 Set duplicates = new HashSet<>();
 
 for (ServiceComponentRequest request : requests) {
@@ -413,21 +414,16 @@ public class ComponentResourceProvider extends 
AbstractControllerResourceProvide
 
   debug("Received a createComponent request: {}", request);
 
-  if (!componentNames.containsKey(request.getClusterName())) {
-componentNames.put(request.getClusterName(), new HashMap<>());
-  }
-
-  Map> serviceComponents = 
componentNames.get(request.getClusterName());
-  if (!serviceComponents.containsKey(request.getServiceName())) {
-serviceComponents.put(request.getServiceName(), new HashSet());
-  }
+  Set componentID = ImmutableSet.of(request.getServiceGroupName(), 
request.getServiceName(), request.getComponentName());
+  boolean added = componentNames
+.computeIfAbsent(request.getClusterName(), __ -> new HashSet<>())
+.add(componentID);
 
-  if 
(serviceComponents.get(request.getServiceName()).contains(request.getComponentName()))
 {
+  if (!added) {
 // throw error later for dup
 duplicates.add(request.toString());
 continue;
   }
-  
serviceComponents.get(request.getServiceName()).add(request.getComponentName());
 
   if (StringUtils.isNotEmpty(request.getDesiredState())) {
 Validate.isTrue(State.INIT == State.valueOf(request.getDesiredState()),
@@ -462,9 +458,8 @@ public class ComponentResourceProvider extends 
AbstractControllerResourceProvide
 
 // Validate dups
 if (!duplicates.isEmpty()) {
-  //Java8 has StringJoiner library but ambari is not on Java8 yet.
   throw new DuplicateResourceException("Attempted to create one or more 
components which already exist:"
-+ StringUtils.join(duplicates, ","));
++ String.join(", ", duplicates));
 }
 
 // now doing actual work

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


[ambari] branch branch-feature-AMBARI-14714 updated (4bef993 -> f8293cf)

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

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


from 4bef993  AMBARI-23972. Update code for : (1). 'mpack-recommendations' 
directory creation and (2). putting 'mpack_advisor_wrapper.py' in 
'/var/lib/ambari-server/resources/scripts/' folder.
 new 3490029  AMBARI-14714. Fix some unit tests
 new 938be76  AMBARI-14714. Fix ServiceResourceProviderTest
 new 0e9317e  AMBARI-23746. Cannot create same named service in different 
service groups in same request
 new 096dff5  AMBARI-23746. Cannot create same named component in different 
service groups in same request
 new 85c6c6e  AMBARI-22875. Service group name mismatch
 new 9120330  AMBARI-23746. Cannot query services with same name
 new f8293cf  AMBARI-23746. Use List for componentID duplicate check

The 7 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:
 .../actionmanager/ExecutionCommandWrapper.java |  10 +-
 .../apache/ambari/server/agent/CommandReport.java  |   5 +
 .../api/query/render/ClusterBlueprintRenderer.java |   8 +-
 .../ambari/server/api/services/AmbariMetaInfo.java |   5 +-
 .../controller/AmbariManagementControllerImpl.java |   8 +-
 .../internal/ComponentResourceProvider.java|  23 +-
 .../internal/ExportBlueprintRequest.java   |   3 +-
 .../ServiceDependencyResourceProvider.java |  17 +-
 .../internal/ServiceResourceProvider.java  |  53 ++--
 .../org/apache/ambari/server/orm/dao/MpackDAO.java |   2 +-
 .../orm/entities/HostGroupComponentEntity.java |   2 +-
 .../server/orm/entities/MpackInstanceEntity.java   |  21 +-
 .../apache/ambari/server/state/ConfigHelper.java   |   7 +-
 .../ambari/server/state/cluster/ClusterImpl.java   |  45 ++--
 .../stack/upgrade/RepositoryVersionHelper.java |   2 +-
 .../BlueprintBasedClusterProvisionRequest.java |  11 -
 .../ambari/server/topology/BlueprintFactory.java   |  36 +--
 .../ambari/server/topology/BlueprintImpl.java  |  16 +-
 .../apache/ambari/server/topology/Component.java   |  47 +---
 .../ambari/server/topology/HostGroupImpl.java  |   2 +-
 .../ambari/server/topology/MpackInstance.java  |  48 +---
 .../ambari/server/topology/ResolvedComponent.java  |   9 +-
 .../server/topology/ResolvedComponent_Builder.java |   2 +-
 .../server/topology/StackComponentResolver.java|  56 ++---
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql |   1 +
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql |   1 +
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql|   1 +
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql  |   1 +
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql|   1 +
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql |   1 +
 .../actionmanager/ExecutionCommandWrapperTest.java |   8 +
 .../actionmanager/TestActionDBAccessorImpl.java|   3 +
 .../server/actionmanager/TestActionScheduler.java  |  21 +-
 .../TestActionSchedulerThreading.java  |   4 +-
 .../ambari/server/agent/AgentResourceTest.java |   2 +
 .../server/agent/HeartbeatProcessorTest.java   |   1 +
 .../ambari/server/agent/TestHeartbeatHandler.java  |   5 +
 .../ambari/server/agent/TestHeartbeatMonitor.java  |   1 +
 .../query/render/ClusterBlueprintRendererTest.java |   8 +-
 .../api/resources/BaseResourceDefinitionTest.java  |   7 +-
 .../api/services/HostComponentServiceTest.java |   6 -
 .../AmbariCustomCommandExecutionHelperTest.java|  27 +-
 .../AbstractControllerResourceProviderTest.java|   7 +-
 .../internal/AbstractResourceProviderTest.java |   7 +-
 .../internal/ComponentResourceProviderTest.java|  13 +-
 .../HostComponentResourceProviderTest.java |  10 +-
 .../internal/HostResourceProviderTest.java |  17 +-
 .../controller/internal/JMXHostProviderTest.java   |  31 +--
 .../ServiceDependencyResourceProviderTest.java |   2 +-
 .../internal/ServiceResourceProviderTest.java  | 178 ++---
 .../apache/ambari/server/orm/OrmTestHelper.java|   2 +
 .../ambari/server/topology/AmbariContextTest.java  |   6 +-
 .../server/topology/BlueprintFactoryTest.java  |  42 
 .../server/topology/DownloadMpacksTaskTest.java|   6 +-
 .../topology/StackComponentResolverTest.java   | 275 ++---
 .../server/topology/TopologyManagerTest.java   |   4 +-
 .../RejectUnknownComponentsTest.java}  |  10 +-
 .../HDP/2.0.6/services/HADOOP_CLIENTS/metainfo.xml |   5 +
 58 files changed, 687 insertions(+), 465 deletions(-)
 copy 
ambari-server/src/test/java/org/apache/ambari/server/topology/{StackComponentResolverTest.java
 => validators/RejectUnknownComponentsTest.java} (89%)

-- 
To stop receiving 

[ambari] 05/07: AMBARI-22875. Service group name mismatch

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

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

commit 85c6c6e6cca7c052d51f2b2d50a4815720c6018f
Author: Doroszlai, Attila 
AuthorDate: Wed May 30 00:28:58 2018 +0200

AMBARI-22875. Service group name mismatch
---
 .../internal/ExportBlueprintRequest.java   |   3 +-
 .../orm/entities/HostGroupComponentEntity.java |   2 +-
 .../server/orm/entities/MpackInstanceEntity.java   |  21 +-
 .../BlueprintBasedClusterProvisionRequest.java |  11 -
 .../ambari/server/topology/BlueprintFactory.java   |  36 +--
 .../ambari/server/topology/BlueprintImpl.java  |  16 +-
 .../apache/ambari/server/topology/Component.java   |  47 +---
 .../ambari/server/topology/HostGroupImpl.java  |   2 +-
 .../ambari/server/topology/MpackInstance.java  |  48 +---
 .../ambari/server/topology/ResolvedComponent.java  |   9 +-
 .../server/topology/ResolvedComponent_Builder.java |   2 +-
 .../server/topology/StackComponentResolver.java|  56 ++---
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql |   1 +
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql |   1 +
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql|   1 +
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql  |   1 +
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql|   1 +
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql |   1 +
 .../ambari/server/topology/AmbariContextTest.java  |   6 +-
 .../server/topology/BlueprintFactoryTest.java  |  42 
 .../server/topology/DownloadMpacksTaskTest.java|   6 +-
 .../topology/StackComponentResolverTest.java   | 275 ++---
 .../server/topology/TopologyManagerTest.java   |   4 +-
 .../RejectUnknownComponentsTest.java}  |  10 +-
 24 files changed, 345 insertions(+), 257 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
index dc3f2d5..6e6fd69 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
@@ -272,8 +272,7 @@ public class ExportBlueprintRequest implements 
TopologyRequest {
   
String.valueOf(resource.getPropertyValue(HostComponentResourceProvider.HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID));
 String serviceGroupName =
   
String.valueOf(resource.getPropertyValue(HostComponentResourceProvider.HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID));
-StackId stackId = serviceGroupToMpack.get(serviceGroupName);
-getComponents().add(new Component(componentName, stackId, serviceName, 
null));
+getComponents().add(new Component(componentName, serviceGroupName, 
serviceName, null));
   }
   addAmbariComponentIfLocalhost((String) host.getObject().getPropertyValue(
   PropertyHelper.getPropertyId("Hosts", "host_name")));
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupComponentEntity.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupComponentEntity.java
index f16ef40..708fb3f 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupComponentEntity.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupComponentEntity.java
@@ -211,7 +211,7 @@ public class HostGroupComponentEntity {
 
   /**
* @return the name of the service instance defining this component
-   * (only needs to be set if component resolution would be ambigous 
otherwise)
+   * (only needs to be set if component resolution would be ambiguous 
otherwise)
*/
   public String getServiceName() {
 return serviceName;
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MpackInstanceEntity.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MpackInstanceEntity.java
index 1956108..9063ed0 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MpackInstanceEntity.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/MpackInstanceEntity.java
@@ -59,6 +59,9 @@ public abstract class MpackInstanceEntity {
   @Column(name = "mpack_name", nullable = false)
   private String mpackName;
 
+  @Column(name = "mpack_type", nullable = false)
+  private String mpackType;
+
   @Column(name = "mpack_version", nullable = false)
   private String mpackVersion;
 
@@ -90,20 +93,34 @@ public abstract class MpackInstanceEntity {
   }
 
   /**
-   * @return the name of the mpack
+   * @return the name of the mpack instance
*/
   public String getMpackName() {
 return mpackName;
   }
 
   /**
-   * @param mpackName 

[ambari] 02/07: AMBARI-14714. Fix ServiceResourceProviderTest

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

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

commit 938be763156e88c3183dfeb62a432cdfc906a9bb
Author: Doroszlai, Attila 
AuthorDate: Fri May 18 22:02:15 2018 +0200

AMBARI-14714. Fix ServiceResourceProviderTest
---
 .../internal/ServiceResourceProvider.java  |  6 +--
 .../api/resources/BaseResourceDefinitionTest.java  |  7 ++--
 .../AbstractControllerResourceProviderTest.java|  7 ++--
 .../internal/AbstractResourceProviderTest.java |  7 ++--
 .../controller/internal/JMXHostProviderTest.java   | 23 +--
 .../internal/ServiceResourceProviderTest.java  | 45 --
 6 files changed, 49 insertions(+), 46 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
index 72e43f7..ebaf14c 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
@@ -167,8 +167,7 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
   @Inject
   private KerberosHelper kerberosHelper;
 
-  @Inject
-  private TopologyDeleteFormer topologyDeleteFormer;
+  private final TopologyDeleteFormer topologyDeleteFormer;
 
   // - Constructors 
 
@@ -180,9 +179,10 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
   @AssistedInject
   public ServiceResourceProvider(
   @Assisted AmbariManagementController managementController,
-  MaintenanceStateHelper maintenanceStateHelper) {
+  MaintenanceStateHelper maintenanceStateHelper, TopologyDeleteFormer 
topologyDeleteFormer) {
 super(Resource.Type.Service, PROPERTY_IDS, KEY_PROPERTY_IDS, 
managementController);
 this.maintenanceStateHelper = maintenanceStateHelper;
+this.topologyDeleteFormer = topologyDeleteFormer;
 
 
setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.SERVICE_ADD_DELETE_SERVICES));
 
setRequiredUpdateAuthorizations(RoleAuthorization.AUTHORIZATIONS_UPDATE_SERVICE);
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
index 22b55cd..a9a0555 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
@@ -51,6 +51,7 @@ import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.controller.spi.ResourceProvider;
 import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
 import org.apache.ambari.server.state.Service;
+import org.apache.ambari.server.topology.TopologyDeleteFormer;
 import org.apache.ambari.server.view.ViewRegistry;
 import org.junit.Assert;
 import org.junit.Before;
@@ -88,13 +89,13 @@ public class BaseResourceDefinitionTest {
 
 ResourceProviderFactory factory = 
createMock(ResourceProviderFactory.class);
 MaintenanceStateHelper maintenanceStateHelper = 
createNiceMock(MaintenanceStateHelper.class);
+TopologyDeleteFormer topologyDeleteFormer = 
createNiceMock(TopologyDeleteFormer.class);
 AmbariManagementController managementController = 
createMock(AmbariManagementController.class);
 
 
expect(maintenanceStateHelper.isOperationAllowed(anyObject(Resource.Type.class),
 anyObject(Service.class))).andReturn(true).anyTimes();
 
-ResourceProvider serviceResourceProvider = new 
ServiceResourceProvider(managementController,
-maintenanceStateHelper);
+ResourceProvider serviceResourceProvider = new 
ServiceResourceProvider(managementController, maintenanceStateHelper, 
topologyDeleteFormer);
 
 expect(
 factory.getServiceResourceProvider(
@@ -102,7 +103,7 @@ public class BaseResourceDefinitionTest {
 
 AbstractControllerResourceProvider.init(factory);
 
-replay(factory, managementController, maintenanceStateHelper);
+replay(factory, managementController, maintenanceStateHelper, 
topologyDeleteFormer);
 
 processor.process(null, serviceNode, 
"http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/services;);
 
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
index daac174..5a76e2e 100644
--- 

[ambari] 03/07: AMBARI-23746. Cannot create same named service in different service groups in same request

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

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

commit 0e9317e7e72addc4f5628f766afbec022fd1cbed
Author: Doroszlai, Attila 
AuthorDate: Tue May 29 17:06:58 2018 +0200

AMBARI-23746. Cannot create same named service in different service groups 
in same request
---
 .../internal/ServiceResourceProvider.java  |  38 +++
 .../internal/ServiceResourceProviderTest.java  | 112 -
 2 files changed, 129 insertions(+), 21 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
index ebaf14c..98eff23 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
@@ -76,6 +76,7 @@ import org.apache.ambari.server.state.State;
 import org.apache.ambari.server.topology.TopologyDeleteFormer;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.tuple.Pair;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -178,8 +179,10 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
*/
   @AssistedInject
   public ServiceResourceProvider(
-  @Assisted AmbariManagementController managementController,
-  MaintenanceStateHelper maintenanceStateHelper, TopologyDeleteFormer 
topologyDeleteFormer) {
+@Assisted AmbariManagementController managementController,
+MaintenanceStateHelper maintenanceStateHelper,
+TopologyDeleteFormer topologyDeleteFormer
+  ) {
 super(Resource.Type.Service, PROPERTY_IDS, KEY_PROPERTY_IDS, 
managementController);
 this.maintenanceStateHelper = maintenanceStateHelper;
 this.topologyDeleteFormer = topologyDeleteFormer;
@@ -565,7 +568,7 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
 if(request.getServiceGroupName() != null){
  clusterServices = cluster.getServicesByServiceGroup(serviceGroupName);
 }else{
-  clusterServices = cluster.getServicesById().values();
+  clusterServices = cluster.getServices().values();
 }
 for (Service s : clusterServices) {
   if (checkDesiredState
@@ -1067,8 +1070,8 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
   throws AuthorizationException, AmbariException {
 
 AmbariMetaInfo ambariMetaInfo = 
getManagementController().getAmbariMetaInfo();
-Map> serviceNames = new HashMap<>();
-Set duplicates = new HashSet<>();
+Map>> serviceNames = new HashMap<>();
+Set> duplicates = new HashSet<>();
 
 for (ServiceRequest request : requests) {
   final String clusterName = request.getClusterName();
@@ -1079,24 +1082,21 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
   Validate.notNull(serviceGroupName, "Service group name should be 
provided when creating a service");
   Validate.notEmpty(serviceName, "Service name should be provided when 
creating a service");
 
-  if (LOG.isDebugEnabled()) {
-LOG.debug("Received a createService request, clusterId={}, 
serviceName={}, request={}", clusterName, serviceName, request);
-  }
+  LOG.debug("Received a createService request, clusterId={}, 
serviceGroupName={}, serviceName={}, request={}",
+clusterName, serviceGroupName, serviceName, request);
 
   if (!AuthorizationHelper.isAuthorized(ResourceType.CLUSTER, 
getClusterResourceId(clusterName), 
RoleAuthorization.SERVICE_ADD_DELETE_SERVICES)) {
 throw new AuthorizationException("The user is not authorized to create 
services");
   }
 
-  if (!serviceNames.containsKey(clusterName)) {
-serviceNames.put(clusterName, new HashSet());
-  }
+  Pair serviceID = Pair.of(serviceGroupName, serviceName);
+  Set> services = 
serviceNames.computeIfAbsent(clusterName, __ -> new HashSet<>());
 
-  if (serviceNames.get(clusterName).contains(serviceName)) {
+  if (!services.add(serviceID)) {
 // throw error later for dup
-duplicates.add(serviceName);
+duplicates.add(serviceID);
 continue;
   }
-  serviceNames.get(clusterName).add(serviceName);
 
   if (StringUtils.isNotEmpty(request.getDesiredState())) {
 State state = State.valueOf(request.getDesiredState());
@@ -1117,7 +1117,7 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
 Service s = cluster.getService(serviceName);
 if (s != null && (s.getServiceGroupName().equals(serviceGroupName))) {
   // throw error later for dup
-  

[ambari] 01/07: AMBARI-14714. Fix some unit tests

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

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

commit 34900292d43df9d273fdfae7075cb394428d5a80
Author: Doroszlai, Attila 
AuthorDate: Fri May 18 22:01:55 2018 +0200

AMBARI-14714. Fix some unit tests
---
 .../actionmanager/ExecutionCommandWrapper.java | 10 
 .../apache/ambari/server/agent/CommandReport.java  |  5 
 .../api/query/render/ClusterBlueprintRenderer.java |  8 +--
 .../ambari/server/api/services/AmbariMetaInfo.java |  5 ++--
 .../org/apache/ambari/server/orm/dao/MpackDAO.java |  2 +-
 .../apache/ambari/server/state/ConfigHelper.java   |  7 --
 .../ambari/server/state/cluster/ClusterImpl.java   |  7 +++---
 .../stack/upgrade/RepositoryVersionHelper.java |  2 +-
 .../actionmanager/ExecutionCommandWrapperTest.java |  8 +++
 .../actionmanager/TestActionDBAccessorImpl.java|  3 +++
 .../server/actionmanager/TestActionScheduler.java  | 21 -
 .../TestActionSchedulerThreading.java  |  4 +---
 .../ambari/server/agent/AgentResourceTest.java |  2 ++
 .../server/agent/HeartbeatProcessorTest.java   |  1 +
 .../ambari/server/agent/TestHeartbeatHandler.java  |  5 
 .../ambari/server/agent/TestHeartbeatMonitor.java  |  1 +
 .../query/render/ClusterBlueprintRendererTest.java |  8 +++
 .../api/services/HostComponentServiceTest.java |  6 -
 .../AmbariCustomCommandExecutionHelperTest.java| 27 +-
 .../HostComponentResourceProviderTest.java | 10 
 .../internal/HostResourceProviderTest.java | 17 +-
 .../controller/internal/JMXHostProviderTest.java   |  8 +++
 .../apache/ambari/server/orm/OrmTestHelper.java|  2 ++
 .../HDP/2.0.6/services/HADOOP_CLIENTS/metainfo.xml |  5 
 24 files changed, 106 insertions(+), 68 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
index cc021c3..4898db8 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
@@ -211,9 +211,9 @@ public class ExecutionCommandWrapper {
   ServiceGroupEntity serviceGroupEntity = serviceGroupDAO.find(clusterId,
   executionCommand.getServiceGroupName());
 
-  long mpackId = serviceGroupEntity.getStack().getMpackId();
+  StackEntity stack = serviceGroupEntity.getStack();
+  Long mpackId = stack.getMpackId();
   Mpack mpack = ambariMetaInfo.getMpack(mpackId);
-  MpackEntity mpackEntity = mpackDAO.findById(mpackId);
 
   if (null == executionCommand.getMpackId()) {
 executionCommand.setMpackId(mpackId);
@@ -221,10 +221,10 @@ public class ExecutionCommandWrapper {
 
   // setting repositoryFile
   final Host host = cluster.getHost(executionCommand.getHostname());  // 
can be null on internal commands
-  if (null == executionCommand.getRepositoryFile() && null != host) {
-final CommandRepository commandRepository;
+  if (null == executionCommand.getRepositoryFile() && null != host && 
mpackId != null) {
+MpackEntity mpackEntity = mpackDAO.findById(mpackId);
 RepoOsEntity osEntity = 
repoVersionHelper.getOSEntityForHost(mpackEntity, host);
-commandRepository = repoVersionHelper.getCommandRepository(mpack, 
osEntity);
+final CommandRepository commandRepository = 
repoVersionHelper.getCommandRepository(mpack, osEntity);
 executionCommand.setRepositoryFile(commandRepository);
   }
 
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandReport.java 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandReport.java
index 423c249..9fbcb81 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandReport.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandReport.java
@@ -193,6 +193,11 @@ public class CommandReport {
 return clusterId;
   }
 
+  @com.fasterxml.jackson.annotation.JsonProperty("clusterId")
+  public void setClusterId(String clusterId) {
+this.clusterId = clusterId;
+  }
+
   /**
* @param tags the config tags that match this command
*/
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
index c7ad7e3..8ab41f4 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
@@ -53,6 +53,7 @@ import 

[ambari] 06/07: AMBARI-23746. Cannot query services with same name

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

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

commit 9120330456c07dfbc2a5f34ddf1752e7675f6ff7
Author: Doroszlai, Attila 
AuthorDate: Wed May 30 00:30:19 2018 +0200

AMBARI-23746. Cannot query services with same name
---
 .../controller/AmbariManagementControllerImpl.java |  8 ++---
 .../internal/ComponentResourceProvider.java|  2 +-
 .../ServiceDependencyResourceProvider.java | 17 --
 .../internal/ServiceResourceProvider.java  | 11 +++
 .../ambari/server/state/cluster/ClusterImpl.java   | 38 +-
 .../internal/ComponentResourceProviderTest.java| 13 +---
 .../ServiceDependencyResourceProviderTest.java |  2 +-
 .../internal/ServiceResourceProviderTest.java  | 31 --
 8 files changed, 56 insertions(+), 66 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 24b95e6..a036408 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -761,7 +761,7 @@ public class AmbariManagementControllerImpl implements 
AmbariManagementControlle
 
 for (ServiceComponentHostRequest request : requests) {
   Cluster cluster = clusters.getCluster(request.getClusterName());
-  Service s = cluster.getService(request.getServiceName());
+  Service s = cluster.getService(request.getServiceGroupName(), 
request.getServiceName());
   ServiceComponent sc = s.getServiceComponent(
   request.getComponentName());
   serviceComponentNames.computeIfAbsent(sc.getClusterId(), c -> new 
HashMap<>())
@@ -1325,7 +1325,7 @@ public class AmbariManagementControllerImpl implements 
AmbariManagementControlle
 
 List services;
 if (!Strings.isNullOrEmpty(request.getServiceName())) {
-  services = 
ImmutableList.of(cluster.getService(request.getServiceName()));
+  services = 
ImmutableList.of(cluster.getService(request.getServiceGroupName(), 
request.getServiceName()));
 } else if (!Strings.isNullOrEmpty(request.getServiceGroupName())) {
   services = 
ImmutableList.copyOf(cluster.getServicesByServiceGroup(request.getServiceGroupName()));
 } else {
@@ -3300,7 +3300,7 @@ public class AmbariManagementControllerImpl implements 
AmbariManagementControlle
   }
 
   private boolean hostComponentAlreadyExists(Cluster cluster, 
ServiceComponentHost sch) throws AmbariException {
-Service service = cluster.getService(sch.getServiceName());
+Service service = cluster.getService(sch.getServiceGroupName(), 
sch.getServiceName());
 if (service != null) {
   ServiceComponent serviceComponent = 
service.getServiceComponent(sch.getServiceComponentName());
   if (serviceComponent != null) {
@@ -3319,7 +3319,7 @@ public class AmbariManagementControllerImpl implements 
AmbariManagementControlle
   private boolean skipInstallTaskForComponent(Map 
requestProperties, Cluster cluster,
   ServiceComponentHost sch) throws 
AmbariException {
 boolean isClientComponent = false;
-Service service = cluster.getService(sch.getServiceName());
+Service service = cluster.getService(sch.getServiceGroupName(), 
sch.getServiceName());
 if (service != null) {
   ServiceComponent serviceComponent = 
service.getServiceComponent(sch.getServiceComponentName());
   if (serviceComponent != null) {
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
index c59e51d..64afd34 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
@@ -659,7 +659,7 @@ public class ComponentResourceProvider extends 
AbstractControllerResourceProvide
   }
   componentNames.get(clusterName).get(serviceName).add(componentName);
 
-  Service s = cluster.getService(serviceName);
+  Service s = cluster.getService(serviceGroupName, serviceName);
   ServiceComponent sc = s.getServiceComponent(componentName);
   State newState = getValidDesiredState(request);
 
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceDependencyResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceDependencyResourceProvider.java
index 3cb7d18..3b8c64a 100644
--- 

[ambari] 07/07: AMBARI-23746. Use List for componentID duplicate check

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

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

commit f8293cff7b260b9038fa9f2ba618929c65d82999
Author: Doroszlai, Attila 
AuthorDate: Wed May 30 12:01:12 2018 +0200

AMBARI-23746. Use List for componentID duplicate check
---
 .../server/controller/internal/ComponentResourceProvider.java   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
index 64afd34..9e32f27 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
@@ -68,7 +68,7 @@ import org.apache.commons.lang.Validate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Sets;
 import com.google.inject.Inject;
 import com.google.inject.assistedinject.Assisted;
@@ -394,7 +394,7 @@ public class ComponentResourceProvider extends 
AbstractControllerResourceProvide
 ServiceComponentFactory serviceComponentFactory = 
getManagementController().getServiceComponentFactory();
 
 // do all validation checks
-Map>> componentNames = new HashMap<>();
+Map>> componentNames = new HashMap<>();
 Set duplicates = new HashSet<>();
 
 for (ServiceComponentRequest request : requests) {
@@ -414,7 +414,7 @@ public class ComponentResourceProvider extends 
AbstractControllerResourceProvide
 
   debug("Received a createComponent request: {}", request);
 
-  Set componentID = ImmutableSet.of(request.getServiceGroupName(), 
request.getServiceName(), request.getComponentName());
+  List componentID = 
ImmutableList.of(request.getServiceGroupName(), request.getServiceName(), 
request.getComponentName());
   boolean added = componentNames
 .computeIfAbsent(request.getClusterName(), __ -> new HashSet<>())
 .add(componentID);

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


[ambari] branch trunk updated: AMBARI-23977. Slider service check fails with error "ValueError: need more than 3 values to unpack" after Ambari Upgrade (aonishuk)

2018-05-30 Thread aonishuk
This is an automated email from the ASF dual-hosted git repository.

aonishuk 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 f3d627d  AMBARI-23977. Slider service check fails with error 
"ValueError: need more than 3 values to unpack" after Ambari Upgrade (aonishuk)
f3d627d is described below

commit f3d627d9de9710e121393f6bd10d8047dfacccae
Author: Andrew Onishuk 
AuthorDate: Wed May 30 12:01:33 2018 +0300

AMBARI-23977. Slider service check fails with error "ValueError: need more 
than 3 values to unpack" after Ambari Upgrade (aonishuk)
---
 .../python/resource_management/libraries/functions/copy_tarball.py  | 6 ++
 .../src/main/java/org/apache/ambari/server/stack/ServiceModule.java | 3 +++
 2 files changed, 9 insertions(+)

diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
index 148a0bd..e362f1a 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
@@ -204,6 +204,11 @@ def _prepare_mapreduce_tarball():
 # especially since it is an attribute of a stack and becomes
 # complicated to change during a Rolling/Express upgrade.
 TARBALL_MAP = {
+  "slider": {
+"dirs": ("{0}/{1}/slider/lib/slider.tar.gz".format(STACK_ROOT_PATTERN, 
STACK_VERSION_PATTERN),
+  "/{0}/apps/{1}/slider/slider.tar.gz".format(STACK_NAME_PATTERN, 
STACK_VERSION_PATTERN)),
+"service": "SLIDER"
+  },
   "yarn": {
 "dirs": 
("{0}/{1}/hadoop-yarn/lib/service-dep.tar.gz".format(STACK_ROOT_PATTERN, 
STACK_VERSION_PATTERN),
  
"/{0}/apps/{1}/yarn/service-dep.tar.gz".format(STACK_NAME_PATTERN, 
STACK_VERSION_PATTERN)),
@@ -268,6 +273,7 @@ TARBALL_MAP = {
 }
 
 SERVICE_TO_CONFIG_MAP = {
+  "slider": "slider-env",
   "yarn": "yarn-env",
   "tez": "tez-env",
   "pig": "pig-env",
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java 
b/ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java
index 9189ff8..b3d4b17 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java
@@ -205,6 +205,9 @@ public class ServiceModule extends 
BaseModule implem
 if (serviceInfo.getDisplayName() == null) {
   serviceInfo.setDisplayName(parent.getDisplayName());
 }
+if (serviceInfo.getServiceType() == null) {
+  serviceInfo.setServiceType(parent.getServiceType());
+}
 if (serviceInfo.getServiceAdvisorType() == null) {
   ServiceInfo.ServiceAdvisorType serviceAdvisorType = 
parent.getServiceAdvisorType();
   serviceInfo.setServiceAdvisorType(serviceAdvisorType == null ? 
ServiceInfo.ServiceAdvisorType.PYTHON : serviceAdvisorType);

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


[ambari] branch trunk updated: AMBARI-23976. Ambari changes required for YARN are missing (aonishuk)

2018-05-30 Thread aonishuk
This is an automated email from the ASF dual-hosted git repository.

aonishuk 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 2c25dec  AMBARI-23976. Ambari changes required for YARN are missing 
(aonishuk)
2c25dec is described below

commit 2c25deca9b77d14d31019c74c6ef2966740d2548
Author: Andrew Onishuk 
AuthorDate: Wed May 30 11:17:08 2018 +0300

AMBARI-23976. Ambari changes required for YARN are missing (aonishuk)
---
 .../src/main/python/ambari_agent/HostInfo.py   |   2 +-
 .../libraries/functions/copy_tarball.py|  10 +-
 .../libraries/functions/install_windows_msi.py |   3 +-
 .../libraries/functions/reload_windows_env.py  |   2 +-
 .../libraries/functions/stack_select.py|   3 +-
 ambari-server/conf/unix/log4j.properties   |   1 -
 ambari-server/src/main/assemblies/server.xml   |   5 -
 .../internal/BlueprintConfigurationProcessor.java  |   3 -
 .../internal/StackAdvisorResourceProvider.java |   2 +-
 .../resources/custom_actions/scripts/check_host.py |   2 +-
 .../src/main/resources/scripts/Ambaripreupload.py  |  29 +-
 .../resources/scripts/takeover_files_mapping.json  |   3 +-
 .../src/main/resources/slider_resources/README.txt |  17 -
 .../data/configurations/config_versions.json   |   3 +-
 .../app/data/configs/services/yarn_properties.js   | 126 
 ambari-web/app/models/stack_service.js |   7 +-
 ambari-web/pom.xml | 715 ++---
 17 files changed, 520 insertions(+), 413 deletions(-)

diff --git a/ambari-agent/src/main/python/ambari_agent/HostInfo.py 
b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
index 62f8975..8307b23 100644
--- a/ambari-agent/src/main/python/ambari_agent/HostInfo.py
+++ b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
@@ -160,7 +160,7 @@ class HostInfoLinux(HostInfo):
 "storm", "hive-hcatalog", "tez", "falcon", "ambari_qa", "hadoop_deploy",
 "rrdcached", "hcat", "ambari-qa", "sqoop-ambari-qa", "sqoop-ambari_qa",
 "webhcat", "hadoop-hdfs", "hadoop-yarn", "hadoop-mapreduce",
-"knox", "yarn", "hive-webhcat", "kafka", "slider", "storm-slider-client",
+"knox", "yarn", "hive-webhcat", "kafka",
 "mahout", "spark", "pig", "phoenix", "ranger", "accumulo",
 "ambari-metrics-collector", "ambari-metrics-monitor", "atlas", "zeppelin"
   ]
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
index d480f72..148a0bd 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
@@ -204,10 +204,10 @@ def _prepare_mapreduce_tarball():
 # especially since it is an attribute of a stack and becomes
 # complicated to change during a Rolling/Express upgrade.
 TARBALL_MAP = {
-  "slider": {
-"dirs": ("{0}/{1}/slider/lib/slider.tar.gz".format(STACK_ROOT_PATTERN, 
STACK_VERSION_PATTERN),
-  "/{0}/apps/{1}/slider/slider.tar.gz".format(STACK_NAME_PATTERN, 
STACK_VERSION_PATTERN)),
-"service": "SLIDER"
+  "yarn": {
+"dirs": 
("{0}/{1}/hadoop-yarn/lib/service-dep.tar.gz".format(STACK_ROOT_PATTERN, 
STACK_VERSION_PATTERN),
+ 
"/{0}/apps/{1}/yarn/service-dep.tar.gz".format(STACK_NAME_PATTERN, 
STACK_VERSION_PATTERN)),
+"service": "YARN"
   },
 
   "tez": {
@@ -268,7 +268,7 @@ TARBALL_MAP = {
 }
 
 SERVICE_TO_CONFIG_MAP = {
-  "slider": "slider-env",
+  "yarn": "yarn-env",
   "tez": "tez-env",
   "pig": "pig-env",
   "sqoop": "sqoop-env",
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_windows_msi.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_windows_msi.py
index 96d8661..fe2f27f 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_windows_msi.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_windows_msi.py
@@ -48,7 +48,6 @@ HDFS_NAMENODE_DATA_DIR={data_dir}\\hdpdatann
 #Datanode Data directory
 HDFS_DATANODE_DATA_DIR={data_dir}\\hdpdatadn
 
-IS_SLIDER=yes
 IS_PHOENIX=no
 """
 cluster_properties = """#Log directory
@@ -95,7 +94,7 @@ OOZIE_DB_PASSWORD=oozie
 
 INSTALL_MSI_CMD = 'cmd /C start /wait msiexec /qn /i  {msi_path} /lv 
{log_path} MSIUSEREALADMINDETECTION=1 ' \
   'HDP_LAYOUT={layout_path} DESTROY_DATA=yes 
HDP_USER={hadoop_user} HDP_USER_PASSWORD={hadoop_password_arg} HDP=yes ' \
-  'KNOX=yes KNOX_MASTER_SECRET="AmbariHDP2Windows" FALCON=yes 
STORM=yes HBase=yes STORM=yes FLUME=yes SLIDER=yes PHOENIX=no RANGER=no'
+  'KNOX=yes KNOX_MASTER_SECRET="AmbariHDP2Windows" FALCON=yes 
STORM=yes HBase=yes STORM=yes