Browse Source

AMBARI-8204. No zoo.cfg file on hosts and no 'Custom zoo.cfg' in Zookeeper config tab (aonishuk)

Andrew Onishuk 10 years ago
parent
commit
8c0ab9fb49
23 changed files with 192 additions and 212 deletions
  1. 1 1
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/params.py
  2. 49 0
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zoo.cfg.xml
  3. 0 26
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zookeeper-env.xml
  4. 1 0
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/metainfo.xml
  5. 2 5
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/package/scripts/params.py
  6. 9 26
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/package/templates/zoo.cfg.j2
  7. 1 1
      ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/params.py
  8. 49 0
      ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zoo.cfg.xml
  9. 1 25
      ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zookeeper-env.xml
  10. 2 5
      ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/package/scripts/params.py
  11. 5 21
      ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/package/templates/zoo.cfg.j2
  12. 15 11
      ambari-server/src/test/python/stacks/1.3.2/configs/default.json
  13. 16 14
      ambari-server/src/test/python/stacks/1.3.2/configs/secured.json
  14. 13 9
      ambari-server/src/test/python/stacks/2.0.6/configs/default.json
  15. 10 8
      ambari-server/src/test/python/stacks/2.0.6/configs/secured.json
  16. 1 1
      ambari-web/app/assets/data/configurations/cluster_level_actual_configs.json
  17. 1 1
      ambari-web/app/assets/data/configurations/cluster_level_configs.json
  18. 1 19
      ambari-web/app/controllers/wizard/step8_controller.js
  19. 6 6
      ambari-web/app/data/HDP2/site_properties.js
  20. 6 6
      ambari-web/app/data/site_properties.js
  21. 2 2
      ambari-web/app/models/service_config.js
  22. 1 1
      ambari-web/app/utils/config.js
  23. 0 24
      ambari-web/test/controllers/wizard/step8_test.js

+ 1 - 1
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/params.py

@@ -74,7 +74,7 @@ mapred_local_dir = config['configurations']['mapred-site']['mapred.local.dir']
 
 # this is different for HDP2
 nn_metrics_property = "FSNamesystemMetrics"
-clientPort = config['configurations']['zookeeper-env']['clientPort'] #ZK 
+clientPort = config['configurations']['zoo.cfg']['clientPort'] #ZK
 
 
 java64_home = config['hostLevelParams']['java_home']

+ 49 - 0
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zoo.cfg.xml

@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<configuration>
+  <property>
+    <name>tickTime</name>
+    <value>2000</value>
+    <description>The length of a single tick in milliseconds, which is the basic time unit used by ZooKeeper</description>
+  </property>
+  <property>
+    <name>initLimit</name>
+    <value>10</value>
+    <description>Ticks to allow for sync at Init.</description>
+  </property>
+  <property>
+    <name>syncLimit</name>
+    <value>5</value>
+    <description>Ticks to allow for sync at Runtime.</description>
+  </property>
+  <property>
+    <name>clientPort</name>
+    <value>2181</value>
+    <description>Port for running ZK Server.</description>
+  </property>
+  <property>
+    <name>dataDir</name>
+    <value>/hadoop/zookeeper</value>
+    <description>Data directory for ZooKeeper.</description>
+  </property>
+</configuration>

+ 0 - 26
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zookeeper-env.xml

@@ -27,11 +27,6 @@
     <property-type>USER</property-type>
     <description>ZooKeeper User.</description>
   </property>
-  <property>
-    <name>zk_data_dir</name>
-    <value>/hadoop/zookeeper</value>
-    <description>Data directory for ZooKeeper.</description>
-  </property>
   <property>
     <name>zk_log_dir</name>
     <value>/var/log/zookeeper</value>
@@ -42,27 +37,6 @@
     <value>/var/run/zookeeper</value>
     <description>ZooKeeper Pid Dir</description>
   </property>
