Bug 9307: Split features to avoid incompatiblities 10/64410/5
authorVratko Polak <vrpolak@cisco.com>
Tue, 17 Oct 2017 16:05:21 +0000 (18:05 +0200)
committerVratko Polak <vrpolak@cisco.com>
Thu, 19 Oct 2017 08:10:45 +0000 (10:10 +0200)
Netconf has two implementations of netconf topology service
which can lead to failing SingleFeatureTest if installed together.

Change-Id: I9c80c4dd5c43365d4d46f2b5bf89dd1f0f22f57f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
artifacts/distribution/pom.xml
features/repos/test/pom.xml
features/singles/odl-integration-all/pom.xml
features/singles/odl-integration-compatible-with-1node/pom.xml [new file with mode: 0644]
features/singles/odl-integration-compatible-with-3node/pom.xml [new file with mode: 0644]
features/singles/odl-integration-compatible-with-all/pom.xml
features/singles/pom.xml

index a9bfe1b666d37d1432c51ea4d898c76d796ae80a..2518793bc5f32370aecf485d35af8e9e038f112e 100644 (file)
                 <classifier>features</classifier>
                 <type>xml</type>
             </dependency>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>odl-integration-compatible-with-1node</artifactId>
+                <version>${project.version}</version>
+                <classifier>features</classifier>
+                <type>xml</type>
+            </dependency>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>odl-integration-compatible-with-3node</artifactId>
+                <version>${project.version}</version>
+                <classifier>features</classifier>
+                <type>xml</type>
+            </dependency>
             <dependency>
                 <groupId>${project.groupId}</groupId>
                 <artifactId>odl-integration-all</artifactId>
index 27286f0ca9268298aae512bc996aa243591041ba..46f1665af27f4ffc71716d41b23e9b03acbf7fd2 100644 (file)
             <classifier>features</classifier>
             <type>xml</type>
         </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-integration-compatible-with-1node</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-integration-compatible-with-3node</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>odl-integration-all</artifactId>
index a907c1eb0045001a43c26015da0b1104eeac2209..6380e200459348160956a31ab78ce49b0eed3176 100644 (file)
     <!-- <name> formatting is used by autorelease to parse and notify projects on
          build failure. Please do not modify this unless you have a good reason. -->
     <name>ODL :: integration :: ${project.artifactId}</name>
-    <description>Single feature containing all features separately compatible with odl-integration-compatible-with-all.</description>
+    <description>
+        Single feature containing all features separately compatible with odl-integration-compatible-with-all.
+        TODO: Split out 1node and 3node compatibility classes.
+    </description>
     <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
     <licenses>
         <license>
