[ 
https://issues.apache.org/jira/browse/WHIRR-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13023497#comment-13023497
 ] 

Hyunsik Choi commented on WHIRR-266:
------------------------------------

How fine should we separate generic functions from install and configuration 
scripts? Above all, I would like to discuss this issue.

In general, most services may need the following steps:
* launch instances
* fetch a service program from specific URLs or local tarballs
* install the service program (if necessary, it can be divided to unpack and 
copy)
* configure the service by user configuration
* launch services 
* stop services 
* cleaning the service program (remove the service program and configuration)
* stop instances

If we combine them, implementing new features (e.g., restarting service, adding 
additional cluster nodes, and reusing cluster nodes) and developing new 
services would be easy.

> Separate tasks of both install and configuration scripts into more generic 
> and detailed functions
> -------------------------------------------------------------------------------------------------
>
>                 Key: WHIRR-266
>                 URL: https://issues.apache.org/jira/browse/WHIRR-266
>             Project: Whirr
>          Issue Type: New Feature
>          Components: core
>            Reporter: Hyunsik Choi
>             Fix For: 0.5.0
>
>
> Using whirr, I experimented some problems. Especially, if at least one of the 
> steps for installing and configuring a service meets some exception or error, 
> whirr cannot construct the running cluster. In another case, some of entire 
> clusters do not startup by whirr due to unknown reasons. In both cases, users 
> have to recover them manually. It may be really burden for users.
> However, the current implementation does not support any recovery ways. In 
> addition, service scripts (install and post-configure) bundles up too many 
> tasks. For example, for hadoop service the configuration script mounts 
> devices, configures *-site.xml files, and executes the service start script. 
> It makes users hard to reuse that scripts.
> Thus, I propose that we separate both scripts (i.e., install and 
> post-configure) into more normalized and detailed functions, such as 
> *service-clean, service-install, service-configuration, service-start, and 
> service-stop*. In addition, they should be executable individually by a user.
> I expect that it will give us many benefits: 1) it makes debugging easier 2) 
> when an exception or error occurs during starting a service, a user can 
> recover easily the cluster by using appropriate functions.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to