-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44835/
-----------------------------------------------------------

(Updated March 18, 2016, 8:57 p.m.)


Review request for Ambari, Alejandro Fernandez, Jonathan Hurley, Juanjo  
Marron, Nate Cole, Sumit Mohanty, and Sid Wagle.


Bugs: AMBARI-15420
    https://issues.apache.org/jira/browse/AMBARI-15420


Repository: ambari


Description
-------

Refactor resource_management library, to generalize the library and remove 
HDP-specific hardcodings

Specifically,
1. Make stack-selector, conf-selector tools stack-driven instead of hardcoding 
hdp-select and conf-select
2. Make stack-root stack-driven instead of hardcoding /usr/hdp
3. Make copy_tarball mappings stack-driven 
4. Make PACKAGE_DIRS mapping in conf_select use stack-root instead of 
hardcoding the "/usr/hdp"

In addition, also added a feature in the stack processing engine to support 
properties values to be defined a external property file (See tarball_map.json, 
stack_tools.json in patch)

Three config properties are added
1. cluster-env/stack_root
2. cluster-env/stack_tools
3. cluster-env/tarball_map
Corresponding helper functions get_stack_root(), get_stack_tool(), 
get_tarball_map() are added in script.py, which will set the defaults if these 
config properties are not defined (ambari-server upgrade scenario needs to be 
addressed to add these config properties on upgrade). These helper functions 
are used to remove hardcodings in resource_management library.


Remaining HDP-specific logic in resource_management library

1. conf_select::_valid()
2. conf_select::get_hadoop_conf_dir()
3. list_ambari_managed_repos::repository_names
4. version_select_util::get_component_version()
5. script::get_stack_version()
6. script::should_expose_component_version()
7. get_lzo_packages::get_lzo_packages()

Refactoring this HDP-specific logic would require "Stack Featurization" 
(AMBARI-13364) to be in place.


Diffs
-----

  ambari-agent/src/main/python/ambari_agent/HostCheckReportFileHandler.py 
ee7db0a 
  ambari-common/src/main/python/resource_management/core/utils.py 71d0008 
  
ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
 770595f 
  
ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
 647b8b6 
  
ambari-common/src/main/python/resource_management/libraries/functions/default.py
 23383dc 
  
ambari-common/src/main/python/resource_management/libraries/functions/dynamic_variable_interpretation.py
 a20b03c 
  
ambari-common/src/main/python/resource_management/libraries/functions/get_stack_version.py
 f2e6567 
  
ambari-common/src/main/python/resource_management/libraries/functions/install_windows_msi.py
 f1cd9cb 
  
ambari-common/src/main/python/resource_management/libraries/functions/repo_version_history.py
 d585dea 
  
ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin.py
 4d9d8a4 
  
ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
 2ccc0c6 
  
ambari-common/src/main/python/resource_management/libraries/functions/stack_select.py
 4a8eeb9 
  
ambari-common/src/main/python/resource_management/libraries/functions/stack_tools.py
 PRE-CREATION 
  
ambari-common/src/main/python/resource_management/libraries/functions/version_select_util.py
 95c5cba 
  ambari-common/src/main/python/resource_management/libraries/script/script.py 
1b0116e 
  
ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
 4be4049 
  
ambari-server/src/main/java/org/apache/ambari/server/stack/ConfigurationDirectory.java
 7f21aaa 
  ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java 
0c7faea 
  
ambari-server/src/main/java/org/apache/ambari/server/stack/StackDefinitionDirectory.java
 c739211 
  ambari-server/src/main/java/org/apache/ambari/server/stack/StackModule.java 
7d934bb 
  ambari-server/src/main/java/org/apache/ambari/server/state/PropertyInfo.java 
e7c9c27 
  
ambari-server/src/main/java/org/apache/ambari/server/state/ValueAttributesInfo.java
 3f7f756 
  ambari-server/src/main/java/org/apache/ambari/server/utils/JsonUtils.java 
