You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by co...@apache.org on 2017/07/21 11:26:53 UTC
[06/50] [abbrv] directory-kerby git commit: DIRKRB-557 KDC backend
connect to the zookeeper cluster.
DIRKRB-557 KDC backend connect to the zookeeper cluster.
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/fe4f0b81
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/fe4f0b81
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/fe4f0b81
Branch: refs/heads/gssapi
Commit: fe4f0b817a21b9ffbf2e7714b00e5d41be0069b5
Parents: 2dde1f7
Author: plusplusjiajia <ji...@intel.com>
Authored: Fri Apr 22 15:43:14 2016 +0800
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Fri Jul 21 12:25:02 2017 +0100
----------------------------------------------------------------------
.../kerberos/kdc/identitybackend/ZKConfKey.java | 6 ++--
.../ZookeeperIdentityBackend.java | 36 ++++++--------------
.../identity/backend/ZookeeperBackendTest.java | 26 ++++++++++----
kerby-dist/kdc-dist/conf/backend.conf | 6 ++--
.../kerberos/kdc/ZookeeperBackendKdcTest.java | 27 ++-------------
5 files changed, 41 insertions(+), 60 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/fe4f0b81/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java
----------------------------------------------------------------------
diff --git a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java
index 96f5ced..b82b1a0 100644
--- a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java
+++ b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java
@@ -25,10 +25,10 @@ import org.apache.kerby.config.ConfigKey;
* Define all the ZK backend related configuration items with default values.
*/
public enum ZKConfKey implements ConfigKey {
+ EMBEDDED_ZK(true),
ZK_HOST("127.0.0.1"),
- ZK_PORT(2181),
- DATA_DIR,
- DATA_LOG_DIR;
+ ZK_PORT(2180),
+ DATA_DIR("/tmp/kerby/zookeeper/data");
private Object defaultValue;
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/fe4f0b81/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
index 95d14a5..810b271 100644
--- a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
+++ b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
@@ -51,7 +51,6 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
private String zkHost;
private int zkPort;
private File dataDir;
- private File dataLogDir;
private ZooKeeper zooKeeper;
private static final Logger LOG = LoggerFactory.getLogger(ZookeeperIdentityBackend.class);
@@ -111,19 +110,9 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
LOG.info("Data dir: " + dataDir);
- String dataLogDirString = getConfig().getString(ZKConfKey.DATA_LOG_DIR, true);
- if (dataLogDirString == null || dataLogDirString.isEmpty()) {
- File zooKeeperDir = new File(getBackendConfig().getConfDir(), "zookeeper");
- dataLogDir = new File(zooKeeperDir, "datalog");
- } else {
- dataLogDir = new File(dataLogDirString);
- }
-
- if (!dataLogDir.exists() && !dataLogDir.mkdirs()) {
- throw new KrbException("could not create data log file dir " + dataLogDir);
+ if (getConfig().getBoolean(ZKConfKey.EMBEDDED_ZK, true)) {
+ startEmbeddedZookeeper();
}
-
- startEmbeddedZookeeper();
connectZK();
}
@@ -132,7 +121,8 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
*/
private void connectZK() throws KrbException {
try {
- zooKeeper = new ZooKeeper(zkHost, 10000, null);
+ String serverStr = zkHost + ":" + zkPort;
+ zooKeeper = new ZooKeeper(serverStr, 10000, new MyWatcher());
while (true) {
if (!zooKeeper.getState().isConnected()) {
try {
@@ -158,7 +148,6 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
private void startEmbeddedZookeeper() throws KrbException {
Properties startupProperties = new Properties();
startupProperties.put("dataDir", dataDir.getAbsolutePath());
- startupProperties.put("dataLogDir", dataLogDir.getAbsolutePath());
startupProperties.put("clientPort", zkPort);
QuorumPeerConfig quorumConfiguration = new QuorumPeerConfig();
@@ -188,14 +177,6 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
}
/**
- * This will watch all the kdb update event so that it's timely synced.
- * @param event The kdb update event ot watch.
- */
- private void process(WatchedEvent event) {
- System.out.print("I got an event: " + event);
- }
-
- /**
* {@inheritDoc}
*/
@Override
@@ -323,9 +304,14 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
}
class MyWatcher implements Watcher {
- @Override
+
+ /**
+ * This will watch all the kdb update event so that it's timely synced.
+ * @param event The kdb update event ot watch.
+ */
public void process(WatchedEvent event) {
- ZookeeperIdentityBackend.this.process(event);
+// System.out.println("I got an event: " + event.getPath());
}
+
}
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/fe4f0b81/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java
----------------------------------------------------------------------
diff --git a/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java b/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java
index b5dab1d..8f34123 100644
--- a/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java
+++ b/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java
@@ -23,6 +23,7 @@ import org.apache.kerby.config.Conf;
import org.apache.kerby.kerberos.kdc.identitybackend.ZKConfKey;
import org.apache.kerby.kerberos.kdc.identitybackend.ZookeeperIdentityBackend;
import org.apache.kerby.kerberos.kerb.KrbException;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import java.io.File;
@@ -31,22 +32,35 @@ import java.io.File;
* Zookeeper backend test
*/
public class ZookeeperBackendTest extends BackendTestBase {
+ private static File instanceDir;
+ private static File dataDir;
+
@BeforeClass
public static void setup() throws KrbException {
Conf config = new Conf();
-
File testdir = new File(System.getProperty("test.dir", "target"));
- File instanceDir = new File(testdir, "zookeeper");
+ instanceDir = new File(testdir, "zookeeper");
instanceDir.mkdirs();
- File dataDir = new File(instanceDir, "data");
+ dataDir = new File(instanceDir, "data");
dataDir.mkdirs();
config.setString(ZKConfKey.DATA_DIR.getPropertyKey(), dataDir.getAbsolutePath());
- File dataLogDir = new File(instanceDir, "log");
- dataLogDir.mkdirs();
- config.setString(ZKConfKey.DATA_LOG_DIR.getPropertyKey(), dataLogDir.getAbsolutePath());
backend = new ZookeeperIdentityBackend(config);
backend.initialize();
backend.start();
}
+
+ @AfterClass
+ public static void tearDown() throws KrbException {
+ if (dataDir.exists()) {
+ dataDir.delete();
+ }
+ if (instanceDir.exists()) {
+ instanceDir.delete();
+ }
+ if (backend != null) {
+ backend.stop();
+ backend.release();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/fe4f0b81/kerby-dist/kdc-dist/conf/backend.conf
----------------------------------------------------------------------
diff --git a/kerby-dist/kdc-dist/conf/backend.conf b/kerby-dist/kdc-dist/conf/backend.conf
index 28c2632..2ead268 100644
--- a/kerby-dist/kdc-dist/conf/backend.conf
+++ b/kerby-dist/kdc-dist/conf/backend.conf
@@ -18,5 +18,7 @@
kdc_identity_backend = org.apache.kerby.kerberos.kdc.identitybackend.JsonIdentityBackend
backend.json.dir = /tmp/kerby/jsonbackend
-data_dir = /tmp/kerby/zookeeper/data
-data_log_dir = /tmp/kerby/zookeeper/datalog
+embedded_zk = false
+zk_host = 127.0.0.1
+zk_port = 2181
+data_dir = /tmp/zookeeper/data
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/fe4f0b81/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/ZookeeperBackendKdcTest.java
----------------------------------------------------------------------
diff --git a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/ZookeeperBackendKdcTest.java b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/ZookeeperBackendKdcTest.java
index bface94..f0634e7 100644
--- a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/ZookeeperBackendKdcTest.java
+++ b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/ZookeeperBackendKdcTest.java
@@ -23,43 +23,22 @@ import org.apache.kerby.kerberos.kdc.identitybackend.ZKConfKey;
import org.apache.kerby.kerberos.kerb.KrbException;
import org.apache.kerby.kerberos.kerb.identity.backend.BackendConfig;
import org.apache.kerby.kerberos.kerb.server.KdcConfigKey;
-import org.junit.AfterClass;
import org.junit.Test;
import java.io.File;
public class ZookeeperBackendKdcTest extends KerbyKdcTest {
- private static File instanceDir;
- private static File dataDir;
- private static File dataLogDir;
-
- @AfterClass
- public static void rmJsonBackendFile() {
- if (instanceDir.exists()) {
- instanceDir.delete();
- }
- if (dataDir.exists()) {
- dataDir.delete();
- }
- if (dataLogDir.exists()) {
- dataLogDir.delete();
- }
- }
-
@Override
protected void prepareKdc() throws KrbException {
BackendConfig backendConfig = getKdcServer().getBackendConfig();
- File testDir = new File(System.getProperty("test.dir", "target"));
- instanceDir = new File(testDir, "zookeeper");
+ File testDir = getTestDir();
+ File instanceDir = new File(testDir, "zookeeper");
instanceDir.mkdirs();
- dataDir = new File(instanceDir, "data");
+ File dataDir = new File(instanceDir, "data");
dataDir.mkdirs();
backendConfig.setString(ZKConfKey.DATA_DIR.getPropertyKey(), dataDir.getAbsolutePath());
- dataLogDir = new File(instanceDir, "log");
- dataLogDir.mkdirs();
- backendConfig.setString(ZKConfKey.DATA_LOG_DIR.getPropertyKey(), dataLogDir.getAbsolutePath());
backendConfig.setString(KdcConfigKey.KDC_IDENTITY_BACKEND,
"org.apache.kerby.kerberos.kdc.identitybackend.ZookeeperIdentityBackend");