-  <property>
-    <name>tickTime</name>
-    <value>2000</value>
-    <description>The length of a single tick in milliseconds, which is the basic time unit used by ZooKeeper</description>
-  </property>
-  <property>
-    <name>initLimit</name>
-    <value>10</value>
-    <description>Ticks to allow for sync at Init.</description>
-  </property>
-  <property>
-    <name>syncLimit</name>
-    <value>5</value>
-    <description>Ticks to allow for sync at Runtime.</description>
-  </property>
-  <property>
-    <name>clientPort</name>
-    <value>2181</value>
-    <description>Port for running ZK Server.</description>
-  </property>
-  
   <!-- zookeeper-env.sh -->
   <property>
     <name>content</name>

+ 1 - 0
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/metainfo.xml

@@ -81,6 +81,7 @@
       <configuration-dependencies>
         <config-type>zookeeper-env</config-type>
         <config-type>zookeeper-log4j</config-type>
+        <config-type>zoo.cfg</config-type>
       </configuration-dependencies>
       <restartRequiredAfterChange>true</restartRequiredAfterChange>      
     </service>

+ 2 - 5
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/package/scripts/params.py

@@ -36,15 +36,12 @@ zk_env_sh_template = config['configurations']['zookeeper-env']['content']
 smoke_script = "/usr/lib/zookeeper/bin/zkCli.sh"
 
 zk_log_dir = config['configurations']['zookeeper-env']['zk_log_dir']
-zk_data_dir = config['configurations']['zookeeper-env']['zk_data_dir']
+zk_data_dir = config['configurations']['zoo.cfg']['dataDir']
 zk_pid_dir = status_params.zk_pid_dir
 zk_pid_file = status_params.zk_pid_file
 zk_server_heapsize = "-Xmx1024m"
 
-tickTime = config['configurations']['zookeeper-env']['tickTime']
-initLimit = config['configurations']['zookeeper-env']['initLimit']
-syncLimit = config['configurations']['zookeeper-env']['syncLimit']
-clientPort = config['configurations']['zookeeper-env']['clientPort']
+clientPort = config['configurations']['zoo.cfg']['clientPort']
 
 if 'zoo.cfg' in config['configurations']:
   zoo_cfg_properties_map = config['configurations']['zoo.cfg']

+ 9 - 26
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/package/templates/zoo.cfg.j2

@@ -16,7 +16,6 @@
 # limitations under the License.
 #}
 
-
 #
 #
 # Licensed to the Apache Software Foundation (ASF) under one
@@ -39,32 +38,16 @@
 #
 #
 
-# The number of milliseconds of each tick
-tickTime={{tickTime}}
-# The number of ticks that the initial
-# synchronization phase can take
-initLimit={{initLimit}}
-# The number of ticks that can pass between
-# sending a request and getting an acknowledgement
-syncLimit={{syncLimit}}
-# the directory where the snapshot is stored.
-dataDir={{zk_data_dir}}
-# the port at which the clients will connect
-clientPort={{clientPort}}
+{% for key, value in zoo_cfg_properties_map.iteritems() %}
+  {{key}}={{value}}
+{% endfor %}
 {% for host in zookeeper_hosts %}
-server.{{loop.index}}={{host}}:2888:3888
+  server.{{loop.index}}={{host}}:2888:3888
 {% endfor %}
 
 {% if security_enabled %}
-authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
-jaasLoginRenew=3600000
-kerberos.removeHostFromPrincipal=true
-kerberos.removeRealmFromPrincipal=true
-{% endif %}
-
-{% if zoo_cfg_properties_map_length > 0 %}
-# Custom properties
-{% endif %}
-{% for key, value in zoo_cfg_properties_map.iteritems() %}
-{{key}}={{value}}
-{% endfor %}
+  authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
+  jaasLoginRenew=3600000
+  kerberos.removeHostFromPrincipal=true
+  kerberos.removeRealmFromPrincipal=true
+{% endif %}

