[ambari] branch trunk updated: [AMBARI-23990] credential_store_helper.get_password_from_credential_store does not return the correct password string
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
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)
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)
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)
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)
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)
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)
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.
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)
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
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)
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)
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
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)
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
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
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
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
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
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
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)
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)
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