Clean up dependencies and features
authorStephen Kitt <skitt@redhat.com>
Wed, 23 Sep 2015 16:24:32 +0000 (18:24 +0200)
committerFlavio Fernandes <ffernand@redhat.com>
Wed, 23 Sep 2015 19:33:24 +0000 (19:33 +0000)
Remove more plugin-related code.
Correct a couple of netconf dependencies.
Remove obsolete dependencies on controller features which are no
longer provided upstream.

Change-Id: Ia8f68200e997c11375414cd3071fe605b9025cd4
Signed-off-by: Stephen Kitt <skitt@redhat.com>
13 files changed:
commons/integrationtest/pom.xml
commons/parent/pom.xml
features/ovsdb/pom.xml
integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/ConfigurationBundles.java [deleted file]
integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/OvsdbIntegrationTestBase.java [deleted file]
integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/plugin/OvsdbPluginIT.java [deleted file]
integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/plugin/OvsdbPluginV3IT.java [deleted file]
plugin-shell/pom.xml [deleted file]
plugin-shell/src/main/java/org/opendaylight/ovsdb/plugin/shell/PrintCache.java [deleted file]
plugin-shell/src/main/resources/OSGI-INF/blueprint/blueprint.xml [deleted file]
plugin-shell/src/test/java/org/opendaylight/ovsdb/plugin/shell/PrintCacheTest.java [deleted file]
plugin-shell/src/test/resources/org/opendaylight/ovsdb/plugin/shell/test_schema.json [deleted file]
pom.xml

index 8db0f35642eb753f3e2a78e47b245c6dd52f0fbc..3c13a002eb9fad0d5c35c5c937e8e4fde2de419c 100644 (file)
@@ -47,10 +47,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <properties>
     <!-- Overrides -->
     <!-- Controller Dependencies for Pax Exam -->
-    <arphandler.version>0.7.0-SNAPSHOT</arphandler.version>
-    <bundlescanner.implementation.version>0.6.0-SNAPSHOT</bundlescanner.implementation.version>
-    <bundlescanner.version>0.6.0-SNAPSHOT</bundlescanner.version>
-    <clustering.services_implementation.version>0.6.0-SNAPSHOT</clustering.services_implementation.version>
     <configuration.implementation.version>0.6.0-SNAPSHOT</configuration.implementation.version>
     <configuration.version>0.6.0-SNAPSHOT</configuration.version>
     <connectionmanager.version>0.3.0-SNAPSHOT</connectionmanager.version>
@@ -407,185 +403,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>org.jboss.spec.javax.transaction</groupId>
       <artifactId>jboss-transaction-api_1.1_spec</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>arphandler</artifactId>