+ 1 - 1
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/params.py

@@ -219,7 +219,7 @@ if has_namenode:
 
 # this is different for HDP1
 nn_metrics_property = "FSNamesystem"
-clientPort = config['configurations']['zookeeper-env']['clientPort'] #ZK 
+clientPort = config['configurations']['zoo.cfg']['clientPort'] #ZK
 
 
 java64_home = config['hostLevelParams']['java_home']

+ 49 - 0
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zoo.cfg.xml

@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<configuration>
+  <property>
+    <name>tickTime</name>
+    <value>2000</value>
+    <description>The length of a single tick in milliseconds, which is the basic time unit used by ZooKeeper</description>
+  </property>
+  <property>
+    <name>initLimit</name>
+    <value>10</value>
+    <description>Ticks to allow for sync at Init.</description>
+  </property>
+  <property>
+    <name>syncLimit</name>
+    <value>5</value>
+    <description>Ticks to allow for sync at Runtime.</description>
+  </property>
+  <property>
+    <name>clientPort</name>
+    <value>2181</value>
+    <description>Port for running ZK Server.</description>
+  </property>
+  <property>
+    <name>dataDir</name>
+    <value>/hadoop/zookeeper</value>
+    <description>Data directory for ZooKeeper.</description>
+  </property>
+</configuration>

+ 1 - 25
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zookeeper-env.xml

@@ -27,11 +27,6 @@
     <property-type>USER</property-type>
     <description>ZooKeeper User.</description>
   </property>
-  <property>
-    <name>zk_data_dir</name>
-    <value>/hadoop/zookeeper</value>
-    <description>Data directory for ZooKeeper.</description>
-  </property>
   <property>
     <name>zk_log_dir</name>
     <value>/var/log/zookeeper</value>
@@ -42,26 +37,7 @@
     <value>/var/run/zookeeper</value>
     <description>ZooKeeper Pid Dir</description>
   </property>
-  <property>
-    <name>tickTime</name>
-    <value>2000</value>
-    <description>The length of a single tick in milliseconds, which is the basic time unit used by ZooKeeper</description>
-  </property>
-  <property>
-    <name>initLimit</name>
-    <value>10</value>
-    <description>Ticks to allow for sync at Init.</description>
-  </property>
-  <property>
-    <name>syncLimit</name>
-    <value>5</value>
-    <description>Ticks to allow for sync at Runtime.</description>
-  </property>
-  <property>
-    <name>clientPort</name>
-    <value>2181</value>
-    <description>Port for running ZK Server.</description>
-  </property>
+
   
   <!-- zookeeper-env.sh -->
   <property>

+ 2 - 5
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/package/scripts/params.py

@@ -48,15 +48,12 @@ user_group = config['configurations']['cluster-env']['user_group']
 zk_env_sh_template = config['configurations']['zookeeper-env']['content']
 
 zk_log_dir = config['configurations']['zookeeper-env']['zk_log_dir']
-zk_data_dir = config['configurations']['zookeeper-env']['zk_data_dir']
+zk_data_dir = config['configurations']['zoo.cfg']['dataDir']
 zk_pid_dir = status_params.zk_pid_dir
 zk_pid_file = status_params.zk_pid_file
 zk_server_heapsize = "-Xmx1024m"
 
-tickTime = config['configurations']['zookeeper-env']['tickTime']
-initLimit = config['configurations']['zookeeper-env']['initLimit']
-syncLimit = config['configurations']['zookeeper-env']['syncLimit']
-clientPort = config['configurations']['zookeeper-env']['clientPort']
+clientPort = config['configurations']['zoo.cfg']['clientPort']
 
 if 'zoo.cfg' in config['configurations']:
   zoo_cfg_properties_map = config['configurations']['zoo.cfg']

+ 5 - 21
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/package/templates/zoo.cfg.j2

@@ -38,32 +38,16 @@
 #
 #
 
