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

Andrew Onischuk commented on AMBARI-3556:
-----------------------------------------

These changes can be described by the lines below:
{code}
-  def __init__(self):
+  def __init__(self, basedir=None, params=None):
+    """
+    @param basedir: basedir/files, basedir/templates are the places where 
templates / static files
+    are looked up
+    @param params: configurations dictionary (this will be accessible in the 
templates)
+    """
{code}


So now our code will just like this:
{code}
def main():
  # this we should pass as parameter
  basedir = "/HDP/Stack2.0.6/HBase/"

  # this will be parsed from json
  config = {
    "hadoop_base": "/opt/hadoop",
    "hdfs_path": "/home/hduser/hdfs",
    "jobtrackerport": "8021",
    "replication": "3",
    "hdfsport": "8020",
    "slaves": ["hadoop-02","hadoop-03","hadoop-04"],
    "master": "hadoop-01",
    "version": "0.20.203.0",
    "java_home": "/usr/jdk"
  }

  with Environment(basedir, config) as env:
   # ...
   File("/lol1.txt",
         owner = "root",
         group = "root",
         content = Template("lol1.txt.j2"))
  # ...
   File("/a/b/file.txt",
         owner = "root",
         group = "root",
         content = StaticFile("some1.txt"))
  # ...
  env.run()
{code}

{code}
basedir
     files
          some1.txt
     templates
          lol1.txt.j2
any_location
     script.py
{code}

> Resource management. Rewrite Templates and Static Files to declarative rather 
> than cookbook-oriented
> ----------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-3556
>                 URL: https://issues.apache.org/jira/browse/AMBARI-3556
>             Project: Ambari
>          Issue Type: Bug
>            Reporter: Andrew Onischuk
>            Assignee: Andrew Onischuk
>             Fix For: 1.5.0
>
>
> 1) Since Kokki should be used with kitchen and cookbooks. Templates are not 
> working then we use declative form. This can be fixed by replacing the 
> location of cookbook with our custom param passed to the enviroment.
> 2) Also Here we should change the way variables are sent to templating 
> engine. Since we will be getting variables from json configurations files and 
> then parsing it into variable, probaby a dictionary of dictionaries. We 
> should not use any files with configurations (like it is done in Kokki), but 
> just pass the dictionary with the configuration params to the enviroment, 
> which should handle it.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to