diff --git a/features/singles/odl-integration-compatible-with-1node/pom.xml b/features/singles/odl-integration-compatible-with-1node/pom.xml
new file mode 100644 (file)
index 0000000..a9301e2
--- /dev/null
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2017 Cisco Systems, 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.odlparent</groupId>
+        <artifactId>single-feature-parent</artifactId>
+        <version>2.0.5</version>
+        <relativePath/>
+    </parent>
+    <groupId>org.opendaylight.integration</groupId>
+    <artifactId>odl-integration-compatible-with-1node</artifactId>
+    <!-- TODO: Shorter name? -->
+    <version>0.8.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
+    <!-- <name> formatting is used by autorelease to parse and notify projects on
+         build failure. Please do not modify this unless you have a good reason. -->
+    <name>ODL :: integration :: ${project.artifactId}</name>
+    <description>
+        Single feature containing all features compatible with most and with 1node legacy deployments.
+        This should consist of odl-integration-compatible-with-all
+        and additional features which are not compatible with 3node deployments.
+        Typical bundle which should not be installed: org.opendaylight.netconf:netconf-topology-singleton.
+    </description>
+    <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
+    <licenses>
+        <license>
+            <name>Eclipse Public License v1.0</name>
+            <url>http://www.eclipse.org/legal/epl-v10.html</url>
+        </license>
+    </licenses>
+    <!-- FIXME: Add developers section -->
+    <scm>
+        <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
+        <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=features/singles/odl-integration-compatible-with-all;hb=HEAD</url>
+        <tag>HEAD</tag>
+    </scm>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>all-artifacts</artifactId>
+                <version>${project.version}</version>
+                <scope>import</scope>
+                <type>pom</type>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-integration-compatible-with-all</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+
+        <!-- User facing single features. Alphabetical order -->
+
+        <!-- Netconf -->
+        <dependency>
+            <groupId>org.opendaylight.netconf</groupId>
+            <artifactId>odl-netconf-callhome-ssh</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netconf</groupId>
+            <artifactId>odl-netconf-console</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+
+        <!-- Unimgr -->
+        <dependency>
+            <groupId>org.opendaylight.unimgr</groupId>
+            <artifactId>odl-unimgr</artifactId>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+
+    </dependencies>
+</project>
diff --git a/features/singles/odl-integration-compatible-with-3node/pom.xml b/features/singles/odl-integration-compatible-with-3node/pom.xml
new file mode 100644 (file)
index 0000000..1018299
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2017 Cisco Systems, 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.odlparent</groupId>
+        <artifactId>single-feature-parent</artifactId>
+        <version>2.0.5</version>
+        <relativePath/>
+    </parent>
+    <groupId>org.opendaylight.integration</groupId>
+    <artifactId>odl-integration-compatible-with-3node</artifactId>
+    <!-- TODO: Shorter name? -->
+    <version>0.8.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
+    <!-- <name> formatting is used by autorelease to parse and notify projects on
+         build failure. Please do not modify this unless you have a good reason. -->
+    <name>ODL :: integration :: ${project.artifactId}</name>
+    <description>
+        Single feature containing all features compatible with most and with 3node deployments.
+        This should consist of odl-integration-compatible-with-all
+        and additional features which are not compatible with 1node legacy deployments.
+        Typical bundle which should not be installed: org.opendaylight.netconf:netconf-topology-config.
+    </description>
+    <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
+    <licenses>
+        <license>
+            <name>Eclipse Public License v1.0</name>
+            <url>http://www.eclipse.org/legal/epl-v10.html</url>
+        </license>
+    </licenses>
+    <!-- FIXME: Add developers section -->
+    <scm>
+        <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
+        <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=features/singles/odl-integration-compatible-with-all;hb=HEAD</url>
+        <tag>HEAD</tag>
+    </scm>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>all-artifacts</artifactId>
+                <version>${project.version}</version>
+                <scope>import</scope>
+                <type>pom</type>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-integration-compatible-with-all</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+
+        <!-- User facing single features. Alphabetical order -->
+
+        <!-- GROUPBASEDPOLICY or GBP-->
+        <!-- Commenting this feature because SFT memory issues
+        <dependency>
+            <groupId>org.opendaylight.groupbasedpolicy</groupId>
+            <artifactId>odl-groupbasedpolicy-ios-xe</artifactId>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.groupbasedpolicy</groupId>
+            <artifactId>odl-groupbasedpolicy-neutron-vpp-mapper</artifactId>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.groupbasedpolicy</groupId>
+            <artifactId>odl-groupbasedpolicy-vpp</artifactId>
+            <type>xml</type>
+            <classifier>features</classifier>
+        </dependency>
+        -->
+
+        <!-- Honeycomb/VBD -->
+        <dependency>
+            <groupId>org.opendaylight.honeycomb.vbd</groupId>
+            <artifactId>odl-vbd</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.honeycomb.vbd</groupId>
+            <artifactId>odl-vbd-rest</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.honeycomb.vbd</groupId>
+            <artifactId>odl-vbd-ui</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+
+        <!-- Netconf -->
+        <dependency>
+            <groupId>org.opendaylight.netconf</groupId>
+            <artifactId>odl-netconf-clustered-topology</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+
+    </dependencies>
+</project>
index f7f9d61da3019e5e174d31a80c7b6a85098472d5..8862f28d2fbcf5f404c6383da218702347638578 100644 (file)
     <!-- <name> formatting is used by autorelease to parse and notify projects on
          build failure. Please do not modify this unless you have a good reason. -->
     <name>ODL :: integration :: ${project.artifactId}</name>