PRE-CREATION 
  
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py
 12ca388 
  
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/status_params.py
 45dbb24 
  
ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/atlas_client.py
 d000846 
  
ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/status_params.py
 2c06c40 
  
ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/status_params.py
 535c821 
  
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
 85e7012 
  
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_upgrade.py
 c3d15e5 
  
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
 215e012 
  
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
 7aeac24 
  
ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py
 30b9a41 
  
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py
 81a227e 
  
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py
 030fb2d 
  
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server_upgrade.py
 27e2766 
  
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/status_params.py
 954bb80 
  
ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
 e5b54cd 
  
ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/params.py
 906b198 
  
ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
 e110c0c 
  
ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/status_params.py
 984a4ba 
  
ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/params_linux.py
 eb80ad6 
  
ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/params_windows.py
 dd732f5 
  
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/params_linux.py
 db4f32e 
  
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn.py
 e05ed60 
  
ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/status_params.py
 d18e4d7 
  ambari-server/src/main/resources/custom_actions/scripts/install_packages.py 
e0f3752 
  ambari-server/src/main/resources/custom_actions/scripts/remove_bits.py 
e69a2e4 
  ambari-server/src/main/resources/custom_actions/scripts/ru_set_all.py b8bf176 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml 
6197d87 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/after-INSTALL/scripts/shared_initialization.py
 96dc104 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
 07faae4 
  ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_tools.json 
PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/tarball_map.json 
PRE-CREATION 
  
ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java
 92c1200 
  ambari-server/src/test/java/org/apache/ambari/server/utils/TestJsonUtils.java 
PRE-CREATION 
  ambari-server/src/test/python/custom_actions/test_ru_set_all.py 3090f6b 
  ambari-server/src/test/python/host_scripts/TestAlertDiskSpace.py 2608050 
  ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py b5b43d6 
  ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py 
efe6038 
  ambari-server/src/test/python/stacks/2.0.6/YARN/test_yarn_client.py 4601092 
  
ambari-server/src/test/python/stacks/2.0.6/hooks/after-INSTALL/test_after_install.py
 31dac56 
  ambari-server/src/test/python/stacks/2.1/TEZ/test_tez_client.py ab08776 

Diff: https://reviews.apache.org/r/44835/diff/


Testing (updated)
-------

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Ambari Main ....................................... SUCCESS [3.906s]
[INFO] Apache Ambari Project POM ......................... SUCCESS [0.029s]
[INFO] Ambari Web ........................................ SUCCESS [50.786s]
[INFO] Ambari Views ...................................... SUCCESS [3.417s]
[INFO] Ambari Admin View ................................. SUCCESS [6.596s]
[INFO] ambari-metrics .................................... SUCCESS [0.215s]
[INFO] Ambari Metrics Common ............................. SUCCESS [3.073s]
[INFO] Ambari Metrics Hadoop Sink ........................ SUCCESS [5.126s]
[INFO] Ambari Metrics Flume Sink ......................... SUCCESS [3.080s]
[INFO] Ambari Metrics Kafka Sink ......................... SUCCESS [4.413s]
[INFO] Ambari Metrics Storm Sink ......................... SUCCESS [1.547s]
[INFO] Ambari Metrics Collector .......................... SUCCESS [9:53.524s]
[INFO] Ambari Metrics Monitor ............................ SUCCESS [1.886s]
[INFO] Ambari Metrics Grafana ............................ SUCCESS [39.843s]
[INFO] Ambari Metrics Assembly ........................... SUCCESS [3:25.123s]
[INFO] Ambari Server ..................................... SUCCESS 
[1:07:30.219s]
[INFO] Ambari Functional Tests ........................... SUCCESS [3.081s]
[INFO] Ambari Agent ...................................... SUCCESS [14.506s]
[INFO] Ambari Client ..................................... SUCCESS [0.063s]
[INFO] Ambari Python Client .............................. SUCCESS [0.381s]
[INFO] Ambari Groovy Client .............................. SUCCESS [13.112s]
[INFO] Ambari Shell ...................................... SUCCESS [0.034s]
[INFO] Ambari Python Shell ............................... SUCCESS [0.044s]
[INFO] Ambari Groovy Shell ............................... SUCCESS [9.936s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:23:34.755s
[INFO] Finished at: Fri Mar 18 13:49:52 PDT 2016
[INFO] Final Memory: 103M/1003M
[INFO] ------------------------------------------------------------------------


Thanks,

Jayush Luniya

Reply via email to