Author: rvs
Date: Tue Mar 20 17:58:10 2012
New Revision: 1303053

URL: http://svn.apache.org/viewvc?rev=1303053&view=rev
Log:
BIGTOP-466. Secure zookeeper support missing from puppet (Patrick Taylor Ramsey 
via rvs)

Added:
    
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/files/
    
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/files/java.env
    
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/jaas.conf
Modified:
    
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/manifests/cluster.pp
    
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/manifests/init.pp
    
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/zoo.cfg

Modified: 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/manifests/cluster.pp
URL: 
http://svn.apache.org/viewvc/incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/manifests/cluster.pp?rev=1303053&r1=1303052&r2=1303053&view=diff
==============================================================================
--- 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/manifests/cluster.pp 
(original)
+++ 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/manifests/cluster.pp 
Tue Mar 20 17:58:10 2012
@@ -158,6 +158,7 @@ class hadoop_head_node inherits hadoop_c
   hadoop-zookeeper::server { "zookeeper":
         myid => "0",
         ensemble => $hadoop_zookeeper_ensemble,
+        kerberos_realm => $kerberos_realm, 
   }
 
   hadoop::create_hdfs_dirs { [ "/mapred", "/tmp", "/system", "/user", 
"/hbase", "/benchmarks", "/user/jenkins", "/user/hive", "/user/root", 
"/user/history" ]:

Added: 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/files/java.env
URL: 
http://svn.apache.org/viewvc/incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/files/java.env?rev=1303053&view=auto
==============================================================================
--- 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/files/java.env
 (added)
+++ 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/files/java.env
 Tue Mar 20 17:58:10 2012
@@ -0,0 +1 @@
+export 
SERVER_JVMFLAGS="-Djava.security.auth.login.config=/etc/zookeeper/conf/jaas.conf"

Modified: 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/manifests/init.pp
URL: 
http://svn.apache.org/viewvc/incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/manifests/init.pp?rev=1303053&r1=1303052&r2=1303053&view=diff
==============================================================================
--- 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/manifests/init.pp
 (original)
+++ 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/manifests/init.pp
 Tue Mar 20 17:58:10 2012
@@ -20,7 +20,9 @@ class hadoop-zookeeper {
     } 
   }
 
-  define server($myid, $ensemble = ["localhost:2888:3888"]) {
+  define server($myid, $ensemble = ["localhost:2888:3888"],
+                $kerberos_realm = "") 
+  {
     package { "zookeeper-server":
       ensure => latest,
     }
@@ -42,5 +44,25 @@ class hadoop-zookeeper {
       content => inline_template("<%= myid %>"),
       require => Package["zookeeper-server"],
     }
+
+    if ($kerberos_realm) {
+      require kerberos::client
+
+      kerberos::host_keytab { "zookeeper":
+        notify => Service["zookeeper-server"],
+      }
+
+      file { "/etc/zookeeper/conf/java.env":
+        source  => "puppet:///modules/hadoop-zookeeper/java.env",
+        require => Package["zookeeper-server"],
+        notify  => Service["zookeeper-server"],
+      }
+
+      file { "/etc/zookeeper/conf/jaas.conf":
+        content => template("hadoop-zookeeper/jaas.conf"),
+        require => Package["zookeeper-server"],
+        notify  => Service["zookeeper-server"],
+      }
+    }
   }
 }

Added: 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/jaas.conf
URL: 
http://svn.apache.org/viewvc/incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/jaas.conf?rev=1303053&view=auto
==============================================================================
--- 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/jaas.conf
 (added)
+++ 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/jaas.conf
 Tue Mar 20 17:58:10 2012
@@ -0,0 +1,8 @@
+Server {
+      com.sun.security.auth.module.Krb5LoginModule required
+      useKeyTab=true
+      keyTab="/etc/zookeeper.keytab"
+      storeKey=true
+      useTicketCache=false
+      principal="zookeeper/<%= fqdn %>@<%= kerberos_realm %>";
+};

Modified: 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/zoo.cfg
URL: 
http://svn.apache.org/viewvc/incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/zoo.cfg?rev=1303053&r1=1303052&r2=1303053&view=diff
==============================================================================
--- 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/zoo.cfg
 (original)
+++ 
incubator/bigtop/branches/hadoop-0.23/bigtop-deploy/puppet/modules/hadoop-zookeeper/templates/zoo.cfg
 Tue Mar 20 17:58:10 2012
@@ -29,3 +29,14 @@ clientPort=2181
 <% ensemble.each_with_index do |server,idx| %>
 server.<%= idx %>=<%= server %>
 <% end %>
+
+<% if kerberos_realm != "" -%>
+authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
+jaasLoginRenew=3600000
+
+# HBase needs these configs so that different hbase daemons 
+# (master, regionservers), which run on different hosts, can 
+# read from and write to znodes that others create
+kerberos.removeHostFromPrincipal=true
+kerberos.removeRealmFromPrincipal=true
+<% end -%>


Reply via email to