-# The number of milliseconds of each tick
-tickTime={{tickTime}}
-# The number of ticks that the initial
-# synchronization phase can take
-initLimit={{initLimit}}
-# The number of ticks that can pass between
-# sending a request and getting an acknowledgement
-syncLimit={{syncLimit}}
-# the directory where the snapshot is stored.
-dataDir={{zk_data_dir}}
-# the port at which the clients will connect
-clientPort={{clientPort}}
-{% for host in zookeeper_hosts %}
+{% for key, value in zoo_cfg_properties_map.iteritems() -%}
+  {{key}}={{value}}
+{% endfor %}
+{% for host in zookeeper_hosts -%}
 server.{{loop.index}}={{host}}:2888:3888
 {% endfor %}
 
-{% if security_enabled %}
+{% if security_enabled -%}
 authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
 jaasLoginRenew=3600000
 kerberos.removeHostFromPrincipal=true
 kerberos.removeRealmFromPrincipal=true
 {% endif %}
-
-{% if zoo_cfg_properties_map_length > 0 %}
-# Custom properties
-{% endif %}
-{% for key, value in zoo_cfg_properties_map.iteritems() %}
-{{key}}={{value}}
-{% endfor %}

+ 15 - 11
ambari-server/src/test/python/stacks/1.3.2/configs/default.json

@@ -404,18 +404,22 @@
             "rrdcached_write_threads": "4", 
             "rrdcached_delay": "1800", 
             "rrdcached_timeout": "3600"
-        }, 
+        },
         "zookeeper-env": {
-            "clientPort": "2181", 
-            "zk_user": "zookeeper", 
-            "zk_log_dir": "/var/log/zookeeper", 
-            "syncLimit": "5", 
-            "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}\n    ", 
-            "initLimit": "10", 
-            "zk_pid_dir": "/var/run/zookeeper", 
-            "zk_data_dir": "/hadoop/zookeeper", 
-            "tickTime": "2000"
-        }, 
+          "zk_user": "zookeeper",
+          "zk_log_dir": "/var/log/zookeeper",
+          "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}",
+          "zk_pid_dir": "/var/run/zookeeper",
+          "zookeeper_principal_name": "zookeeper/_HOST@EXAMPLE.COM",
+          "zookeeper_keytab_path": "/etc/security/keytabs/zk.service.keytab"
+        },
+        "zoo.cfg": {
+          "clientPort": "2181",
+          "syncLimit": "5",
+          "initLimit": "10",
+          "dataDir": "/hadoop/zookeeper",
+          "tickTime": "2000"
+        },
         "hdfs-log4j": {
             "content": "log4jproperties\nline2"
         },

+ 16 - 14
ambari-server/src/test/python/stacks/1.3.2/configs/secured.json

@@ -585,20 +585,22 @@
             "rrdcached_write_threads": "4", 
             "rrdcached_delay": "1800", 
             "rrdcached_timeout": "3600"
-        }, 
-        "zookeeper-env": {
-            "clientPort": "2181", 
-            "zk_user": "zookeeper", 
-            "zk_log_dir": "/var/log/zookeeper", 
-            "syncLimit": "5", 
-            "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}\n    ", 
-            "initLimit": "10", 
-            "zk_pid_dir": "/var/run/zookeeper", 
-            "zk_data_dir": "/hadoop/zookeeper", 
-            "tickTime": "2000",
-            "zookeeper_principal_name": "zookeeper/_HOST@EXAMPLE.COM",
-            "zookeeper_keytab_path": "/etc/security/keytabs/zk.service.keytab"
-        }, 
+        },
+      "zookeeper-env": {
+        "zk_user": "zookeeper",
+        "zk_log_dir": "/var/log/zookeeper",
+        "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}",
+        "zk_pid_dir": "/var/run/zookeeper",
+        "zookeeper_principal_name": "zookeeper/_HOST@EXAMPLE.COM",
+        "zookeeper_keytab_path": "/etc/security/keytabs/zk.service.keytab"
+      },
+      "zoo.cfg": {
+        "clientPort": "2181",
+        "syncLimit": "5",
+        "initLimit": "10",
+        "dataDir": "/hadoop/zookeeper",
+        "tickTime": "2000"
+      },
         "hdfs-log4j": {
             "content": "log4jproperties\nline2"
         },

