@Ignore
public void testCellarFeaturesModule() throws InterruptedException {
installCellar();
createCellarChild("child1");
Thread.sleep(DEFAULT_TIMEOUT);
ClusterManager clusterManager = getOsgiService(ClusterManager.class);
assertNotNull(clusterManager);
System.err.println(executeCommand("admin:list"));
String eventadminFeatureStatus = executeCommand("admin:connect child1 features:list | grep eventadmin");
System.err.println(eventadminFeatureStatus);
assertTrue(eventadminFeatureStatus.startsWith(UNINSTALLED));
//Test feature sync - install
System.err.println(executeCommand("features:install eventadmin"));
Thread.sleep(2000);
eventadminFeatureStatus = executeCommand("admin:connect child1 features:list | grep eventadmin");
System.err.println(eventadminFeatureStatus);
assertTrue(eventadminFeatureStatus.startsWith(INSTALLED));
//Test feature sync - uninstall
System.err.println(executeCommand("features:uninstall eventadmin"));
Thread.sleep(2000);
eventadminFeatureStatus = executeCommand("admin:connect child1 features:list | grep eventadmin");
System.err.println(eventadminFeatureStatus);
assertTrue(eventadminFeatureStatus.startsWith(UNINSTALLED));
//Test feature command - install
System.err.println(executeCommand("cluster:feature-install default eventadmin"));
Thread.sleep(2000);
eventadminFeatureStatus = executeCommand("admin:connect child1 features:list | grep eventadmin");
System.err.println(eventadminFeatureStatus);
assertTrue(eventadminFeatureStatus.startsWith(INSTALLED));
//Test feature command - uninstall
System.err.println(executeCommand("cluster:feature-uninstall default eventadmin"));
Thread.sleep(2000);
eventadminFeatureStatus = executeCommand("admin:connect child1 features:list | grep eventadmin");
System.err.println(eventadminFeatureStatus);
assertTrue(eventadminFeatureStatus.startsWith(UNINSTALLED));
//Test feature command - install - before a node joins
System.err.println(executeCommand("cluster:feature-install testgroup eventadmin"));
System.err.println(executeCommand("cluster:group-set testgroup " + getNodeIdOfChild("child1")));
Thread.sleep(2000);
eventadminFeatureStatus = executeCommand("admin:connect child1 features:list | grep eventadmin");
System.err.println(eventadminFeatureStatus);
assertTrue(eventadminFeatureStatus.startsWith(INSTALLED));
Node localNode = clusterManager.getNode();
Set<Node> nodes = clusterManager.listNodes();
System.err.println(executeCommand("cluster:node-list"));
assertTrue("There should be at least 2 cellar nodes running", 2 <= nodes.size());
}