You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2016/03/15 12:46:46 UTC

aries-rsa git commit: Simplify deployment, improve tests

Repository: aries-rsa
Updated Branches:
  refs/heads/master 46b74ebd5 -> 0eb4af938


Simplify deployment, improve tests


Project: http://git-wip-us.apache.org/repos/asf/aries-rsa/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-rsa/commit/0eb4af93
Tree: http://git-wip-us.apache.org/repos/asf/aries-rsa/tree/0eb4af93
Diff: http://git-wip-us.apache.org/repos/asf/aries-rsa/diff/0eb4af93

Branch: refs/heads/master
Commit: 0eb4af93873e74fd5829877d6ab21794e76a74b9
Parents: 46b74eb
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Tue Mar 15 09:42:33 2016 +0100
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Mar 15 09:42:33 2016 +0100

----------------------------------------------------------------------
 .../resources/OSGI-INF/metatype/zookeeper.xml   |  9 ++++
 .../zookeeper/server/ZookeeperStarterTest.java  |  4 +-
 examples/echotcp/Readme.md                      | 14 +++---
 features/src/main/resources/features.xml        | 14 ++++++
 .../aries/rsa/itests/felix/RsaTestBase.java     | 45 +++++++++-----------
 .../rsa/itests/felix/TestDiscoveryExport.java   | 41 ++++++++++--------
 .../aries/rsa/itests/felix/TestRoundTrip.java   | 15 ++-----
 .../felix/ZookeeperDiscoveryConfigurer.java     | 28 ------------
 .../itests/felix/ZookeeperServerConfigurer.java | 32 --------------
 .../helpers/ZookeeperDiscoveryConfigurer.java   | 28 ++++++++++++
 .../helpers/ZookeeperServerConfigurer.java      | 32 ++++++++++++++
 11 files changed, 141 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/discovery/zookeeper/src/main/resources/OSGI-INF/metatype/zookeeper.xml
----------------------------------------------------------------------
diff --git a/discovery/zookeeper/src/main/resources/OSGI-INF/metatype/zookeeper.xml b/discovery/zookeeper/src/main/resources/OSGI-INF/metatype/zookeeper.xml
index 361fa1e..4c47359 100644
--- a/discovery/zookeeper/src/main/resources/OSGI-INF/metatype/zookeeper.xml
+++ b/discovery/zookeeper/src/main/resources/OSGI-INF/metatype/zookeeper.xml
@@ -31,4 +31,13 @@
 	 <Designate pid="org.apache.aries.rsa.discovery.zookeeper.server">
 	 	<Object ocdref="zookeeper.server"/>
 	 </Designate>
+     
+     <OCD description="" name="Zookeeper dicovery config" id="zookeeper.discovery">
+        <AD id="zookeeper.host" required="false" type="String" default="localhost" description=""/>
+        <AD id="zookeeper.port" required="false" type="String" default="2181" description=""/>
+        <AD id="zookeeper.timeout" required="false" type="String" default="3000" description=""/>
+     </OCD>
+     <Designate pid="org.apache.aries.rsa.discovery.zookeeper">
+        <Object ocdref="zookeeper.discovery"/>
+     </Designate>
 </MetaData>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/server/ZookeeperStarterTest.java
----------------------------------------------------------------------
diff --git a/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/server/ZookeeperStarterTest.java b/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/server/ZookeeperStarterTest.java
index 7d58fe3..02dce0c 100644
--- a/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/server/ZookeeperStarterTest.java
+++ b/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/server/ZookeeperStarterTest.java
@@ -27,8 +27,8 @@ import junit.framework.TestCase;
 import org.apache.aries.rsa.discovery.zookeeper.server.ZookeeperStarter;
 import org.apache.aries.rsa.discovery.zookeeper.server.ZookeeperStarter.MyZooKeeperServerMain;
 import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
-import org.easymock.classextension.EasyMock;
-import org.easymock.classextension.IMocksControl;
+import org.easymock.EasyMock;
+import org.easymock.IMocksControl;
 import org.osgi.framework.BundleContext;
 
 import static org.easymock.EasyMock.expect;

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/examples/echotcp/Readme.md
----------------------------------------------------------------------
diff --git a/examples/echotcp/Readme.md b/examples/echotcp/Readme.md
index c7b0525..e335709 100644
--- a/examples/echotcp/Readme.md
+++ b/examples/echotcp/Readme.md
@@ -9,28 +9,30 @@ Download Apache Karaf 4.0.5
 ## Service
 Extract to container_a and start. In the shell execute the commands below:
 