-      <version>${arphandler.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>bundlescanner</artifactId>
-      <version>${bundlescanner.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>bundlescanner.implementation</artifactId>
-      <version>${bundlescanner.implementation.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>clustering.services</artifactId>
-      <version>${clustering.services.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>clustering.services-implementation</artifactId>
-      <version>${clustering.services_implementation.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>commons.northbound</artifactId>
-      <version>${northbound.commons.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>configuration</artifactId>
-      <version>${configuration.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>configuration.implementation</artifactId>
-      <version>${configuration.implementation.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>connectionmanager</artifactId>
-      <version>${connectionmanager.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>connectionmanager.implementation</artifactId>
-      <version>${connectionmanager.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>containermanager</artifactId>
-      <version>${containermanager.it.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>flowprogrammer.northbound</artifactId>
-      <version>${flowprogrammer.northbound.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>forwarding.staticrouting</artifactId>
-      <version>${forwarding.staticrouting}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>forwarding.staticrouting.northbound</artifactId>
-      <version>${forwarding.staticrouting.northbound.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>forwardingrulesmanager</artifactId>
-      <version>${forwardingrulesmanager.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>forwardingrulesmanager.implementation</artifactId>
-      <version>${forwardingrulesmanager.implementation.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>hosttracker</artifactId>
-      <version>${hosttracker.api.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>hosttracker.implementation</artifactId>
-      <version>${hosttracker.implementation.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>hosttracker.northbound</artifactId>
-      <version>${hosttracker.northbound.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>logging.bridge</artifactId>
-      <version>${logging.bridge.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>routing.dijkstra_implementation</artifactId>
-      <version>${routing.dijkstra_implementation.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal</artifactId>
-      <version>${sal.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal.implementation</artifactId>
-      <version>${sal.implementation.version}</version>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal-binding-it</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>security</artifactId>
-      <version>${security.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>statistics.northbound</artifactId>
-      <version>${statistics.northbound.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>statisticsmanager</artifactId>
-      <version>${statisticsmanager.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>statisticsmanager.implementation</artifactId>
-      <version>${statisticsmanager.implementation.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>subnets.northbound</artifactId>
-      <version>${subnets.northbound.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>switchmanager</artifactId>
-      <version>${switchmanager.api.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>switchmanager.implementation</artifactId>
-      <version>${switchmanager.implementation.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>switchmanager.northbound</artifactId>
-      <version>${switchmanager.northbound.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>topology.northbound</artifactId>
-      <version>${topology.northbound.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>topologymanager</artifactId>
-      <version>${topologymanager.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>usermanager</artifactId>
-      <version>${usermanager.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>usermanager.implementation</artifactId>
-      <version>${usermanager.implementation.version}</version>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.controller.thirdparty</groupId>
       <artifactId>com.sun.jersey.jersey-servlet</artifactId>
@@ -694,14 +515,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>org.opendaylight.ovsdb</groupId>
       <artifactId>openstack.net-virt</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>ovsdb-plugin-compatibility-layer</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>plugin</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.ovsdb</groupId>
       <artifactId>schema.hardwarevtep</artifactId>
index 0fdc9071ad6a454486736bea8564a36002143d81..5cb6e2657eddaf330982242a7780e0ff9e3e6a40 100644 (file)
@@ -80,7 +80,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <sonar.jacoco.itReportPath>${root.directory}/target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
     <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
     <!-- ODL Dependency Versions -->
-    <clustering.services.version>0.7.0-SNAPSHOT</clustering.services.version>
     <containermanager.version>0.7.0-SNAPSHOT</containermanager.version>
     <controller.config.version>0.4.0-SNAPSHOT</controller.config.version>
     <forwardingrulesmanager.version>0.8.0-SNAPSHOT</forwardingrulesmanager.version>
@@ -153,11 +152,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <artifactId>config-api</artifactId>
         <version>${controller.config.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>clustering.services</artifactId>
-        <version>${clustering.services.version}</version>
-      </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>containermanager</artifactId>
index 8fcb70cc93ac80da0ae1266a7c4225f17d0f8b23..1e8e2fd6651a535e7f1eb0d36183cc31ccd263f2 100644 (file)
@@ -45,7 +45,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   </scm>
 
   <properties>
-    <dummy-console.version>1.3.0-SNAPSHOT</dummy-console.version>
     <odl.karaf.base.version>1.6.0-SNAPSHOT</odl.karaf.base.version>
     <mdsal.version>1.3.0-SNAPSHOT</mdsal.version>
     <io.netty.version>3.8.0.Final</io.netty.version>
@@ -221,11 +220,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <artifactId>org.eclipse.osgi.services</artifactId>
       <version>3.3.100.v20120522-1822</version>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>dummy-console</artifactId>
-      <version>${dummy-console.version}</version>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.neutron</groupId>
       <artifactId>features-neutron</artifactId>
@@ -271,21 +265,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <type>xml</type>
       <classifier>config</classifier>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>plugin</artifactId>
-      <version>${ovsdb.plugin.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>ovsdb-plugin-compatibility-layer</artifactId>
-      <version>${ovsdb.plugin.compatibility.layer.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>plugin-shell</artifactId>
-      <version>${plugin.shell.version}</version>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.ovsdb</groupId>
       <artifactId>schema.openvswitch</artifactId>
diff --git a/integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/ConfigurationBundles.java b/integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/ConfigurationBundles.java
deleted file mode 100644 (file)
index 0708a9c..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- *  Authors : Dave Tucker
- */
-
-package org.opendaylight.ovsdb.integrationtest;
-
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.systemPackages;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
-import org.opendaylight.controller.test.sal.binding.it.TestHelper;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.options.DefaultCompositeOption;
-
-
-public class ConfigurationBundles {
-
-    public static Option controllerBundles() {
-        return new DefaultCompositeOption(
-                systemPackages("sun.reflect", "sun.reflect.misc", "sun.misc"),
-                mavenBundle("ch.qos.logback", "logback-classic").versionAsInProject(),
-                mavenBundle("ch.qos.logback", "logback-core").versionAsInProject(),
-                mavenBundle("com.google.code.gson", "gson").versionAsInProject(),
-                mavenBundle("com.google.guava", "guava").versionAsInProject(),
-                mavenBundle("eclipselink", "javax.resource").versionAsInProject(),
-                mavenBundle("equinoxSDK381", "javax.servlet").versionAsInProject(),
-                mavenBundle("org.apache.felix", "org.apache.felix.gogo.command").versionAsInProject(),
-                mavenBundle("org.apache.felix", "org.apache.felix.gogo.runtime").versionAsInProject(),
-                mavenBundle("org.apache.felix", "org.apache.felix.gogo.shell").versionAsInProject(),
-                mavenBundle("equinoxSDK381", "org.eclipse.equinox.console").versionAsInProject(),
-                mavenBundle("equinoxSDK381", "org.eclipse.equinox.ds").versionAsInProject(),
-                mavenBundle("equinoxSDK381", "org.eclipse.equinox.util").versionAsInProject(),
-                mavenBundle("equinoxSDK381","org.eclipse.osgi.services").versionAsInProject(),
-                mavenBundle("org.apache.commons", "commons-lang3").versionAsInProject(),
-                mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager").versionAsInProject(),
-                mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager.shell").versionAsInProject(),
-                mavenBundle("org.slf4j", "slf4j-api").versionAsInProject()
-        );
-    }
-
-        public static Option ovsdbLibraryBundles() {
-        return new DefaultCompositeOption(
-                mavenBundle("io.netty", "netty-buffer").versionAsInProject(),
-                mavenBundle("io.netty", "netty-codec").versionAsInProject(),
-                mavenBundle("io.netty", "netty-common").versionAsInProject(),
-                mavenBundle("io.netty", "netty-handler").versionAsInProject(),
-                mavenBundle("io.netty", "netty-transport").versionAsInProject(),
-                mavenBundle("com.fasterxml.jackson.core", "jackson-annotations").versionAsInProject(),
-                mavenBundle("com.fasterxml.jackson.core", "jackson-core").versionAsInProject(),
-                mavenBundle("com.fasterxml.jackson.core", "jackson-databind").versionAsInProject(),
-                mavenBundle("javax.portlet", "portlet-api").versionAsInProject(),
-                mavenBundle("com.google.guava", "guava").versionAsInProject(),
-                mavenBundle("org.opendaylight.ovsdb", "utils.servicehelper").versionAsInProject(),
-                mavenBundle("org.opendaylight.ovsdb", "library").versionAsInProject()
-        );
-    }
-
-    public static Option ovsdbPluginBundles() {
-        return new DefaultCompositeOption(
-                mavenBundle("org.opendaylight.ovsdb", "plugin").versionAsInProject(),
-                mavenBundle("org.mockito", "mockito-all").versionAsInProject()
-        );
-    }
-
-    public static Option ovsdbDefaultSchemaBundles() {
-        return new DefaultCompositeOption(
-                mavenBundle("org.opendaylight.ovsdb", "schema.openvswitch").versionAsInProject(),
-                mavenBundle("org.opendaylight.ovsdb", "schema.hardwarevtep").versionAsInProject()
-        );
-    }
-
-        public static Option mdsalBundles() {
-        return new DefaultCompositeOption(
-                TestHelper.configMinumumBundles(),
-                TestHelper.baseModelBundles(),
-                TestHelper.flowCapableModelBundles(),
-                TestHelper.junitAndMockitoBundles(),
-                TestHelper.bindingAwareSalBundles()
-        );
-    }
-}
diff --git a/integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/OvsdbIntegrationTestBase.java b/integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/OvsdbIntegrationTestBase.java
deleted file mode 100644 (file)
index 3febeb3..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2014 Red Hat, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal, Sam Hague
- */
-package org.opendaylight.ovsdb.integrationtest;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeoutException;
-
-import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.ovsdb.plugin.api.ConnectionConstants;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-
-import org.junit.Rule;
-import org.junit.rules.TestRule;
-import org.junit.rules.TestWatcher;
-import org.junit.runner.Description;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public abstract class OvsdbIntegrationTestBase {
-    private static final Logger LOG = LoggerFactory.getLogger(OvsdbIntegrationTestBase.class);
-    protected final static String IDENTIFIER = "TEST";
-    protected final static String SERVER_IPADDRESS = "ovsdbserver.ipaddress";
-    protected final static String SERVER_PORT = "ovsdbserver.port";
-    protected final static String CONNECTION_TYPE = "ovsdbserver.connection";
-    protected final static String CONNECTION_TYPE_ACTIVE = "active";
-    protected final static String CONNECTION_TYPE_PASSIVE = "passive";
-    protected final static int CONNECTION_INIT_TIMEOUT = 10000;
-    protected final static String DEFAULT_SERVER_PORT = "6640";
-
-    private static boolean bundlesReady = false;
-
-    public Properties loadProperties() {
-        return System.getProperties();
-    }
-
-    public Node getPluginTestConnection() throws IOException, InterruptedException, ExecutionException, TimeoutException {
-        Properties props = loadProperties();
-        String addressStr = props.getProperty(SERVER_IPADDRESS);
-        String portStr = props.getProperty(SERVER_PORT, DEFAULT_SERVER_PORT);
-        String connectionType = props.getProperty(CONNECTION_TYPE, "active");
-        Node node = null;
-
-        OvsdbConnectionService
-                connection = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-        // If the connection type is active, controller connects to the ovsdb-server
-        if (connectionType.equalsIgnoreCase(CONNECTION_TYPE_ACTIVE)) {
-            if (addressStr == null) {
-                fail(usage());
-            }
-
-            Map<ConnectionConstants, String> params = new HashMap<>();
-            params.put(ConnectionConstants.ADDRESS, addressStr);
-            params.put(ConnectionConstants.PORT, portStr);
-            node = connection.connect(IDENTIFIER, params);
-        }  else if (connectionType.equalsIgnoreCase(CONNECTION_TYPE_PASSIVE)) {
-            // Wait for CONNECTION_INIT_TIMEOUT for the Passive connection to be initiated by the ovsdb-server.
-            Thread.sleep(CONNECTION_INIT_TIMEOUT);
-            List<Node> nodes = connection.getNodes();
-            assertNotNull(nodes);
-            assertTrue(nodes.size() > 0);
-            node = nodes.get(0);
-        }
-
-        if (node != null) {
-            LOG.info("getPluginTestConnection: Successfully connected to {}", node);
-        } else {
-            fail("Connection parameter (" + CONNECTION_TYPE + ") must be active or passive");
-        }
-        return node;
-    }
-
-    protected String usage() {
-        return "Integration Test needs a valid connection configuration as follows :\n" +
-               "active connection : mvn -Pintegrationtest -Dovsdbserver.ipaddress=x.x.x.x -Dovsdbserver.port=yyyy verify\n"+
-               "passive connection : mvn -Pintegrationtest -Dovsdbserver.connection=passive verify\n";
-    }
-
-    public String stateToString(int state) {
-        switch (state) {
-            case Bundle.ACTIVE:
-                return "ACTIVE";
-            case Bundle.INSTALLED:
-                return "INSTALLED";
-            case Bundle.RESOLVED:
-                return "RESOLVED";
-            case Bundle.UNINSTALLED:
-                return "UNINSTALLED";
-            default:
-                return "Not CONVERTED";
-        }
-    }
-
-    public void areWeReady(BundleContext bc) throws InterruptedException {
-        if (bundlesReady) {
-            LOG.info("Bundles already loaded");
-            return;
-        }
-        assertNotNull(bc);
-        boolean debugit = false;
-        Bundle b[] = bc.getBundles();
-        for (Bundle element : b) {
-            int state = element.getState();
-            if (state != Bundle.ACTIVE && state != Bundle.RESOLVED) {
-                LOG.info("Bundle:" + element.getSymbolicName() + " state:"
-                        + stateToString(state));
-                debugit = true;
-            }
-        }
-        if (debugit) {
-            LOG.debug("Do some debugging because some bundle is unresolved");
-            Thread.sleep(600000);
-        }
-
-        // Assert if true, if false we are good to go!
-        assertFalse("There is a problem with loading the bundles.", debugit);
-        bundlesReady = true;
-        LOG.info("Bundles loaded");
-    }
-
-    /*
-     * Method adds a log as each test method starts and finishes. This is useful when
-     * the test suite is used because the suites only print a final summary.
-     */
-    @Rule
-    public TestRule watcher = new TestWatcher() {
-        @Override
-        protected void starting(Description description) {
-            LOG.info("TestWatcher: Starting test: {}",
-                     description.getDisplayName());
-        }
-
-        @Override
-        protected void finished(Description description) {
-            LOG.info("TestWatcher: Finished test: {}", description.getDisplayName());
-        }
-    };
-}
diff --git a/integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/plugin/OvsdbPluginIT.java b/integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/plugin/OvsdbPluginIT.java
deleted file mode 100644 (file)
index 41582a7..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-/*
- * Copyright (c) 2014 Red Hat, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovsdb.integrationtest.plugin;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.propagateSystemProperty;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
-import org.junit.After;
-import org.junit.Ignore;
-import org.opendaylight.ovsdb.integrationtest.ConfigurationBundles;
-import org.opendaylight.ovsdb.integrationtest.OvsdbIntegrationTestBase;
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.OvsdbConnectionInfo;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService;
-import org.opendaylight.ovsdb.plugin.api.Status;
-import org.opendaylight.ovsdb.plugin.api.StatusWithUuid;
-import org.opendaylight.ovsdb.schema.openvswitch.Bridge;
-import org.opendaylight.ovsdb.schema.openvswitch.OpenVSwitch;
-import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Sets;
-
-import org.apache.felix.dm.Component;
-import org.apache.felix.dm.DependencyManager;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.ops4j.pax.exam.Configuration;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.PaxExam;
-import org.ops4j.pax.exam.util.PathUtils;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentMap;
-
-import javax.inject.Inject;
-
-@Ignore
-@RunWith(PaxExam.class)
-public class OvsdbPluginIT extends OvsdbIntegrationTestBase {
-    private static final Logger LOG = LoggerFactory.getLogger(OvsdbPluginIT.class);
-    @Inject
-    private BundleContext bc;
-    private OvsdbConfigurationService ovsdbConfigurationService = null;
-
-    @Inject
-    private OvsdbInventoryService ovsdbInventoryService;
-
-    private Node node = null;
-    private OvsdbClient client = null;
-
-    // Configure the OSGi container
-    @Configuration
-    public Option[] config() {
-        return options(
-            //
-            systemProperty("logback.configurationFile").value(
-                    "file:" + PathUtils.getBaseDir()
-                    + "/src/test/resources/logback.xml"
-            ),
-            // To start OSGi console for inspection remotely
-            systemProperty("osgi.console").value("2401"),
-
-            propagateSystemProperty("ovsdbserver.ipaddress"),
-            propagateSystemProperty("ovsdbserver.port"),
-
-            ConfigurationBundles.mdsalBundles(),
-            ConfigurationBundles.controllerBundles(),
-            ConfigurationBundles.ovsdbLibraryBundles(),
-            ConfigurationBundles.ovsdbDefaultSchemaBundles(),
-            ConfigurationBundles.ovsdbPluginBundles()
-        );
-    }
-
-    @Before
-    public void areWeReady() throws InterruptedException {
-        assertNotNull(bc);
-        boolean debugit = false;
-        Bundle b[] = bc.getBundles();
-        for (Bundle element : b) {
-            int state = element.getState();
-            if (state != Bundle.ACTIVE && state != Bundle.RESOLVED) {
-                LOG.info("Bundle: {} state: {}", element.getSymbolicName(), stateToString(state));
-                debugit = true;
-            }
-        }
-        if (debugit) {
-            LOG.debug("Do some debugging because some bundle is unresolved");
-        }
-
-        assertFalse(debugit);
-        try {
-            node = getPluginTestConnection();
-        } catch (Exception e) {
-            fail("Exception : "+e.getMessage());
-        }
-        this.ovsdbConfigurationService = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class, this);
-    }
-
-    @Test
-    public void apiTests() throws Exception {
-        Thread.sleep(5000);
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-
-        // Check for the ovsdb Connection as seen by the Plugin layer
-        assertNotNull(connectionService.getNodes());
-        assertTrue(connectionService.getNodes().size() > 0);
-        Node node = connectionService.getNodes().get(0);
-        Connection connection = connectionService.getConnection(node);
-        OvsdbConnectionInfo connectionInfo = connection.getClient().getConnectionInfo();
-        String identifier = IDENTIFIER;
-        if (connectionInfo.getType().equals(OvsdbConnectionInfo.ConnectionType.PASSIVE)) {
-            identifier = connectionInfo.getRemoteAddress().getHostAddress()+":"+connectionInfo.getRemotePort();
-        }
-        assertEquals(node, connectionService.getNode("OVS|" + identifier));
-        System.out.println("Nodes = "+ connectionService.getNodes());
-        /*
-         * Test sequence :
-         * 1. Print Cache and Assert to make sure the bridge is not created yet.
-         * 2. Create a bridge with a valid parent_uuid & Assert to make sure the return status is success.
-         * 3. Assert to make sure the bridge is created with a valid Uuid.
-         * 4. Delete the bridge & Assert to make sure the return status is success.
-         * 5. Assert to make sure the bridge is deleted
-         */
-
-        this.endToEndApiTest(connection, getOpenVSwitchTableUUID(connection));
-
-        /*
-         * Repeat all of the above tests without the parent_uuid
-         */
-
-        this.endToEndApiTest(connection, null);
-    }
-
-    @Test
-    public void testInventoryListeners() throws UnknownHostException {
-        DependencyManager dm = new DependencyManager(bc);
-
-        OvsdbInventoryListener listenerA = Mockito.mock(FakeListener.class);
-        OvsdbInventoryListener listenerB = Mockito.mock(FakeListener.class);
-
-        Component componentA = dm.createComponent();
-        componentA.setInterface(OvsdbInventoryListener.class.getName(), null);
-        componentA.setImplementation(listenerA);
-        dm.add(componentA);
-
-        Component componentB = dm.createComponent();
-        componentB.setInterface(OvsdbInventoryListener.class.getName(), null);
-        componentB.setImplementation(listenerB);
-        dm.add(componentB);
-
-        NodeId nodeId = new NodeId("OVS|10.10.10.10:65342");
-        NodeKey nodeKey = new NodeKey(nodeId);
-        node = new NodeBuilder()
-                .setId(nodeId)
-                .setKey(nodeKey)
-                .build();
-        InetAddress address = InetAddress.getByName("10.10.10.10");
-        int port = 65342;
-
-        // Trigger event
-        ovsdbInventoryService.notifyNodeAdded(node, address, port);
-
-        Mockito.verify(listenerA, Mockito.times(1)).nodeAdded(node, address, port);
-        Mockito.verify(listenerB, Mockito.times(1)).nodeAdded(node, address, port);
-
-        dm.remove(componentA);
-        dm.remove(componentB);
-
-    }
-
-    @Test
-    public void testSetOFControllers() throws Exception {
-        Thread.sleep(5000);
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-
-        // 1. Check for the ovsdb Connection as seen by the Plugin layer
-        assertNotNull(connectionService.getNodes());
-        assertTrue(connectionService.getNodes().size() > 0);
-        Node node = connectionService.getNodes().get(0);
-        Connection connection = connectionService.getConnection(node);
-        assertNotNull(connection);
-
-        // 2. Create a bridge with a valid parent_uuid & Assert to make sure the return status is success.
-        final StatusWithUuid status = insertBridge(connection, getOpenVSwitchTableUUID(connection));
-        assertTrue(status.isSuccess());
-
-        // Thread.sleep(3000);  // wait for _real_ controller to be added to bridge... or not (see below **)
-
-        // 3. Test against bug 960: Add same controller multiple times and make sure we do not end up with duplicates.
-        ovsdbConfigurationService.setOFController(node, status.getUuid().toString());
-        ovsdbConfigurationService.setOFController(node, status.getUuid().toString());
-        ovsdbConfigurationService.setOFController(node, status.getUuid().toString());
-        ovsdbConfigurationService.setOFController(node, status.getUuid().toString());
-
-        Row bridgeRow = ovsdbConfigurationService.getRow(node,
-                                                  ovsdbConfigurationService.getTableName(node, Bridge.class),
-                                                  status.getUuid().toString());
-        assertNotNull(bridgeRow);
-        Bridge bridge = ovsdbConfigurationService.getTypedRow(node, Bridge.class, bridgeRow);
-        assertTrue(bridge.getUuid().equals(status.getUuid()));
-
-        final int currControllersSize = bridge.getControllerColumn().getData().size();
-
-        LOG.debug("Bridge has {} controllers", currControllersSize);
-
-        // ** Note: we assert against 2 or less -- instead of 1 -- to account for the _real_ controller's connection
-        assertTrue( "Too few controllers added to bridge object. Is this bug 960?", currControllersSize >= 1 );
-        assertTrue( "Too many controllers added to bridge object. Is this bug 960?", currControllersSize <= 2 );
-
-        // Removal of bridge created in this test is done via tearDown(). It is done that way, so cleanup is ran
-        // even if test fails.
-    }
-
-    @After
-    public void tearDown() throws InterruptedException {
-        Thread.sleep(5000);
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-
-        if (connectionService.getNodes() == null) {
-            return;  // no nodes: noop
-        }
-
-        int bridgesRemoved = 0;
-        List<Node> nodes = connectionService.getNodes();
-        for (Node node : nodes) {
-            Map<String, Row> bridgeRows =
-                    ovsdbConfigurationService.getRows(node, ovsdbConfigurationService.getTableName(node, Bridge.class));
-            if (bridgeRows == null) {
-                continue;
-            }
-            for (Row bridgeRow : bridgeRows.values()) {
-                Bridge bridge = ovsdbConfigurationService.getTypedRow(node, Bridge.class, bridgeRow);
-                LOG.trace("Test clean up removing Bridge {}", bridge.getUuid());
-                Status delStatus = ovsdbConfigurationService.deleteRow(node,
-                                                                bridge.getSchema().getName(),
-                                                                bridge.getUuid().toString());
-                assertTrue(delStatus.isSuccess());
-                bridgesRemoved++;
-            }
-        }
-
-        if (bridgesRemoved > 0) {
-            LOG.debug("Test clean up removed {} bridges", bridgesRemoved);
-            Thread.sleep(2000); // TODO : Remove this Sleep once the Select operation is resolved.
-        }
-    }
-
-    public void endToEndApiTest(Connection connection, String parentUuid) throws Exception {
-        // 1. Print Cache and Assert to make sure the bridge is not created yet.
-        printCache();
-
-        // 2. Create a bridge with a valid parent_uuid & Assert to make sure the return status is success.
-        StatusWithUuid status = insertBridge(connection, parentUuid);
-        assertTrue(status.isSuccess());
-
-        Thread.sleep(2000); // TODO : Remove this Sleep once the Select operation is resolved.
-
-        // 3. Assert to make sure the bridge is created with a valid Uuid.
-        printCache();
-        Bridge bridge = connection.getClient().getTypedRowWrapper(Bridge.class, null);
-        Row bridgeRow = ovsdbConfigurationService.getRow(node, bridge.getSchema().getName(), status.getUuid().toString());
-        assertNotNull(bridgeRow);
-        bridge = connection.getClient().getTypedRowWrapper(Bridge.class, bridgeRow);
-        assertEquals(bridge.getUuid(), status.getUuid());
-
-        // 4. Delete the bridge & Assert to make sure the return status is success.
-        Status delStatus = ovsdbConfigurationService.deleteRow(node, bridge.getSchema().getName(), status.getUuid().toString());
-        assertTrue(delStatus.isSuccess());
-        Thread.sleep(2000); // TODO : Remove this Sleep once the Select operation is resolved.
-
-        // 5. Assert to make sure the bridge is deleted
-        bridgeRow = ovsdbConfigurationService.getRow(node, bridge.getSchema().getName(), status.getUuid().toString());
-        assertNull(bridgeRow);
-    }
-
-    public StatusWithUuid insertBridge(Connection connection, String parentUuid) throws Exception {
-        Bridge bridge = connection.getClient().createTypedRowWrapper(Bridge.class);
-        bridge.setName("br_test1");
-        bridge.setStatus(ImmutableMap.of("key", "value"));
-        bridge.setFloodVlans(Sets.newHashSet(34L));
-        return ovsdbConfigurationService.insertRow(node, bridge.getSchema().getName(), parentUuid, bridge.getRow());
-    }
-
-    public String getOpenVSwitchTableUUID(Connection connection) throws Exception {
-        OpenVSwitch openVSwitch = connection.getClient().getTypedRowWrapper(OpenVSwitch.class, null);
-        ConcurrentMap<String, Row> row = ovsdbConfigurationService.getRows(node, openVSwitch.getSchema().getName());
-        if (row == null || row.size() == 0) {
-            return null;
-        }
-        return (String)row.keySet().toArray()[0];
-    }
-
-    public void printCache() throws Exception {
-        List<String> tables = ovsdbConfigurationService.getTables(node);
-        System.out.println("Tables = "+tables);
-        assertNotNull(tables);
-        for (String table : tables) {
-            System.out.println("Table "+table);
-            ConcurrentMap<String,Row> row = ovsdbConfigurationService.getRows(node, table);
-            System.out.println(row);
-        }
-    }
-
-    public class FakeListener implements OvsdbInventoryListener {
-
-        @Override
-        public void nodeAdded(Node node, InetAddress address, int port) {
-
-        }
-
-        @Override
-        public void nodeRemoved(Node node) {
-
-        }
-
-        @Override
-        public void rowAdded(Node node, String tableName, String uuid, Row row) {
-
-        }
-
-        @Override
-        public void rowUpdated(Node node, String tableName, String uuid, Row old, Row row) {
-
-        }
-
-        @Override
-        public void rowRemoved(Node node, String tableName, String uuid, Row row, Object context) {
-
-        }
-    }
-
-}
diff --git a/integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/plugin/OvsdbPluginV3IT.java b/integrationtest/src/test/java/org/opendaylight/ovsdb/integrationtest/plugin/OvsdbPluginV3IT.java
deleted file mode 100644 (file)
index 6c3370d..0000000
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Copyright (c) 2014 Red Hat, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovsdb.integrationtest.plugin;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.propagateSystemProperty;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.List;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutionException;
-
-import javax.inject.Inject;
-
-import org.apache.felix.dm.Component;
-import org.apache.felix.dm.DependencyManager;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.opendaylight.ovsdb.integrationtest.ConfigurationBundles;
-import org.opendaylight.ovsdb.integrationtest.OvsdbIntegrationTestBase;
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.OvsdbConnectionInfo;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.schema.GenericTableSchema;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService;
-import org.opendaylight.ovsdb.plugin.api.StatusCode;
-import org.opendaylight.ovsdb.plugin.api.StatusWithUuid;
-import org.opendaylight.ovsdb.schema.openvswitch.Bridge;
-import org.opendaylight.ovsdb.schema.openvswitch.OpenVSwitch;
-import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-import org.ops4j.pax.exam.Configuration;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.PaxExam;
-import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
-import org.ops4j.pax.exam.spi.reactors.PerSuite;
-import org.ops4j.pax.exam.util.PathUtils;
-import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Sets;
-
-@Ignore
-@RunWith(PaxExam.class)
-@ExamReactorStrategy(PerSuite.class)
-public class OvsdbPluginV3IT extends OvsdbIntegrationTestBase {
-    private static final Logger LOG = LoggerFactory.getLogger(OvsdbPluginV3IT.class);
-    @Inject
-    private BundleContext bc;
-    private OvsdbConfigurationService ovsdbConfigurationService = null;
-    private String databaseName = "Open_vSwitch";
-
-    @Inject
-    private OvsdbInventoryService ovsdbInventoryService;
-
-    private Node node = null;
-    private OvsdbClient client = null;
-
-    // Configure the OSGi container
-    @Configuration
-    public Option[] config() {
-        return options(
-            //
-            systemProperty("logback.configurationFile").value(
-                    "file:" + PathUtils.getBaseDir()
-                    + "/src/test/resources/logback.xml"
-            ),
-            // To start OSGi console for inspection remotely
-            systemProperty("osgi.console").value("2401"),
-
-            propagateSystemProperty("ovsdbserver.ipaddress"),
-            propagateSystemProperty("ovsdbserver.port"),
-
-            ConfigurationBundles.mdsalBundles(),
-            ConfigurationBundles.controllerBundles(),
-            ConfigurationBundles.ovsdbLibraryBundles(),
-            ConfigurationBundles.ovsdbDefaultSchemaBundles(),
-            ConfigurationBundles.ovsdbPluginBundles()
-        );
-    }
-
-    @Before
-    public void setUp () throws ExecutionException, InterruptedException, IOException {
-        areWeReady(bc);
-    }
-
-    public void getConnection () throws InterruptedException {
-        try {
-            node = getPluginTestConnection();
-        } catch (Exception e) {
-            fail("Exception : "+e.getMessage());
-        }
-        this.ovsdbConfigurationService = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class, this);
-    }
-
-    @Test
-    public void apiTests() throws Exception {
-        getConnection();
-        assertNotNull("Node should not be null", node);
-        assertNotNull("OvsdbConfigurationService should not be null", ovsdbConfigurationService);
-
-        Thread.sleep(1000);
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-
-        // Check for the ovsdb Connection as seen by the Plugin layer
-        assertNotNull(connectionService.getNodes());
-        assertTrue(connectionService.getNodes().size() > 0);
-        Node node = connectionService.getNodes().get(0);
-        Connection connection = connectionService.getConnection(node);
-        OvsdbConnectionInfo connectionInfo = connection.getClient().getConnectionInfo();
-        String identifier = IDENTIFIER;
-        if (connectionInfo.getType().equals(OvsdbConnectionInfo.ConnectionType.PASSIVE)) {
-            identifier = connectionInfo.getRemoteAddress().getHostAddress()+":"+connectionInfo.getRemotePort();
-        }
-        assertEquals(node, connectionService.getNode("OVS|" + identifier));
-        LOG.info("Nodes = {}", connectionService.getNodes());
-        /*
-         * Test sequence :
-         * 1. Print Cache and Assert to make sure the bridge is not created yet.
-         * 2. Create a bridge with a valid parent_uuid & Assert to make sure the return status is success.
-         * 3. Assert to make sure the bridge is created with a valid Uuid.
-         * 4. Delete the bridge & Assert to make sure the return status is success.
-         * 5. Assert to make sure the bridge is deleted
-         */
-
-        this.endToEndApiTest(connection, getOpenVSwitchTableUUID(connection));
-    }
-
-    @Test
-    public void testInventoryListeners() throws UnknownHostException {
-        DependencyManager dm = new DependencyManager(bc);
-
-        OvsdbInventoryListener listenerA = Mockito.mock(FakeListener.class);
-        OvsdbInventoryListener listenerB = Mockito.mock(FakeListener.class);
-
-        Component componentA = dm.createComponent();
-        componentA.setInterface(OvsdbInventoryListener.class.getName(), null);
-        componentA.setImplementation(listenerA);
-        dm.add(componentA);
-
-        Component componentB = dm.createComponent();
-        componentB.setInterface(OvsdbInventoryListener.class.getName(), null);
-        componentB.setImplementation(listenerB);
-        dm.add(componentB);
-
-        NodeId nodeId = new NodeId("OVS|10.10.10.10:65342");
-        NodeKey nodeKey = new NodeKey(nodeId);
-        node = new NodeBuilder()
-                .setId(nodeId)
-                .setKey(nodeKey)
-                .build();
-
-        InetAddress address = InetAddress.getByName("10.10.10.10");
-        int port = 65342;
-
-        // Trigger event
-        ovsdbInventoryService.notifyNodeAdded(node, address, port);
-
-        Mockito.verify(listenerA, Mockito.times(1)).nodeAdded(node, address, port);
-        Mockito.verify(listenerB, Mockito.times(1)).nodeAdded(node, address, port);
-
-        dm.remove(componentA);
-        dm.remove(componentB);
-    }
-
-    public void endToEndApiTest(Connection connection, String parentUuid) throws Exception {
-        // 1. Print Cache and Assert to make sure the bridge is not created yet.
-        printCache();
-
-        // 2. Create a bridge with a valid parent_uuid & Assert to make sure the return status is success.
-        StatusWithUuid status = insertBridge(connection, parentUuid);
-        assertTrue(status.isSuccess());
-
-        // 3. Assert to make sure the bridge is created with a valid Uuid.
-        printCache();
-        Bridge bridge = connection.getClient().getTypedRowWrapper(Bridge.class, null);
-        Row bridgeRow = ovsdbConfigurationService.getRow(node, databaseName, bridge.getSchema().getName(), status.getUuid());
-        assertNotNull(bridgeRow);
-        bridge = connection.getClient().getTypedRowWrapper(Bridge.class, bridgeRow);
-        LOG.info("Bridge UUID {} Status Uuid {}", bridge.getUuid(), status.getUuid());
-        assertEquals(bridge.getUuid(), status.getUuid());
-
-        bridge = connection.getClient().createTypedRowWrapper(Bridge.class);
-        bridge.setDatapathType("netdev");
-        try {
-            ovsdbConfigurationService.updateRow(node, databaseName, bridge.getSchema().getName(), status.getUuid(), bridge.getRow(), false);
-        } catch (Exception e) {
-            fail("Failed to updated Bridge "+e.getMessage());
-        }
-
-        // 4. Delete the bridge & Assert to make sure the return status is success.
-        try {
-            ovsdbConfigurationService.deleteRow(node, databaseName, bridge.getSchema().getName(), null, new UUID(parentUuid) ,null, status.getUuid());
-        } catch (Exception e) {
-            fail(e.getMessage());
-        }
-
-        // 5. Assert to make sure the bridge is deleted
-        bridgeRow = ovsdbConfigurationService.getRow(node, databaseName, bridge.getSchema().getName(), status.getUuid());
-        assertNull(bridgeRow);
-    }
-
-    public StatusWithUuid insertBridge(Connection connection, String parentUuid) throws Exception {
-        Bridge bridge = connection.getClient().createTypedRowWrapper(Bridge.class);
-        bridge.setName("br_test1");
-        bridge.setStatus(ImmutableMap.of("key", "value"));
-        bridge.setFloodVlans(Sets.newHashSet(34L));
-        try {
-        Row<GenericTableSchema> row = ovsdbConfigurationService.insertTree(node, databaseName, bridge.getSchema().getName(), new UUID(parentUuid), bridge.getRow());
-        bridge = connection.getClient().getTypedRowWrapper(Bridge.class, row);
-        return new StatusWithUuid(StatusCode.SUCCESS, bridge.getUuid());
-        } catch (Exception e) {
-            return new StatusWithUuid(StatusCode.INTERNALERROR);
-        }
-    }
-
-    public String getOpenVSwitchTableUUID(Connection connection) throws Exception {
-        OpenVSwitch openVSwitch = connection.getClient().getTypedRowWrapper(OpenVSwitch.class, null);
-        ConcurrentMap<UUID, Row<GenericTableSchema>> rows = ovsdbConfigurationService.getRows(node, databaseName, openVSwitch.getSchema().getName());
-        if (rows == null || rows.size() == 0) {
-            return null;
-        }
-        return rows.keySet().toArray()[0].toString();
-    }
-
-    public void printCache() throws Exception {
-        List<String> tables = ovsdbConfigurationService.getTables(node, databaseName);
-        LOG.info("Tables = {}", tables);
-        assertNotNull(tables);
-        for (String table : tables) {
-            LOG.info("Table {}", table);
-            ConcurrentMap<UUID, Row<GenericTableSchema>> rows = ovsdbConfigurationService.getRows(node, databaseName, table);
-            LOG.info(rows.toString());
-        }
-    }
-
-    public class FakeListener implements OvsdbInventoryListener {
-
-        @Override
-        public void nodeAdded(Node node, InetAddress address, int port) {
-
-        }
-
-        @Override
-        public void nodeRemoved(Node node) {
-
-        }
-
-        @Override
-        public void rowAdded(Node node, String tableName, String uuid, Row row) {
-
-        }
-
-        @Override
-        public void rowUpdated(Node node, String tableName, String uuid, Row old, Row row) {
-
-        }
-
-        @Override
-        public void rowRemoved(Node node, String tableName, String uuid, Row row, Object context) {
-
-        }
-    }
-
-}
diff --git a/plugin-shell/pom.xml b/plugin-shell/pom.xml
deleted file mode 100644 (file)
index 8744245..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright (C) 2014 Red Hat, Inc. and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.ovsdb</groupId>
-    <artifactId>commons</artifactId>
-    <version>1.4.0-SNAPSHOT</version>
-    <relativePath>../commons/parent</relativePath>
-  </parent>
-
-  <artifactId>plugin-shell</artifactId>
-  <version>1.2.1-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-  <description>The OVSDB Plugin integration project is a project for OpenDaylight that will implement the Open vSwitch Database RFC 7047 management protocol allowing the Southbound configuration of vSwitches and a network virtualization implementation.</description>
-  <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-  <licenses>
-    <license>
-      <name>Eclipse Public License v1.0</name>
-      <url>http://www.eclipse.org/legal/epl-v10.html</url>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>Sam Hague</name>
-      <email>shague@gmail.com</email>
-      <url>https://github.com/shague</url>
-    </developer>
-  </developers>
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-  </scm>
-
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.karaf.shell</groupId>
-      <artifactId>org.apache.karaf.shell.console</artifactId>
-      <version>${karaf.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-databind</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>library</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>plugin</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller.model</groupId>
-      <artifactId>model-inventory</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-simple</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.4.0</version>
-        <extensions>true</extensions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.jacoco</groupId>
-        <artifactId>jacoco-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/plugin-shell/src/main/java/org/opendaylight/ovsdb/plugin/shell/PrintCache.java b/plugin-shell/src/main/java/org/opendaylight/ovsdb/plugin/shell/PrintCache.java
deleted file mode 100644 (file)
index dcc63ce..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2013, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.plugin.shell;
-
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-
-@Command(scope = "ovs", name = "printCache", description="Prints OVSDB Cache")
-public class PrintCache extends OsgiCommandSupport{
-    private OvsdbInventoryService ovsdbInventory;
-
-    @Argument(index=0, name="nodeName", description="Node Name", required=true, multiValued=false)
-    String nodeName = null;
-
-    @Override
-    protected Object doExecute() throws Exception {
-        NodeId nodeId = new NodeId(nodeName);
-        NodeKey nodeKey = new NodeKey(nodeId);
-        Node node = new NodeBuilder()
-                .setId(nodeId)
-                .setKey(nodeKey)
-                .build();
-        ovsdbInventory.printCache(node);
-        return null;
-    }
-
-    public void setOvsdbInventory(OvsdbInventoryService inventoryService){
-        this.ovsdbInventory = inventoryService;
-    }
-}
diff --git a/plugin-shell/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugin-shell/src/main/resources/OSGI-INF/blueprint/blueprint.xml
deleted file mode 100644 (file)
index 4a213c6..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-    <reference id="ovsdbInventoryRef" interface="org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService"/>
-    <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
-        <command>
-          <action class="org.opendaylight.ovsdb.plugin.shell.PrintCache">
-            <property name="ovsdbInventory" ref="ovsdbInventoryRef"/>
-          </action>
-        </command>
-    </command-bundle>
-</blueprint>
diff --git a/plugin-shell/src/test/java/org/opendaylight/ovsdb/plugin/shell/PrintCacheTest.java b/plugin-shell/src/test/java/org/opendaylight/ovsdb/plugin/shell/PrintCacheTest.java
deleted file mode 100644 (file)
index 0e34a6e..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- *  Copyright (C) 2014 Red Hat, Inc.
- *
- *  This program and the accompanying materials are made available under the
- *  terms of the Eclipse Public License v1.0 which accompanies this distribution,
- *  and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- *  Authors : Sam Hague
- */
-package org.opendaylight.ovsdb.plugin.shell;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.lang.reflect.Field;
-import java.util.Set;
-import org.junit.Test;
-import org.opendaylight.ovsdb.lib.notation.Column;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.notation.Version;
-import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
-import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
-import org.opendaylight.ovsdb.lib.schema.GenericTableSchema;
-import org.opendaylight.ovsdb.plugin.api.OvsVswitchdSchemaConstants;
-import org.opendaylight.ovsdb.plugin.impl.InventoryServiceImpl;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-
-public class PrintCacheTest {
-    private static final String NODESTRING = "OVS|10.10.10.10:65342";
-    private static final String BRIDGES = "bridges";
-    private static final String OVS = "OVS";
-    private static final String BRIDGE = "bridge1";
-    private static final String OPENVSWITCH = "Open_vSwitch";
-    private static final String CACHE =
-            "Database Open_vSwitch" + System.getProperty("line.separator") +
-            "\tTable Open_vSwitch" + System.getProperty("line.separator") +
-            "\t\t1==bridges : bridge1 " + System.getProperty("line.separator") +
-            "-----------------------------------------------------------" + System.getProperty("line.separator");
-
-    @Test
-    public void testDoExecute () throws Exception {
-        // Read in schema and create the DatabaseSchema
-        InputStream resourceAsStream = PrintCacheTest.class.getResourceAsStream("test_schema.json");
-        ObjectMapper mapper = new ObjectMapper();
-        JsonNode jsonNode = mapper.readTree(resourceAsStream);
-        DatabaseSchema schema = DatabaseSchema.fromJson("some", jsonNode.get("result"));
-        assertNotNull(schema);
-        assertEquals(Version.fromString("6.12.0"), schema.getVersion());
-
-        // Add params to PrintCache
-        PrintCache printCacheTest = new PrintCache();
-        Field cNField = printCacheTest.getClass().getDeclaredField("nodeName");
-        cNField.setAccessible(true);
-        cNField.set(printCacheTest, NODESTRING);
-        InventoryServiceImpl inventoryService = new InventoryServiceImpl();
-        inventoryService.init();
-        printCacheTest.setOvsdbInventory(inventoryService);
-
-        // Test that an empty cache prints nothing
-        // Capture the output from PrintCache and compare it to what is expected
-        PrintStream originalBaos = System.out;
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        System.setOut(new PrintStream(baos));
-        printCacheTest.doExecute();
-        assertEquals("PrintCache output does not match expected output:", "", baos.toString());
-
-        // Add some data to the bridges row in the Open_vSwitch table
-        GenericTableSchema ovsTable = schema.table(OPENVSWITCH, GenericTableSchema.class);
-        ColumnSchema<GenericTableSchema, Set<UUID>> bridges = ovsTable.multiValuedColumn(BRIDGES, UUID.class);
-        Column column = new Column(bridges, new UUID(BRIDGE).toString());
-        Row row = new Row(ovsTable);
-        row.addColumn(BRIDGES, column);
-
-        NodeId nodeId = new NodeId(NODESTRING);
-        NodeKey nodeKey = new NodeKey(nodeId);
-        Node node = new NodeBuilder()
-                .setId(nodeId)
-                .setKey(nodeKey)
-                .build();
-        inventoryService.updateRow(node, OvsVswitchdSchemaConstants.DATABASE_NAME, OPENVSWITCH, new UUID("1").toString(), row);
-
-        // Test that a populated cache is printed correctly
-        // Capture the output from PrintCache and compare it to what is expected
-        printCacheTest.doExecute();
-        System.setOut(originalBaos);
-        assertEquals("PrintCache output does not match expected output:", CACHE, baos.toString());
-    }
-}
diff --git a/plugin-shell/src/test/resources/org/opendaylight/ovsdb/plugin/shell/test_schema.json b/plugin-shell/src/test/resources/org/opendaylight/ovsdb/plugin/shell/test_schema.json
deleted file mode 100644 (file)
index f7f8405..0000000
+++ /dev/null
@@ -1,1150 +0,0 @@
-{
-  "id": 0,
-  "result": {
-    "tables": {
-      "Port": {
-        "columns": {
-          "name": {
-            "mutable": false,
-            "type": "string"
-          },
-          "statistics": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "integer",
-              "max": "unlimited"
-            }
-          },
-          "vlan_mode": {
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "access",
-                    "native-tagged",
-                    "native-untagged",
-                    "trunk"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "qos": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "QoS"
-              },
-              "min": 0
-            }
-          },
-          "status": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "trunks": {
-            "type": {
-              "key": {
-                "maxInteger": 4095,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0,
-              "max": 4096
-            }
-          },
-          "mac": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "interfaces": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "Interface"
-              },
-              "max": "unlimited"
-            }
-          },
-          "bond_downdelay": {
-            "type": "integer"
-          },
-          "bond_mode": {
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "active-backup",
-                    "balance-slb",
-                    "balance-tcp",
-                    "stable"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "bond_updelay": {
-            "type": "integer"
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "other_config": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "tag": {
-            "type": {
-              "key": {
-                "maxInteger": 4095,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          },
-          "bond_fake_iface": {
-            "type": "boolean"
-          },
-          "fake_bridge": {
-            "type": "boolean"
-          },
-          "lacp": {
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "active",
-                    "off",
-                    "passive"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          }
-        },
-        "indexes": [
-          [
-            "name"
-          ]
-        ]
-      },
-      "Manager": {
-        "columns": {
-          "is_connected": {
-            "ephemeral": true,
-            "type": "boolean"
-          },
-          "target": {
-            "type": "string"
-          },
-          "other_config": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "max_backoff": {
-            "type": {
-              "key": {
-                "minInteger": 1000,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          },
-          "connection_mode": {
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "in-band",
-                    "out-of-band"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "status": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "inactivity_probe": {
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          }
-        },
-        "indexes": [
-          [
-            "target"
-          ]
-        ]
-      },
-      "Bridge": {
-        "columns": {
-          "name": {
-            "mutable": false,
-            "type": "string"
-          },
-          "flood_vlans": {
-            "type": {
-              "key": {
-                "maxInteger": 4095,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0,
-              "max": 4096
-            }
-          },
-          "netflow": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "NetFlow"
-              },
-              "min": 0
-            }
-          },
-          "mirrors": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "Mirror"
-              },
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "status": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "datapath_id": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "controller": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "Controller"
-              },
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "protocols": {
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "OpenFlow10",
-                    "OpenFlow12",
-                    "OpenFlow13"
-                  ]
-                ]
-              },
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "fail_mode": {
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "secure",
-                    "standalone"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "ports": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "Port"
-              },
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "flow_tables": {
-            "type": {
-              "key": {
-                "maxInteger": 254,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0,
-              "value": {
-                "type": "uuid",
-                "refTable": "Flow_Table"
-              },
-              "max": "unlimited"
-            }
-          },
-          "sflow": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "sFlow"
-              },
-              "min": 0
-            }
-          },
-          "datapath_type": {
-            "type": "string"
-          },
-          "other_config": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "stp_enable": {
-            "type": "boolean"
-          }
-        },
-        "indexes": [
-          [
-            "name"
-          ]
-        ]
-      },
-      "Interface": {
-        "columns": {
-          "options": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "name": {
-            "mutable": false,
-            "type": "string"
-          },
-          "statistics": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "integer",
-              "max": "unlimited"
-            }
-          },
-          "link_speed": {
-            "ephemeral": true,
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          },
-          "mtu": {
-            "ephemeral": true,
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          },
-          "mac_in_use": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "type": {
-            "type": "string"
-          },
-          "ingress_policing_rate": {
-            "type": {
-              "key": {
-                "minInteger": 0,
-                "type": "integer"
-              }
-            }
-          },
-          "cfm_remote_opstate": {
-            "ephemeral": true,
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "down",
-                    "up"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "status": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "mac": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "ofport": {
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          },
-          "cfm_fault_status": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "duplex": {
-            "ephemeral": true,
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "full",
-                    "half"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "lacp_current": {
-            "ephemeral": true,
-            "type": {
-              "key": "boolean",
-              "min": 0
-            }
-          },
-          "cfm_fault": {
-            "ephemeral": true,
-            "type": {
-              "key": "boolean",
-              "min": 0
-            }
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "other_config": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "admin_state": {
-            "ephemeral": true,
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "down",
-                    "up"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "link_state": {
-            "ephemeral": true,
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "down",
-                    "up"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "cfm_remote_mpids": {
-            "ephemeral": true,
-            "type": {
-              "key": "integer",
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "cfm_mpid": {
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          },
-          "ofport_request": {
-            "type": {
-              "key": {
-                "maxInteger": 65279,
-                "minInteger": 1,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          },
-          "ingress_policing_burst": {
-            "type": {
-              "key": {
-                "minInteger": 0,
-                "type": "integer"
-              }
-            }
-          },
-          "cfm_health": {
-            "ephemeral": true,
-            "type": {
-              "key": {
-                "maxInteger": 100,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          },
-          "link_resets": {
-            "ephemeral": true,
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          }
-        },
-        "indexes": [
-          [
-            "name"
-          ]
-        ]
-      },
-      "SSL": {
-        "columns": {
-          "ca_cert": {
-            "type": "string"
-          },
-          "private_key": {
-            "type": "string"
-          },
-          "bootstrap_ca_cert": {
-            "type": "boolean"
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "certificate": {
-            "type": "string"
-          }
-        },
-        "maxRows": 1
-      },
-      "Open_vSwitch": {
-        "columns": {
-          "ovs_version": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "system_version": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "bridges": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "Bridge"
-              },
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "statistics": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "other_config": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "next_cfg": {
-            "type": "integer"
-          },
-          "manager_options": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "Manager"
-              },
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "system_type": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "ssl": {
-            "type": {
-              "key": {
-                "type": "uuid",
-                "refTable": "SSL"
-              },
-              "min": 0
-            }
-          },
-          "db_version": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "cur_cfg": {
-            "type": "integer"
-          }
-        },
-        "maxRows": 1,
-        "isRoot": true
-      },
-      "Queue": {
-        "columns": {
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "other_config": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "dscp": {
-            "type": {
-              "key": {
-                "maxInteger": 63,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          }
-        },
-        "isRoot": true
-      },
-      "NetFlow": {
-        "columns": {
-          "engine_type": {
-            "type": {
-              "key": {
-                "maxInteger": 255,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          },
-          "targets": {
-            "type": {
-              "key": "string",
-              "max": "unlimited"
-            }
-          },
-          "add_id_to_interface": {
-            "type": "boolean"
-          },
-          "active_timeout": {
-            "type": {
-              "key": {
-                "minInteger": -1,
-                "type": "integer"
-              }
-            }
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "engine_id": {
-            "type": {
-              "key": {
-                "maxInteger": 255,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          }
-        }
-      },
-      "Mirror": {
-        "columns": {
-          "name": {
-            "type": "string"
-          },
-          "output_port": {
-            "type": {
-              "key": {
-                "refType": "weak",
-                "type": "uuid",
-                "refTable": "Port"
-              },
-              "min": 0
-            }
-          },
-          "output_vlan": {
-            "type": {
-              "key": {
-                "maxInteger": 4095,
-                "minInteger": 1,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          },
-          "statistics": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "integer",
-              "max": "unlimited"
-            }
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "select_dst_port": {
-            "type": {
-              "key": {
-                "refType": "weak",
-                "type": "uuid",
-                "refTable": "Port"
-              },
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "select_all": {
-            "type": "boolean"
-          },
-          "select_vlan": {
-            "type": {
-              "key": {
-                "maxInteger": 4095,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0,
-              "max": 4096
-            }
-          },
-          "select_src_port": {
-            "type": {
-              "key": {
-                "refType": "weak",
-                "type": "uuid",
-                "refTable": "Port"
-              },
-              "min": 0,
-              "max": "unlimited"
-            }
-          }
-        }
-      },
-      "QoS": {
-        "columns": {
-          "queues": {
-            "type": {
-              "key": {
-                "maxInteger": 4294967295,
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0,
-              "value": {
-                "type": "uuid",
-                "refTable": "Queue"
-              },
-              "max": "unlimited"
-            }
-          },
-          "other_config": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "type": {
-            "type": "string"
-          }
-        },
-        "isRoot": true
-      },
-      "Controller": {
-        "columns": {
-          "is_connected": {
-            "ephemeral": true,
-            "type": "boolean"
-          },
-          "enable_async_messages": {
-            "type": {
-              "key": "boolean",
-              "min": 0
-            }
-          },
-          "controller_rate_limit": {
-            "type": {
-              "key": {
-                "minInteger": 100,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          },
-          "target": {
-            "type": "string"
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "other_config": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "local_netmask": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "local_gateway": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "max_backoff": {
-            "type": {
-              "key": {
-                "minInteger": 1000,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          },
-          "local_ip": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "connection_mode": {
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "in-band",
-                    "out-of-band"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "status": {
-            "ephemeral": true,
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "role": {
-            "ephemeral": true,
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "master",
-                    "other",
-                    "slave"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "inactivity_probe": {
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          },
-          "controller_burst_limit": {
-            "type": {
-              "key": {
-                "minInteger": 25,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          }
-        }
-      },
-      "Flow_Table": {
-        "columns": {
-          "groups": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "max": "unlimited"
-            }
-          },
-          "name": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "overflow_policy": {
-            "type": {
-              "key": {
-                "type": "string",
-                "enum": [
-                  "set",
-                  [
-                    "evict",
-                    "refuse"
-                  ]
-                ]
-              },
-              "min": 0
-            }
-          },
-          "flow_limit": {
-            "type": {
-              "key": {
-                "minInteger": 0,
-                "type": "integer"
-              },
-              "min": 0
-            }
-          }
-        }
-      },
-      "sFlow": {
-        "columns": {
-          "polling": {
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          },
-          "targets": {
-            "type": {
-              "key": "string",
-              "max": "unlimited"
-            }
-          },
-          "header": {
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          },
-          "agent": {
-            "type": {
-              "key": "string",
-              "min": 0
-            }
-          },
-          "external_ids": {
-            "type": {
-              "key": "string",
-              "min": 0,
-              "value": "string",
-              "max": "unlimited"
-            }
-          },
-          "sampling": {
-            "type": {
-              "key": "integer",
-              "min": 0
-            }
-          }
-        }
-      }
-    },
-    "cksum": "2180939265 17455",
-    "name": "Open_vSwitch",
-    "version": "6.12.0"
-  },
-  "error": null
-}
diff --git a/pom.xml b/pom.xml
index ecde2ef8bdd681f0d795d216cd6b8e1d17237d3a..44352706064fb183f6d09c03992e804e9173f1d0 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -61,7 +61,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <module>northbound</module>
     <module>openstack</module>
     <module>ovsdb-artifacts</module>
-    <module>plugin-shell</module>
     <module>schemas</module>
     <module>utils</module>
     <module>ovsdb-ui</module>