ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alejandro Fernandez" <afernan...@hortonworks.com>
Subject Re: Review Request 29521: Custom Actions for Namenode to execute tasks by calling a python script
Date Fri, 02 Jan 2015 21:22:28 GMT


> On Jan. 2, 2015, 1:55 p.m., Dmitro Lisnichenko wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java,
line 2381
> > <https://reviews.apache.org/r/29521/diff/1/?file=804995#file804995line2381>
> >
> >     As I understand, this code will take latest (i.e. random) config tags and will
not process per-host config overrides. How about using ConfigHelper functions to take care
of that?

Will fix in next code review.


- Alejandro


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


On Jan. 2, 2015, 12:52 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/29521/
> -----------------------------------------------------------
> 
> (Updated Jan. 2, 2015, 12:52 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-8970
>     https://issues.apache.org/jira/browse/AMBARI-8970
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Currently, the upgrade-2.2.xml file, which contains the Upgrade Pack, defines the exact
commands to run for the Namenode prepare and finalize steps.
> The downside of having this logic in the xml file is that it makes it difficult to maintain,
and is not as powerful as being able to run the commands by using Python and its functions.
Therefore, it is preferable for the ExecuteTask to be able to invoke a function inside a script.
> 
> The plan is for Namenode to have functions for prepare and finalize, and for the upgrade
pack to contain something like,
> 
> Masters Group,
> '''
>     <service name="HDFS">
>       <component name="NAMENODE">
>         <pre-upgrade>
>           <task xsi:type="execute" hosts="master">
>             <script>scripts/namenode.py</script>
>             <function>prepare_rolling_upgrade</function>
>           </task>
>         </pre-upgrade>
>      </component>
>    </service>
> '''
> 
> While the Cluster Group has,
> '''
>       <execute-stage service="HDFS" component="NAMENODE" title="Execute HDFS Finalize">
>         <task xsi:type="execute" hosts="master">
>           <script>scripts/namenode.py</script>
>           <function>finalize_rolling_upgrade</function>
>         </task>
>       </execute-stage>
> '''
> 
> 
> Diffs
> -----
> 
>   ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py d0601a4 
>   ambari-agent/src/main/python/ambari_agent/PythonExecutor.py 2ba492f 
>   ambari-agent/src/test/python/ambari_agent/TestActionQueue.py 91ddf81 
>   ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py 51bf45f

>   ambari-common/src/main/python/resource_management/libraries/functions/dynamic_variable_interpretation.py
7a27322 
>   ambari-common/src/main/python/resource_management/libraries/script/hook.py 5c8eafc

>   ambari-common/src/main/python/resource_management/libraries/script/script.py 3aa03c9

>   ambari-server/src/main/java/org/apache/ambari/server/controller/ActionExecutionContext.java
89f7307 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java
ad86bb1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
0afc2c00 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 15411fc 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java d7bf2de

>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
0b9525a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java
a70e08f 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py
a2b7c53 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode_upgrade.py
PRE-CREATION 
>   ambari-server/src/main/resources/custom_actions/scripts/ru_execute_tasks.py a52a7b5

>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml dd80134 
>   ambari-web/app/messages.js 9e34bfc 
> 
> Diff: https://reviews.apache.org/r/29521/diff/
> 
> 
> Testing
> -------
> 
> Deployed a 3-node cluster with HA and performed a rolling upgrade.
> There was an error with the Tez client because /var/lib/ambari-agent/cache/stacks/HDP/2.1/services/TEZ/package/scripts/tez_client.py
could not be found, but that is likely unrelated.
> 
> Unit tests passed.
> {color:green}+1 overall{color}.
>   http://issues.apache.org/jira/secure/attachment/12689734/AMBARI-8970.patch
> 
>     {color:green}+1 @author{color}.  The patch does not contain any @author tags.
> 
>     {color:green}+1 tests included{color}.  The patch appears to include 2 new or modified
test files.
> 
>     {color:green}+1 javac{color}.  The applied patch does not increase the total number
of javac compiler warnings.
> 
>     {color:green}+1 release audit{color}.  The applied patch does not increase the total
number of release audit warnings.
> 
>     {color:green}+1 core tests{color}.  The patch passed unit tests in ambari-server.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message