-config:property-set -p org.apache.aries.rsa.discovery.zookeeper zookeeper.port 2181
-config:property-set -p org.apache.aries.rsa.discovery.zookeeper.server clientPort 2181
+''''
 feature:repo-add aries-rsa 1.8-SNAPSHOT
-feature:install scr aries-rsa-provider-tcp aries-rsa-discovery-zookeeper
+feature:install scr aries-rsa-provider-tcp aries-rsa-discovery-zookeeper aries-rsa-discovery-zookeeper-server
 install -s mvn:org.apache.aries.rsa.examples.echotcp/org.apache.aries.rsa.examples.echotcp.api
 install -s mvn:org.apache.aries.rsa.examples.echotcp/org.apache.aries.rsa.examples.echotcp.service
+''''
 
 The log should show that the service is exported using the tcp provider and published to zookeeper.
 It should look similar to this:
 
+''''
 2016-03-14 11:59:53,548 | INFO  | pool-50-thread-5 | TopologyManagerExport            | 57 - org.apache.aries.rsa.topology-manager - 1.8.0.SNAPSHOT | TopologyManager: export successful for [org.apache.aries.rsa.examples.echotcp.api.EchoService], endpoints: [{component.id=1, component.name=org.apache.aries.rsa.examples.echotcp.service.EchoServiceImpl, endpoint.framework.uuid=2b242970-0d54-49c4-a321-b0c323809c24, endpoint.id=tcp://192.168.0.129:36384, endpoint.package.version.org.apache.aries.rsa.examples.echotcp.api=1.0.0, endpoint.service.id=138, objectClass=[org.apache.aries.rsa.examples.echotcp.api.EchoService], service.bundleid=64, service.imported=true, service.imported.configs=[aries.tcp], service.scope=bundle}]
 2016-03-14 11:59:53,549 | INFO  | pool-50-thread-5 | PublishingEndpointListener       | 54 - org.apache.aries.rsa.discovery.zookeeper - 1.8.0.SNAPSHOT | Local EndpointDescription added: {component.id=1, component.name=org.apache.aries.rsa.examples.echotcp.service.EchoServiceImpl, endpoint.framework.uuid=2b242970-0d54-49c4-a321-b0c323809c24, endpoint.id=tcp://192.168.0.129:36384, endpoint.package.version.org.apache.aries.rsa.examples.echotcp.api=1.0.0, endpoint.service.id=138, objectClass=[org.apache.aries.rsa.examples.echotcp.api.EchoService], service.bundleid=64, service.imported=true, service.imported.configs=[aries.tcp], service.scope=bundle}
-
+''''
 
 ## Consumer
 Extract to container_b and start. In the shell execute the commands below:
 
-config:property-set -p org.apache.aries.rsa.discovery.zookeeper zookeeper.port 2181
+''''
 feature:repo-add aries-rsa 1.8-SNAPSHOT
 feature:install scr aries-rsa-provider-tcp aries-rsa-discovery-zookeeper
 install -s mvn:org.apache.aries.rsa.examples.echotcp/org.apache.aries.rsa.examples.echotcp.api
 install -s mvn:org.apache.aries.rsa.examples.echotcp/org.apache.aries.rsa.examples.echotcp.consumer
+''''
 
 The consumer should start and show:
 Sending to echo service
@@ -38,7 +40,9 @@ Good morning
 
 The log should show that the discovery picks up the endpoint from zookeeper and that the RemoteServiceAdmin imports the service.
 