+ 13 - 9
ambari-server/src/test/python/stacks/2.0.6/configs/default.json

@@ -488,15 +488,19 @@
             "rrdcached_timeout": "3600"
         },
         "zookeeper-env": {
-            "clientPort": "2181", 
-            "zk_user": "zookeeper", 
-            "zk_log_dir": "/var/log/zookeeper", 
-            "syncLimit": "5", 
-            "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}", 
-            "initLimit": "10", 
-            "zk_pid_dir": "/var/run/zookeeper", 
-            "zk_data_dir": "/hadoop/zookeeper", 
-            "tickTime": "2000"
+          "zk_user": "zookeeper",
+          "zk_log_dir": "/var/log/zookeeper",
+          "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}",
+          "zk_pid_dir": "/var/run/zookeeper",
+          "zookeeper_principal_name": "zookeeper/_HOST@EXAMPLE.COM",
+          "zookeeper_keytab_path": "/etc/security/keytabs/zk.service.keytab"
+        },
+        "zoo.cfg": {
+          "clientPort": "2181",
+          "syncLimit": "5",
+          "initLimit": "10",
+          "dataDir": "/hadoop/zookeeper",
+          "tickTime": "2000"
         },
         "mapred-env": {
             "content": "\n# export JAVA_HOME=/home/y/libexec/jdk1.6.0/\n\nexport HADOOP_JOB_HISTORYSERVER_HEAPSIZE={{jobhistory_heapsize}}\n\nexport HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA\n\n#export HADOOP_JOB_HISTORYSERVER_OPTS=\n#export HADOOP_MAPRED_LOG_DIR=\"\" # Where log files are stored.  $HADOOP_MAPRED_HOME/logs by default.\n#export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.\n#export HADOOP_MAPRED_PID_DIR= # The pid files are stored. /tmp by default.\n#export HADOOP_MAPRED_IDENT_STRING= #A string representing this instance of hadoop. $USER by default\n#export HADOOP_MAPRED_NICENESS= #The scheduling priority for daemons. Defaults to 0.", 

+ 10 - 8
ambari-server/src/test/python/stacks/2.0.6/configs/secured.json

@@ -540,17 +540,19 @@
             "rrdcached_timeout": "3600"
         },
         "zookeeper-env": {
-            "clientPort": "2181", 
             "zk_user": "zookeeper", 
-            "zk_log_dir": "/var/log/zookeeper", 
-            "syncLimit": "5", 
-            "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}", 
-            "initLimit": "10", 
-            "zk_pid_dir": "/var/run/zookeeper", 
-            "zk_data_dir": "/hadoop/zookeeper", 
-            "tickTime": "2000",
+            "zk_log_dir": "/var/log/zookeeper",
+            "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}",
+            "zk_pid_dir": "/var/run/zookeeper",
             "zookeeper_principal_name": "zookeeper/_HOST@EXAMPLE.COM",
             "zookeeper_keytab_path": "/etc/security/keytabs/zk.service.keytab"
+        },
+         "zoo.cfg": {
+          "clientPort": "2181",
+          "syncLimit": "5",
+          "initLimit": "10",
+          "dataDir": "/hadoop/zookeeper",
+          "tickTime": "2000"
         },
         "mapred-env": {
             "content": "\n# export JAVA_HOME=/home/y/libexec/jdk1.6.0/\n\nexport HADOOP_JOB_HISTORYSERVER_HEAPSIZE={{jobhistory_heapsize}}\n\nexport HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA\n\n#export HADOOP_JOB_HISTORYSERVER_OPTS=\n#export HADOOP_MAPRED_LOG_DIR=\"\" # Where log files are stored.  $HADOOP_MAPRED_HOME/logs by default.\n#export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.\n#export HADOOP_MAPRED_PID_DIR= # The pid files are stored. /tmp by default.\n#export HADOOP_MAPRED_IDENT_STRING= #A string representing this instance of hadoop. $USER by default\n#export HADOOP_MAPRED_NICENESS= #The scheduling priority for daemons. Defaults to 0.", 

+ 1 - 1
ambari-web/app/assets/data/configurations/cluster_level_actual_configs.json

@@ -149,7 +149,7 @@
         "nagios_contact" : "n@n.com",
         "mapred_cluster_red_mem_mb" : "-1",
         "hive_ambari_database" : "MySQL",
-        "zk_data_dir" : "/hadoop/zookeeper",
+        "dataDir" : "/hadoop/zookeeper",
         "hive_pid_dir" : "/var/run/hive",
         "mysql_connector_url" : "${download_url}/mysql-connector-java-5.1.18.zip",
         "jtnode_opt_maxnewsize" : "200m",

+ 1 - 1
ambari-web/app/assets/data/configurations/cluster_level_configs.json

@@ -426,7 +426,7 @@
         "nagios_contact" : "n@n.com",
         "mapred_cluster_red_mem_mb" : "-1",
         "hive_ambari_database" : "MySQL",
-        "zk_data_dir" : "/hadoop/zookeeper",
+        "dataDir" : "/hadoop/zookeeper",
         "hive_pid_dir" : "/var/run/hive",
         "mysql_connector_url" : "${download_url}/mysql-connector-java-5.1.18.zip",
         "jtnode_opt_maxnewsize" : "200m",

+ 1 - 19
ambari-web/app/controllers/wizard/step8_controller.js

@@ -1411,11 +1411,7 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, {
             var obj = this.createStormSiteObj(tag);
             obj.service_config_version_note = serviceVersionNotes;
             this.get('serviceConfigTags').pushObject(obj);
-          } else if (type === 'zoo.cfg') {
-            var obj = this.createZooCfgObj(tag);
-            obj.service_config_version_note = serviceVersionNotes;
-            this.get('serviceConfigTags').pushObject(obj);
-          } else {
+          }  else {
             var obj = this.createSiteObj(type, tag);
             obj.service_config_version_note = serviceVersionNotes;
             this.get('serviceConfigTags').pushObject(obj);
@@ -1682,20 +1678,6 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, {
     return configObj;
   },
 
-  /**
-   * Create ZooKeeper Cfg Object
-   * @param tag
-   * @returns {{type: string, tag: string, properties: {}}}
-   * @method createZooCfgObj
-   */
-  createZooCfgObj: function (tag) {
-    var configs = this.get('configs').filterProperty('filename', 'zoo.cfg');
-    var csProperties = {};
-    configs.forEach(function (_configProperty) {
-      csProperties[_configProperty.name] = _configProperty.value;
-    }, this);
-    return {type: 'zoo.cfg', tag: tag, properties: csProperties};
-  },
   /**
    * Create site obj for Storm
    * Some config-properties should be modified in custom way

+ 6 - 6
ambari-web/app/data/HDP2/site_properties.js

@@ -3409,7 +3409,7 @@ module.exports =
     },
     {
       "id": "puppet var",
-      "name": "zk_data_dir",
+      "name": "dataDir",
       "displayName": "ZooKeeper directory",
       "description": "Data directory for ZooKeeper",
       "defaultValue": "",
@@ -3418,7 +3418,7 @@ module.exports =
       "displayType": "directory",
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 1
     },
@@ -3433,7 +3433,7 @@ module.exports =
       "isOverridable": false,
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 2
     },
@@ -3447,7 +3447,7 @@ module.exports =
       "isOverridable": false,
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 3
     },
@@ -3461,7 +3461,7 @@ module.exports =
       "isOverridable": false,
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 4
     },
@@ -3475,7 +3475,7 @@ module.exports =
       "isOverridable": false,
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 5
     },

+ 6 - 6
ambari-web/app/data/site_properties.js

@@ -2173,7 +2173,7 @@ module.exports =
     },
     {
       "id": "puppet var",
-      "name": "zk_data_dir",
+      "name": "dataDir",
       "displayName": "ZooKeeper directory",
       "description": "Data directory for ZooKeeper",
       "defaultValue": "",
@@ -2182,7 +2182,7 @@ module.exports =
       "displayType": "directory",
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 1
     },
@@ -2197,7 +2197,7 @@ module.exports =
       "isOverridable": false,
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 2
     },
@@ -2211,7 +2211,7 @@ module.exports =
       "isOverridable": false,
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 3
     },
@@ -2225,7 +2225,7 @@ module.exports =
       "isOverridable": false,
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 4
     },
@@ -2239,7 +2239,7 @@ module.exports =
       "isOverridable": false,
       "isVisible": true,
       "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
+      "filename": "zoo.cfg.xml",
       "category": "ZOOKEEPER_SERVER",
       "index": 5
     },

+ 2 - 2
ambari-web/app/models/service_config.js

@@ -540,7 +540,7 @@ App.ServiceConfigProperty = Ember.Object.extend({
       case 'fs.checkpoint.dir':
       case 'dfs.namenode.checkpoint.dir':
       case 'yarn.timeline-service.leveldb-timeline-store.path':
-      case 'zk_data_dir':
+      case 'dataDir':
       case 'oozie_data_dir':
       case 'hbase.tmp.dir':
       case 'storm.local.dir':
@@ -629,7 +629,7 @@ App.ServiceConfigProperty = Ember.Object.extend({
           setOfHostNames.push(component.hostName);
         }, this);
         break;
-      case 'zk_data_dir':
+      case 'dataDir':
         components = masterComponentHostsInDB.filterProperty('component', 'ZOOKEEPER_SERVER');
         components.forEach(function (component) {
           setOfHostNames.push(component.hostName);

+ 1 - 1
ambari-web/app/utils/config.js

@@ -28,7 +28,7 @@ App.config = Em.Object.create({
   /**
    * filename exceptions used to support substandard sitenames which don't have "xml" extension
    */
-  filenameExceptions: ['zoo.cfg'],
+  filenameExceptions: [],
 
   preDefinedServiceConfigs: [],
   /**

+ 0 - 24
ambari-web/test/controllers/wizard/step8_test.js

@@ -905,30 +905,6 @@ describe('App.WizardStep8Controller', function () {
     });
   });
 
-  describe('#createZooCfgObj', function() {
-    it('should affect zoo.cfg properties', function() {
-      var configs = [
-          {filename: 'zoo.cfg', value: 'a&amp;b', name: 'p1'},
-          {filename: 'zoo.cfg', value: 'a&lt;b', name: 'p2'},
-          {filename: 'zoo.cfg', value: 'a&gt;b', name: 'p3'},
-          {filename: 'zoo.cfg', value: 'a&quot;b', name: 'p4'},
-          {filename: 'zoo.cfg', value: 'a&apos;b', name: 'p5'}
-        ],
-        expected = {
-          type: 'zoo.cfg',
-          tag: 'version1',
-          properties: {
-            p1: 'a&amp;b',
-            p2: 'a&lt;b',
-            p3: 'a&gt;b',
-            p4: 'a&quot;b',
-            p5: 'a&apos;b'
-          }
-        };
-      installerStep8Controller.reopen({configs: configs});
-      expect(installerStep8Controller.createZooCfgObj('version1')).to.eql(expected);
-    });
-  });
 
   describe('#createStormSiteObj', function() {
     it('should replace quote \'"\' to "\'" for some properties', function() {