You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2014/01/13 14:32:57 UTC
git commit: AMBARI-4273. Update yaml parser/escaper for different
type of values (aonishuk)
Updated Branches:
refs/heads/trunk 4316bf08d -> e3722e9b7
AMBARI-4273. Update yaml parser/escaper for different type of values
(aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e3722e9b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e3722e9b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e3722e9b
Branch: refs/heads/trunk
Commit: e3722e9b7ee59bc433b83951d297d34f80c73021
Parents: 4316bf0
Author: Andrew Onischuk <ao...@hortonworks.com>
Authored: Mon Jan 13 05:31:37 2014 -0800
Committer: Andrew Onischuk <ao...@hortonworks.com>
Committed: Mon Jan 13 05:32:34 2014 -0800
----------------------------------------------------------------------
.../services/STORM/configuration/storm-site.xml | 54 +++++++++-----------
.../STORM/package/scripts/yaml_config.py | 37 ++++++++++++--
2 files changed, 59 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e3722e9b/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/configuration/storm-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/configuration/storm-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/configuration/storm-site.xml
index c6f0853..975b3a6 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/configuration/storm-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/configuration/storm-site.xml
@@ -23,17 +23,17 @@
<configuration>
<property>
<name>java.library.path</name>
- <value>"/usr/local/lib:/opt/local/lib:/usr/lib"</value>
+ <value>/usr/local/lib:/opt/local/lib:/usr/lib</value>
<description></description>
</property>
<property>
<name>storm.local.dir</name>
- <value>"storm-local"</value>
+ <value>/hadoop/storm</value>
<description>The place where jars are kept</description>
</property>
<property>
<name>storm.zookeeper.servers</name>
- <value>"localhost"</value>
+ <value>['localhost']</value>
<description></description>
</property>
<property>
@@ -43,7 +43,7 @@
</property>
<property>
<name>storm.zookeeper.root</name>
- <value>"/storm"</value>
+ <value>/storm</value>
<description></description>
</property>
<property>
@@ -73,7 +73,7 @@
</property>
<property>
<name>storm.cluster.mode</name>
- <value>"distributed"</value>
+ <value>distributed</value>
<description>Can be distributed or local</description>
</property>
<property>
@@ -83,22 +83,22 @@
</property>
<property>
<name>storm.thrift.transport</name>
- <value>"backtype.storm.security.auth.SimpleTransportPlugin"</value>
+ <value>backtype.storm.security.auth.SimpleTransportPlugin</value>
<description></description>
</property>
<property>
<name>storm.messaging.transport</name>
- <value>"backtype.storm.messaging.netty.Context"</value>
+ <value>backtype.storm.messaging.netty.Context</value>
<description></description>
</property>
<property>
<name>storm.messaging.transport</name>
- <value>"backtype.storm.messaging.netty.Context"</value>
+ <value>backtype.storm.messaging.netty.Context</value>
<description></description>
</property>
<property>
<name>nimbus.host</name>
- <value>"localhost"</value>
+ <value>localhost</value>
<description></description>
</property>
<property>
@@ -113,7 +113,7 @@
</property>
<property>
<name>nimbus.childopts</name>
- <value>"-Xmx1024m"</value>
+ <value>-Xmx1024m</value>
<description></description>
</property>
<property>
@@ -158,7 +158,7 @@
</property>
<property>
<name>nimbus.topology.validator</name>
- <value>"backtype.storm.nimbus.DefaultTopologyValidator"</value>
+ <value>backtype.storm.nimbus.DefaultTopologyValidator</value>
<description></description>
</property>
<property>
@@ -168,7 +168,7 @@
</property>
<property>
<name>ui.childopts</name>
- <value>"-Xmx768m"</value>
+ <value>-Xmx768m</value>
<description></description>
</property>
<property>
@@ -183,12 +183,12 @@
</property>
<property>
<name>logviewer.childopts</name>
- <value>"-Xmx128m"</value>
+ <value>-Xmx128m</value>
<description></description>
</property>
<property>
<name>logviewer.appender.name</name>
- <value>"A1"</value>
+ <value>A1</value>
<description></description>
</property>
<property>
@@ -218,12 +218,12 @@
</property>
<property>
<name>drpc.childopts</name>
- <value>"-Xmx768m"</value>
+ <value>-Xmx768m</value>
<description></description>
</property>
<property>
<name>transactional.zookeeper.root</name>
- <value>"/transactional"</value>
+ <value>/transactional</value>
<description></description>
</property>
<property>
@@ -238,16 +238,12 @@
</property>
<property>
<name>supervisor.slots.ports</name>
- <value>
- - 6700
- - 6701
- - 6702
- - 6703</value>
+ <value>[6700, 6701, 6702, 6703]</value>
<description></description>
</property>
<property>
<name>supervisor.childopts</name>
- <value>"-Xmx256m"</value>
+ <value>-Xmx256m</value>
<description></description>
</property>
<property>
@@ -277,7 +273,7 @@
</property>
<property>
<name>worker.childopts</name>
- <value>"-Xmx768m"</value>
+ <value>-Xmx768m</value>
<description></description>
</property>
<property>
@@ -442,7 +438,7 @@
</property>
<property>
<name>topology.disruptor.wait.strategy</name>
- <value>"com.lmax.disruptor.BlockingWaitStrategy"</value>
+ <value>com.lmax.disruptor.BlockingWaitStrategy</value>
<description></description>
</property>
<property>
@@ -472,12 +468,12 @@
</property>
<property>
<name>topology.disruptor.wait.strategy</name>
- <value>"com.lmax.disruptor.BlockingWaitStrategy"</value>
+ <value>com.lmax.disruptor.BlockingWaitStrategy</value>
<description></description>
</property>
<property>
<name>topology.spout.wait.strategy</name>
- <value>"backtype.storm.spout.SleepSpoutWaitStrategy"</value>
+ <value>backtype.storm.spout.SleepSpoutWaitStrategy</value>
<description></description>
</property>
<property>
@@ -497,12 +493,12 @@
</property>
<property>
<name>topology.kryo.factory</name>
- <value>"backtype.storm.serialization.DefaultKryoFactory"</value>
+ <value>backtype.storm.serialization.DefaultKryoFactory</value>
<description></description>
</property>
<property>
<name>topology.tuple.serializer</name>
- <value>"backtype.storm.serialization.types.ListDelegateSerializer"</value>
+ <value>backtype.storm.serialization.types.ListDelegateSerializer</value>
<description></description>
</property>
<property>
@@ -512,7 +508,7 @@
</property>
<property>
<name>dev.zookeeper.path</name>
- <value>"/tmp/dev-storm-zookeeper"</value>
+ <value>/tmp/dev-storm-zookeeper</value>
<description></description>
</property>
</configuration>
http://git-wip-us.apache.org/repos/asf/ambari/blob/e3722e9b/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/package/scripts/yaml_config.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/package/scripts/yaml_config.py b/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/package/scripts/yaml_config.py
index 1e91ba1..9f08493 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/package/scripts/yaml_config.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.8/services/STORM/package/scripts/yaml_config.py
@@ -1,5 +1,36 @@
+import re
from resource_management import *
+def escape_yaml_propetry(value):
+ unquouted = False
+ unquouted_values = ["null","Null","NULL","true","True","TRUE","false","False","FALSE","YES","Yes","yes","NO","No","no","ON","On","on","OFF","Off","off"]
+
+ if value in unquouted_values:
+ unquouted = True
+
+ # if is list [a,b,c]
+ if re.match('^\w*\[.+\]\w*$', value):
+ unquouted = True
+
+ try:
+ int(value)
+ unquouted = True
+ except ValueError:
+ pass
+
+ try:
+ float(value)
+ unquouted = True
+ except ValueError:
+ pass
+
+ value = value.replace("'","''")
+
+ if not unquouted:
+ value = "'"+value+"'"
+
+ return value
+
def yaml_config(
filename,
configurations = None,
@@ -8,12 +39,12 @@ def yaml_config(
owner = None,
group = None
):
- config_content = InlineTemplate('''{% for key, value in configurations_dict.items() %}{{ key }}: {{ value }}
-{% endfor %}''', configurations_dict=configurations)
+ config_content = InlineTemplate('''{% for key, value in configurations_dict.items() %}{{ key }}: {{ escape_yaml_propetry(value) }}
+{% endfor %}''', configurations_dict=configurations, extra_imports=[escape_yaml_propetry])
File (format("{conf_dir}/{filename}"),
content = config_content,
owner = owner,
group = group,
mode = mode
- )
\ No newline at end of file
+ )