+''''
 2016-03-14 12:03:30,518 | INFO  | er])-EventThread | InterfaceMonitor                 | 54 - org.apache.aries.rsa.discovery.zookeeper - 1.8.0.SNAPSHOT | found new node /osgi/service_registry/org/apache/aries/rsa/examples/echotcp/api/EchoService/[192.168.0.129#36384#]   ( []->child )  props: [1, org.apache.aries.rsa.examples.echotcp.service.EchoServiceImpl, 2b242970-0d54-49c4-a321-b0c323809c24, tcp://192.168.0.129:36384, 1.0.0, 138, [Ljava.lang.String;@69a6817f, 64, true, [Ljava.lang.String;@8514b3a, bundle]
 2016-03-14 12:03:30,520 | INFO  | er])-EventThread | InterfaceMonitorManager          | 54 - org.apache.aries.rsa.discovery.zookeeper - 1.8.0.SNAPSHOT | calling EndpointListener.endpointAdded: org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport@2366e9c8 from bundle org.apache.aries.rsa.topology-manager for endpoint: {component.id=1, component.name=org.apache.aries.rsa.examples.echotcp.service.EchoServiceImpl, endpoint.framework.uuid=2b242970-0d54-49c4-a321-b0c323809c24, endpoint.id=tcp://192.168.0.129:36384, endpoint.package.version.org.apache.aries.rsa.examples.echotcp.api=1.0.0, endpoint.service.id=138, objectClass=[org.apache.aries.rsa.examples.echotcp.api.EchoService], service.bundleid=64, service.imported=true, service.imported.configs=[aries.tcp], service.scope=bundle}
 2016-03-14 12:03:30,522 | INFO  | pool-41-thread-1 | RemoteServiceAdminCore           | 52 - org.apache.aries.rsa.core - 1.8.0.SNAPSHOT | Importing service tcp://192.168.0.129:36384 with interfaces [org.apache.aries.rsa.examples.echotcp.api.EchoService] using handler class org.apache.aries.rsa.provider.tcp.TCPProvider.
+''''
 

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/features/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/features/src/main/resources/features.xml b/features/src/main/resources/features.xml
index 2249369..1f9aea0 100644
--- a/features/src/main/resources/features.xml
+++ b/features/src/main/resources/features.xml
@@ -22,6 +22,20 @@
         <bundle>mvn:org.apache.zookeeper/zookeeper/${zookeeper.version}</bundle>
         <bundle>mvn:org.apache.aries.rsa.discovery/org.apache.aries.rsa.discovery.local/${project.version}</bundle>
         <bundle>mvn:org.apache.aries.rsa.discovery/org.apache.aries.rsa.discovery.zookeeper/${project.version}</bundle>
+        
+        <!-- Create config with defaults from metatype -->
+        <config name="org.apache.aries.rsa.discovery.zookeeper">
+        </config>
     </feature>
+    
+    <feature name="aries-rsa-discovery-zookeeper-server" version="${project.version}">
+        <feature>aries-rsa-discovery-zookeeper</feature>
+
+        <!-- Create config with defaults from metatype -->
+        <config name="org.apache.aries.rsa.discovery.zookeeper.server">
+        </config>
+        
+    </feature>
+    
 
 </features>

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java
----------------------------------------------------------------------
diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java
index f1f2d8f..0464d21 100644
--- a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java
+++ b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java
@@ -11,11 +11,12 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
-import java.util.Dictionary;
-import java.util.Hashtable;
 
 import javax.inject.Inject;
 
+import org.apache.aries.rsa.itests.felix.helpers.ZookeeperDiscoveryConfigurer;
+import org.apache.aries.rsa.itests.felix.helpers.ZookeeperServerConfigurer;
+import org.ops4j.pax.exam.CoreOptions;
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.options.MavenArtifactProvisionOption;
 import org.ops4j.pax.exam.options.OptionalCompositeOption;
@@ -53,29 +54,6 @@ public class RsaTestBase {
         }
     }
 
