You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bigtop.apache.org by "Evans Ye (JIRA)" <ji...@apache.org> on 2016/02/01 08:35:39 UTC

[jira] [Commented] (BIGTOP-1689) puppet: Allow merging arbitrary site configuration

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

Evans Ye commented on BIGTOP-1689:
----------------------------------

I finished reading through it and I learned a lot about Java coding from the patch. Thanks!
There're just a few minor/outdated issues:
* The formater should also use EXPORT_KEYWORD to format the string:
{code}
private String buildExportWithNoValue(String key) {
    return String.format("export %s=", key);
  }
  private String buildExport(String key, Object value) {
    return String.format("export %s=%s", key, value.toString());
  }
* Spark init.pp gets conflicted because of BIGTOP-2105. Need to rebase.
* Update the version from 1.0.0-SNAPSHOT to 1.2.0-SNAPSHOT in pom.xml.

Since the patch need to be resubmitted anyway, I suggest to decouple it into two sub tasks of this JIRA:
* Packaging including rpm, debian, and the java code
* Puppet recipes

That way we can easier iterating on it in an interactive manner.

> puppet: Allow merging arbitrary site configuration
> --------------------------------------------------
>
>                 Key: BIGTOP-1689
>                 URL: https://issues.apache.org/jira/browse/BIGTOP-1689
>             Project: Bigtop
>          Issue Type: Improvement
>          Components: deployment
>    Affects Versions: 0.8.0
>            Reporter: Peter Slawski
>            Assignee: Rob Leidle
>             Fix For: 1.2.0
>
>         Attachments: BIGTOP-1689.1.patch, BIGTOP-1689.2.patch, BIGTOP-1689.3.patch, BIGTOP-1689.4.patch, debian.patch
>
>
> Puppet should be flexible in allowing arbitrary configuration name value pairs to be merged into a given site.xml file that was generated from a template.
> For example, the following could be included in site.yaml which would add a configuration entry for hadoop.tmp.dir in core-site.xml:
> {code}
> hadoop::common_hdfs::hadoop_core_site_overrides:
>   "hadoop.tmp.dir": "/mnt/var/lib/hadoop/tmp"
> {code}
> This could be implemented as a puppet custom-function taking in the output of template:
> {code}
>     file {
>       "/etc/hadoop/conf/core-site.xml":
>         content => merge_site(template('hadoop/core-site.xml'),  $hadoop_core_site_overrides)
>         require => [Package["hadoop"]],
>     }
> {code}
> Perhaps another approach would be to have site.xml templates be created from a single map of name value pairs. The merge would happen before the file content is generated from the template.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)