-    <description>Single feature containing all features compatible together.</description>
+    <description>
+        Single feature containing all features compatible with most.
+        If a feature is known to be incompatible with any typical use case,
+        for 1node or 3node deployment, it should not be listed here.
+        See other feature definitions for compatibility details.
+        Note: Even commented-out features should be moved to their appropriate compatibility class.
+    </description>
     <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
     <licenses>
         <license>
 
         <!-- Daexim -->
         <dependency>
-           <groupId>org.opendaylight.daexim</groupId>
+        <groupId>org.opendaylight.daexim</groupId>
             <artifactId>odl-daexim-all</artifactId>
             <type>xml</type>
             <classifier>features</classifier>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
-        <dependency>
-            <groupId>org.opendaylight.groupbasedpolicy</groupId>
-            <artifactId>odl-groupbasedpolicy-vpp</artifactId>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.groupbasedpolicy</groupId>
-            <artifactId>odl-groupbasedpolicy-neutron-vpp-mapper</artifactId>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
         <dependency>
             <groupId>org.opendaylight.groupbasedpolicy</groupId>
             <artifactId>odl-groupbasedpolicy-ui</artifactId>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
-        <dependency>
-            <groupId>org.opendaylight.groupbasedpolicy</groupId>
-            <artifactId>odl-groupbasedpolicy-ios-xe</artifactId>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
         <dependency>
             <groupId>org.opendaylight.groupbasedpolicy</groupId>
             <artifactId>odl-groupbasedpolicy-sxp-ep-provider</artifactId>
         </dependency>
         -->
 
-        <!-- Honeycomb/VBD -->
-        <dependency>
-            <groupId>org.opendaylight.honeycomb.vbd</groupId>
-            <artifactId>odl-vbd</artifactId>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.honeycomb.vbd</groupId>
-            <artifactId>odl-vbd-rest</artifactId>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.honeycomb.vbd</groupId>
-            <artifactId>odl-vbd-ui</artifactId>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-
         <!-- InfraUtils -->
         <dependency>
             <groupId>org.opendaylight.infrautils</groupId>
         </dependency>
 
         <!-- Netconf -->
+        <!-- odl-netconf-callhome-ssh and odl-netconf-console are not compatible with 3node deployment. -->
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>odl-netconf-mdsal</artifactId>
             <classifier>features</classifier>
             <type>xml</type>
         </dependency>
-        <dependency>
-            <groupId>org.opendaylight.netconf</groupId>
-            <artifactId>odl-netconf-callhome-ssh</artifactId>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.netconf</groupId>
-            <artifactId>odl-netconf-console</artifactId>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>odl-restconf</artifactId>
             <type>xml</type>
         </dependency>
 
-        <!-- Unimgr -->
-        <dependency>
-            <groupId>org.opendaylight.unimgr</groupId>
-            <artifactId>odl-unimgr</artifactId>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-
     </dependencies>
 </project>
index 137d0b91110c804f24b33e498dfea0f7c8cf0483..f472cb0e5f5e9e62c6d5b46b426ec1b5244a743c 100644 (file)
@@ -43,6 +43,8 @@
         <!-- Keep distribution-atrifacts updated. -->
         <module>odl-distribution-version</module>
         <module>odl-integration-compatible-with-all</module>
+        <module>odl-integration-compatible-with-1node</module>
+        <module>odl-integration-compatible-with-3node</module>
         <module>odl-integration-all</module>
     </modules>
 </project>