-    protected int configureZookeeper() throws IOException, InterruptedException {
-        final int zkPort = 12051;
-        // getFreePort(); does not seem to work
-        System.out.println("*** Port for ZooKeeper Server: " + zkPort);
-        updateZkServerConfig(zkPort, configAdmin);
-        Thread.sleep(1000); // To avoid exceptions in zookeeper client
-        updateZkClientConfig(zkPort, configAdmin);
-        return zkPort;
-    }
-
-    protected void updateZkClientConfig(final int zkPort, ConfigurationAdmin cadmin) throws IOException {
-        Dictionary<String, Object> cliProps = new Hashtable<String, Object>();
-        cliProps.put("zookeeper.host", "127.0.0.1");
-        cliProps.put("zookeeper.port", "" + zkPort);
-        cadmin.getConfiguration("org.apache.aries.rsa.discovery.zookeeper", null).update(cliProps);
-    }
-
-    protected void updateZkServerConfig(final int zkPort, ConfigurationAdmin cadmin) throws IOException {
-        Dictionary<String, Object> svrProps = new Hashtable<String, Object>();
-        svrProps.put("clientPort", zkPort);
-        cadmin.getConfiguration("org.apache.aries.rsa.discovery.zookeeper.server", null).update(svrProps);
-    }
-
     protected int getFreePort() throws IOException {
         ServerSocket socket = new ServerSocket();
         try {
@@ -87,6 +65,23 @@ public class RsaTestBase {
         }
     }
 
+    static Option echoTcpConsumer() {
+        return CoreOptions.composite(
+        mvn("org.apache.felix", "org.apache.felix.scr"),
+        mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.api"),
+        // Consumer is needed to trigger service import. Pax exam inject does not work for it
+        mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.consumer")
+        );
+    }
+
+    static Option echoTcpService() {
+        return CoreOptions.composite(
+        mvn("org.apache.felix", "org.apache.felix.scr"),
+        mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.api"),
+        mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.service")
+        );
+    }
+
     static InputStream configBundleConsumer() {
         return TinyBundles.bundle()
             .add(ZookeeperDiscoveryConfigurer.class)

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestDiscoveryExport.java
----------------------------------------------------------------------
diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestDiscoveryExport.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestDiscoveryExport.java
index dea4929..ffb4a2c 100644
--- a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestDiscoveryExport.java
+++ b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestDiscoveryExport.java
@@ -20,7 +20,6 @@ package org.apache.aries.rsa.itests.felix;
 
 
 import static org.ops4j.pax.exam.CoreOptions.streamBundle;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 
 import java.io.ByteArrayInputStream;
 import java.util.List;
@@ -32,6 +31,7 @@ import org.apache.aries.rsa.discovery.endpoint.EndpointDescriptionParser;
 import org.apache.aries.rsa.discovery.endpoint.PropertiesMapper;
 import org.apache.aries.rsa.examples.echotcp.api.EchoService;
 import org.apache.aries.rsa.spi.DistributionProvider;
+import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
 import org.apache.zookeeper.ZooKeeper;
@@ -40,7 +40,6 @@ import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Configuration;
-import org.ops4j.pax.exam.CoreOptions;
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.junit.PaxExam;
 import org.osgi.service.remoteserviceadmin.EndpointDescription;
@@ -55,17 +54,11 @@ public class TestDiscoveryExport extends RsaTestBase {
 
     @Configuration
     public static Option[] configure() throws Exception {
-
         return new Option[] {
-                CoreOptions.junitBundles(),
-                systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("INFO"),
                 RsaTestBase.rsaTcpZookeeper(),
-                mvn("org.apache.felix", "org.apache.felix.scr"),
-                mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.api"),
-                mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.service"),
+                RsaTestBase.echoTcpService(),
                 localRepo(),
                 streamBundle(configBundleServer())
-                //CoreOptions.vmOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005")
         };
     }
 
@@ -74,17 +67,29 @@ public class TestDiscoveryExport extends RsaTestBase {
         String zkPort = bundleContext.getProperty("zkPort");
         ZooKeeper zk = new ZooKeeper("localhost:" + zkPort, 1000, new DummyWatcher());
         assertNodeExists(zk, GREETER_ZOOKEEPER_NODE, 10000);
-        List<String> children = zk.getChildren(GREETER_ZOOKEEPER_NODE, false);
-        EndpointDescriptionParser parser = new EndpointDescriptionParser();
-        String path = children.get(0);
-        byte[] data = zk.getData(GREETER_ZOOKEEPER_NODE + "/" + path, false, null);
-        List<EndpointDescriptionType> epdList = parser.getEndpointDescriptions(new ByteArrayInputStream(data));
+        String endpointPath = getEndpointPath(zk, GREETER_ZOOKEEPER_NODE);
+        EndpointDescription epd = getEndpointDescription(zk, endpointPath);
+        zk.close();
+
+        EchoService service = (EchoService)tcpProvider
+            .importEndpoint(EchoService.class.getClassLoader(), 
+                            bundleContext, new Class[]{EchoService.class}, epd);
+        Assert.assertEquals("test", service.echo("test"));
+    }
+
+    private EndpointDescription getEndpointDescription(ZooKeeper zk, String endpointPath)
+        throws KeeperException, InterruptedException {
+        byte[] data = zk.getData(endpointPath, false, null);
+        ByteArrayInputStream is = new ByteArrayInputStream(data);
+        List<EndpointDescriptionType> epdList = new EndpointDescriptionParser().getEndpointDescriptions(is);
         Map<String, Object> props = new PropertiesMapper().toProps(epdList.get(0).getProperty());
         EndpointDescription epd = new EndpointDescription(props);
-        EchoService service = (EchoService)tcpProvider.importEndpoint(EchoService.class.getClassLoader(), bundleContext, new Class[]{EchoService.class}, epd);
-        String answer = service.echo("test");
-        Assert.assertEquals("test", answer);
-        zk.close();
+        return epd;
+    }
+
+    private String getEndpointPath(ZooKeeper zk, String servicePath) throws KeeperException, InterruptedException {
+        List<String> children = zk.getChildren(servicePath, false);
+        return servicePath + "/" + children.iterator().next();
     }
 
     private void assertNodeExists(ZooKeeper zk, String zNode, int timeout) {

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestRoundTrip.java
----------------------------------------------------------------------
diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestRoundTrip.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestRoundTrip.java
index d20c808..e6c19a3 100644
--- a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestRoundTrip.java
+++ b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/TestRoundTrip.java
@@ -19,6 +19,7 @@ package org.apache.aries.rsa.itests.felix;
  */
 
 
+import static org.junit.Assert.assertEquals;
 import static org.ops4j.pax.exam.CoreOptions.streamBundle;
 import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 
@@ -27,7 +28,6 @@ import java.io.IOException;
 import javax.inject.Inject;
 
 import org.apache.aries.rsa.examples.echotcp.api.EchoService;
-import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Configuration;
@@ -53,9 +53,7 @@ public class TestRoundTrip extends RsaTestBase {
     private static Option[] remoteConfig() throws IOException {
         return new Option[] {
             rsaTcpZookeeper(),
-            mvn("org.apache.felix", "org.apache.felix.scr"),
-            mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.api"),
-            mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.service"),
+            echoTcpService(),
             streamBundle(RsaTestBase.configBundleServer()),
             systemProperty("zkPort").value("15201")
         };
@@ -66,11 +64,7 @@ public class TestRoundTrip extends RsaTestBase {
         startRemote();
         return new Option[] {
                 rsaTcpZookeeper(),
-                mvn("org.apache.felix", "org.apache.felix.scr"),
-                mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.api"),
-                
-                // Consumer is needed to trigger service import. Pax exam inject does not work for it
-                mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.consumer"),
+                RsaTestBase.echoTcpConsumer(),
                 streamBundle(RsaTestBase.configBundleConsumer()),
                 
         };
@@ -78,8 +72,7 @@ public class TestRoundTrip extends RsaTestBase {
 
     @Test
     public void testCall() throws Exception {
-        String answer = echoService.echo("test");
-        Assert.assertEquals("test", answer);
+        assertEquals("test", echoService.echo("test"));
     }
 
     public static void shutdownRemote() {

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/ZookeeperDiscoveryConfigurer.java
----------------------------------------------------------------------
diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/ZookeeperDiscoveryConfigurer.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/ZookeeperDiscoveryConfigurer.java
deleted file mode 100644
index e12a988..0000000
--- a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/ZookeeperDiscoveryConfigurer.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.apache.aries.rsa.itests.felix;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.cm.ConfigurationAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class ZookeeperDiscoveryConfigurer implements BundleActivator {
-
-    @Override
-    public void start(BundleContext context) throws Exception {
-        ServiceTracker<ConfigurationAdmin, Object> tracker = new ServiceTracker<>(context, ConfigurationAdmin.class, null);
-        tracker.open();
-        ConfigurationAdmin configAdmin = (ConfigurationAdmin)tracker.getService();
-        Dictionary<String, Object> cliProps = new Hashtable<String, Object>();
-        cliProps.put("zookeeper.host", "127.0.0.1");
-        cliProps.put("zookeeper.port", "" + context.getProperty("zkPort"));
-        configAdmin.getConfiguration("org.apache.aries.rsa.discovery.zookeeper", null).update(cliProps);
-        tracker.close();
-    }
-
-    @Override
-    public void stop(BundleContext context) throws Exception {
-    }
-}

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/ZookeeperServerConfigurer.java
----------------------------------------------------------------------
diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/ZookeeperServerConfigurer.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/ZookeeperServerConfigurer.java
deleted file mode 100644
index e859207..0000000
--- a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/ZookeeperServerConfigurer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.aries.rsa.itests.felix;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.cm.ConfigurationAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class ZookeeperServerConfigurer implements BundleActivator  {
-
-    @Override
-    public void start(BundleContext context) throws Exception {
-        ServiceTracker<ConfigurationAdmin, Object> tracker = new ServiceTracker<>(context, ConfigurationAdmin.class, null);
-        tracker.open();
-        ConfigurationAdmin configAdmin = (ConfigurationAdmin)tracker.getService();
-        String zkPort = context.getProperty("zkPort");
-        Dictionary<String, Object> svrProps = new Hashtable<String, Object>();
-        svrProps.put("clientPort", zkPort);
-        configAdmin.getConfiguration("org.apache.aries.rsa.discovery.zookeeper.server", null).update(svrProps);
-        Dictionary<String, Object> cliProps = new Hashtable<String, Object>();
-        cliProps.put("zookeeper.host", "127.0.0.1");
-        cliProps.put("zookeeper.port", "" + zkPort);
-        configAdmin.getConfiguration("org.apache.aries.rsa.discovery.zookeeper", null).update(cliProps);
-        tracker.close();
-    }
-
-    @Override
-    public void stop(BundleContext context) throws Exception {
-    }
-}

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/helpers/ZookeeperDiscoveryConfigurer.java
----------------------------------------------------------------------
diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/helpers/ZookeeperDiscoveryConfigurer.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/helpers/ZookeeperDiscoveryConfigurer.java
new file mode 100644
index 0000000..33f7d8b
--- /dev/null
+++ b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/helpers/ZookeeperDiscoveryConfigurer.java
@@ -0,0 +1,28 @@
+package org.apache.aries.rsa.itests.felix.helpers;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.cm.ConfigurationAdmin;
+import org.osgi.util.tracker.ServiceTracker;
+
+public class ZookeeperDiscoveryConfigurer implements BundleActivator {
+
+    @Override
+    public void start(BundleContext context) throws Exception {
+        ServiceTracker<ConfigurationAdmin, Object> tracker = new ServiceTracker<>(context, ConfigurationAdmin.class, null);
+        tracker.open();
+        ConfigurationAdmin configAdmin = (ConfigurationAdmin)tracker.getService();
+        Dictionary<String, Object> cliProps = new Hashtable<String, Object>();
+        cliProps.put("zookeeper.host", "127.0.0.1");
+        cliProps.put("zookeeper.port", "" + context.getProperty("zkPort"));
+        configAdmin.getConfiguration("org.apache.aries.rsa.discovery.zookeeper", null).update(cliProps);
+        tracker.close();
+    }
+
+    @Override
+    public void stop(BundleContext context) throws Exception {
+    }
+}

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/0eb4af93/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/helpers/ZookeeperServerConfigurer.java
----------------------------------------------------------------------
diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/helpers/ZookeeperServerConfigurer.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/helpers/ZookeeperServerConfigurer.java
new file mode 100644
index 0000000..3d4e90c
--- /dev/null
+++ b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/helpers/ZookeeperServerConfigurer.java
@@ -0,0 +1,32 @@
+package org.apache.aries.rsa.itests.felix.helpers;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.cm.ConfigurationAdmin;
+import org.osgi.util.tracker.ServiceTracker;
+
+public class ZookeeperServerConfigurer implements BundleActivator  {
+
+    @Override
+    public void start(BundleContext context) throws Exception {
+        ServiceTracker<ConfigurationAdmin, Object> tracker = new ServiceTracker<>(context, ConfigurationAdmin.class, null);
+        tracker.open();
+        ConfigurationAdmin configAdmin = (ConfigurationAdmin)tracker.getService();
+        String zkPort = context.getProperty("zkPort");
+        Dictionary<String, Object> svrProps = new Hashtable<String, Object>();
+        svrProps.put("clientPort", zkPort);
+        configAdmin.getConfiguration("org.apache.aries.rsa.discovery.zookeeper.server", null).update(svrProps);
+        Dictionary<String, Object> cliProps = new Hashtable<String, Object>();
+        cliProps.put("zookeeper.host", "127.0.0.1");
+        cliProps.put("zookeeper.port", "" + zkPort);
+        configAdmin.getConfiguration("org.apache.aries.rsa.discovery.zookeeper", null).update(cliProps);
+        tracker.close();
+    }
+
+    @Override
+    public void stop(BundleContext context) throws Exception {
+    }
+}