Add karaf4-parent pom

Add karaf4-parent pom back to build. This is needed to create ONAP
distro of OpenDaylight.

Change-Id: Ib0ad4d1ca02a15fe9aee8e4db95682c434b9e6c3
Issue-ID: CCSDK-1753
Signed-off-by: Timoney, Dan (dt5972) <dtimoney@att.com>
diff --git a/odlparent/karaf4-parent/pom.xml b/odlparent/karaf4-parent/pom.xml
old mode 100755
new mode 100644
index 9a07246..76295a9
--- a/odlparent/karaf4-parent/pom.xml
+++ b/odlparent/karaf4-parent/pom.xml
@@ -1,18 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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/maven-v4_0_0.xsd">
+<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/maven-v4_0_0.xsd">
 
+	<!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/setup/src/main/template/pom-template.xml 
+		Any updates needed should be made to that template and not to the generated 
+		pom.xml file -->
 
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>pom</packaging>
 	<groupId>org.onap.ccsdk.parent</groupId>
 	<artifactId>karaf4-parent</artifactId>
-	<version>1.1.1-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 
 	<parent>
 		<groupId>org.opendaylight.odlparent</groupId>
 		<artifactId>karaf4-parent</artifactId>
-		<version>3.1.3</version>
-		<relativePath/>
+		<version>4.0.10</version>
+		<relativePath />
 	</parent>
 
 
@@ -88,97 +93,102 @@
 
 
 		<!-- CCSDK component versions -->
-		<ccsdk.sli.core.version>0.4.0-SNAPSHOT</ccsdk.sli.core.version>
-		<ccsdk.sli.adaptors.version>0.4.0-SNAPSHOT</ccsdk.sli.adaptors.version>
-		<ccsdk.sli.northbound.version>0.4.0-SNAPSHOT</ccsdk.sli.northbound.version>
-		<ccsdk.sli.plugins.version>0.4.0-SNAPSHOT</ccsdk.sli.plugins.version>
+		<ccsdk.sli.core.version>0.7.0-SNAPSHOT</ccsdk.sli.core.version>
+		<ccsdk.sli.adaptors.version>0.7.0-SNAPSHOT</ccsdk.sli.adaptors.version>
+		<ccsdk.sli.northbound.version>0.7.0-SNAPSHOT</ccsdk.sli.northbound.version>
+		<ccsdk.sli.plugins.version>0.7.0-SNAPSHOT</ccsdk.sli.plugins.version>
+		<ccsdk.distribution.version>0.7.0-SNAPSHOT</ccsdk.distribution.version>
 		<sdnctl.sli.version>${ccsdk.sli.core.version}</sdnctl.sli.version>
 		<sdnctl.aai.service.version>${ccsdk.sli.adaptors.version}</sdnctl.aai.service.version>
 		<sdnctl.dblib.version>${ccsdk.sli.core.version}</sdnctl.dblib.version>
 		<sdnctl.mdsal.resource.version>${ccsdk.sli.adaptors.version}</sdnctl.mdsal.resource.version>
 		<sdnctl.slipluginutils.version>${ccsdk.sli.core.version}</sdnctl.slipluginutils.version>
 
+
 		<!-- Support libraries used by OpenDaylight -->
-		<odl.mdsal.version>1.7.3</odl.mdsal.version>
-		<odl.mdsal.model.version>0.12.3</odl.mdsal.model.version>
+		<odl.controller.mdsal.version>1.9.1</odl.controller.mdsal.version>
+		<odl.mdsal.version>3.0.8</odl.mdsal.version>
+		<odl.mdsal.model.version>1.0.8</odl.mdsal.model.version>
+		<odl.netconf.restconf.version>1.9.1</odl.netconf.restconf.version>
+		<odl.netconf.netconf.version>1.6.1</odl.netconf.netconf.version>
+		<odl.netconf.sal.rest.docgen.version>1.9.1</odl.netconf.sal.rest.docgen.version>
+
 		<!-- Used by aaa, vtn -->
-		<commons.codec.version>1.10</commons.codec.version>
+		<commons.codec.version>1.12</commons.codec.version>
 		<!-- Used by netconf, ovsdb -->
-		<commons.lang3.version>3.7</commons.lang3.version>
+		<commons.lang3.version>3.8.1</commons.lang3.version>
 		<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
 		<commons.lang.version>2.6</commons.lang.version>
 		<!-- Used by neutron; see also controller, vtn -->
 		<commons.net.version>3.6</commons.net.version>
 		<!-- Used by neutron -->
-		<eclipse.persistence.version>2.7.1</eclipse.persistence.version>
+		<eclipse.persistence.version>2.7.3</eclipse.persistence.version>
 		<!-- Used by aaa -->
 		<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
 		<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
-		<gson.version>2.8.2</gson.version>
+		<gson.version>2.8.5</gson.version>
 		<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
-		<guava.version>23.6</guava.version>
-		<!-- Used by lispflowmapping, sxp, vtn/manager -->
-		<hamcrest.version>1.3.1</hamcrest.version>
+		<guava.version>25.1-jre</guava.version>
 		<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all, 
 			integration/distribution, snmp4sdn, toolkit, ttp -->
-		<jackson.version>2.3.2</jackson.version>
+		<jackson.version>2.9.8</jackson.version>
+		<jackson.bom.version>2.9.8</jackson.bom.version>
 		<!-- Used by snmp4sdn, yangtools -->
-		<javassist.version>3.20.0-GA</javassist.version>
+		<javassist.version>3.24.1-GA</javassist.version>
 
 		<!-- FIXME remove all dependencies for jersey 1.17 after migration all 
 			projects -->
 		<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, 
 			snmp4sdn, toolkit -->
-		<jersey.version>1.19.4</jersey.version>
+		<jersey.version>2.25.1</jersey.version>
 		<!-- Used by sfc -->
-		<jersey.client.version>1.19.4</jersey.client.version>
+		<jersey.client.version>2.25.1</jersey.client.version>
 
 		<!-- New packages for jersey migration 1.17 to 2.8 -->
 		<!-- appache.geronimo.bundle for DocGen -->
 		<!-- Used by aaa, iotdm, netconf, ovsdb, sfc -->
 		<org.json.version>20131018</org.json.version>
 
-		<!-- Used by sfc -->
-		<jettison.version>1.3.8</jettison.version>
-		<!-- Used by persistence -->
-		<jsr305.api.version>3.0.0</jsr305.api.version>
-		<!-- Need to stick to JUnit 4.11 until https://github.com/jayway/powermock/issues/560 
-			is fixed (either in PowerMock or with a new JUnit release) -->
+
+
 		<!-- Used everywhere -->
-		<junit.version>4.11</junit.version>
+		<junit.version>4.12</junit.version>
 		<!-- Used by coretutorials, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
 		<logback.version>1.2.3</logback.version>
 		<!-- Used by nic, sfc, sxp, tsdr -->
 		<mockito.version>1.10.19</mockito.version>
 		<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
-		<netty.version>4.1.22.Final</netty.version>
+		<netty.version>4.1.34.Final</netty.version>
 		<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, 
 			toolkit -->
 		<slf4j.version>1.7.25</slf4j.version>
 		<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, 
 			tsdr, ttp -->
-		<spring.version>3.2.17.RELEASE</spring.version>
+		<spring.version>4.3.24.RELEASE</spring.version>
 
 
 
 		<!-- Extra support libraries used by SDN-C -->
-		<equinox.osgi.version>3.8.1.v20120830-144521</equinox.osgi.version>
 		<jackson-annotations-version>${jackson.version}</jackson-annotations-version>
 		<jvnet.jaxb2.version>0.6.4</jvnet.jaxb2.version>
-		<apache.httpcomponents.core.version>4.4.4</apache.httpcomponents.core.version>
-		<apache.httpcomponents.client.version>4.5.2</apache.httpcomponents.client.version>
-		<antlr.version>4.7.1</antlr.version>
-		<mysql.connector.version>5.1.39</mysql.connector.version>
-		<mariadb.connector.version>2.1.1</mariadb.connector.version>
-		<h2database.version>1.4.196</h2database.version>
-		<derby.version>10.14.2.0</derby.version>
+		<antlr.version>4.7.2</antlr.version>
 
-		<eelf.version>1.0.0</eelf.version>
 		<eelf.maven.plugin.version>1.0.0</eelf.maven.plugin.version>
 
-		<tomcat-jdbc.version>8.5.14</tomcat-jdbc.version>
-	</properties>
 
+		<!-- Managed dependency versions -->
+		<apache.httpcomponents.core.version>4.4.4</apache.httpcomponents.core.version>
+		<apache.httpcomponents.client.version>4.5.2</apache.httpcomponents.client.version>
+		<derby.version>10.14.2.0</derby.version>
+		<eelf.version>1.0.0</eelf.version>
+		<grpc.version>1.17.1</grpc.version>
+		<mariadb.connector.version>2.1.1</mariadb.connector.version>
+		<mariadb4j.version>2.2.3</mariadb4j.version>
+		<testng.version>6.11</testng.version>
+		<tomcat-jdbc.version>8.5.14</tomcat-jdbc.version>
+		<jetty.version>9.4.12.v20180830</jetty.version>
+		<skip.karaf.featureTest>true</skip.karaf.featureTest>
+	</properties>
 
 	<profiles>
 		<!-- Profiles from ONAP oparent -->
@@ -291,26 +301,42 @@
 								<configuration>
 									<exportAntProperties>true</exportAntProperties>
 									<tasks>
-
-										<taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="maven.plugin.classpath"/>
+										<taskdef resource="net/sf/antcontrib/antlib.xml"
+											classpathref="maven.plugin.classpath" />
 										<condition property="is_windows" value="true">
-											<os family="windows"/>
+											<os family="windows" />
 										</condition>
 										<condition property="isLinux" value="true">
-											<os family="unix"/>
+											<os family="unix" />
 										</condition>
 										<if>
-											<equals arg1="${is_windows}" arg2="true"/>
+											<equals arg1="${is_windows}" arg2="true" />
 											<then>
-												<property name="swagger.sdk.script.file" value="generated-source-script.bat"/>
-												<echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
-												<echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
+												<property name="swagger.sdk.script.file"
+													value="generated-source-script.bat" />
+												<echo
+													file="${project.build.directory}${file.separator}generated-source-script.bat"
+													append="true"
+													message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}" />
+												<echo
+													file="${project.build.directory}${file.separator}generated-source-script.bat"
+													append="true"
+													message="mvn clean install -Dmaven.test.skip=true${line.separator}" />
 											</then>
 											<else>
-												<property name="swagger.sdk.script.file" value="generated-source-script.sh"/>
-												<echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
-												<echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
-												<chmod file="${project.build.directory}${file.separator}generated-source-script.sh" perm="755"/>
+												<property name="swagger.sdk.script.file"
+													value="generated-source-script.sh" />
+												<echo
+													file="${project.build.directory}${file.separator}generated-source-script.sh"
+													append="true"
+													message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}" />
+												<echo
+													file="${project.build.directory}${file.separator}generated-source-script.sh"
+													append="true"
+													message="mvn clean install -Dmaven.test.skip=true${line.separator}" />
+												<chmod
+													file="${project.build.directory}${file.separator}generated-source-script.sh"
+													perm="755" />
 											</else>
 										</if>
 									</tasks>
@@ -412,201 +438,124 @@
 
 		<!-- End of profiles from ONAP oparent -->
 
+		<profile>
+			<id>yang-compile</id>
+			<activation>
+				<file>
+					<exists>src/main/yang</exists>
+				</file>
+			</activation>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.opendaylight.yangtools</groupId>
+						<artifactId>yang-maven-plugin</artifactId>
+						<version>2.1.8</version>
+						<dependencies>
+							<dependency>
+								<groupId>org.opendaylight.mdsal</groupId>
+								<artifactId>maven-sal-api-gen-plugin</artifactId>
+								<version>${odl.mdsal.model.version}</version>
+								<type>jar</type>
+							</dependency>
+							<dependency>
+								<groupId>org.opendaylight.netconf</groupId>
+								<artifactId>sal-rest-docgen-maven</artifactId>
+								<version>${odl.netconf.sal.rest.docgen.version}</version>
+								<type>jar</type>
+							</dependency>
+						</dependencies>
+						<executions>
+							<execution>
+								<goals>
+									<goal>generate-sources</goal>
+								</goals>
+								<configuration>
+									<yangFilesRootDir>${yang.file.directory}</yangFilesRootDir>
+									<codeGenerators>
+										<generator>
+											<codeGeneratorClass>org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
+											<outputBaseDir>${salGeneratorPath}</outputBaseDir>
+										</generator>
+										<generator>
+											<codeGeneratorClass>org.opendaylight.netconf.sal.rest.doc.maven.StaticDocGenerator</codeGeneratorClass>
+											<outputBaseDir>target/swagger</outputBaseDir>
+										</generator>
+									</codeGenerators>
+									<inspectDependencies>true</inspectDependencies>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+
 	</profiles>
 
 
 	<dependencyManagement>
 		<dependencies>
+
+			<!-- Note: If value in BOM conflicts with value inherited from
+			parent pom, inherited value takes precedence.  This seems more like
+			a bug than a feature, but this is how maven 3.6 works -->
 			<dependency>
-				<groupId>org.opendaylight.controller</groupId>
-				<artifactId>mdsal-artifacts</artifactId>
-				<version>${odl.mdsal.version}</version>
+				<groupId>org.onap.ccsdk.parent</groupId>
+				<artifactId>dependencies-odl-bom</artifactId>
+				<version>1.5.0-SNAPSHOT</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
-			<dependency>
-				<groupId>org.opendaylight.mdsal.model</groupId>
-				<artifactId>mdsal-model-artifacts</artifactId>
-				<version>${odl.mdsal.model.version}</version>
-				<type>pom</type>
-				<scope>import</scope>
-			</dependency>
-			<dependency>
-				<groupId>org.onap.sdnc.core</groupId>
-				<artifactId>sli-common</artifactId>
-				<version>${sdnctl.sli.version}</version>
-			</dependency>
 
+			<!-- Override incorrect versions in ODL parent poms -->
+			<!-- to match versions actually installed in ODL Neon -->
 			<dependency>
-				<groupId>org.onap.sdnc.core</groupId>
-				<artifactId>sli-provider</artifactId>
-				<version>${sdnctl.sli.version}</version>
-			</dependency>
-
-			<dependency>
-				<groupId>org.onap.sdnc.core</groupId>
-				<artifactId>aai-service-provider</artifactId>
-				<version>${sdnctl.aai.service.version}</version>
-			</dependency>
-
-			<dependency>
-				<groupId>org.onap.sdnc.core</groupId>
-				<artifactId>dblib-provider</artifactId>
-				<version>${sdnctl.dblib.version}</version>
+				<groupId>com.google.protobuf</groupId>
+				<artifactId>protobuf-java</artifactId>
+				<version>3.6.1</version>
 			</dependency>
 			<dependency>
-				<groupId>com.att.eelf</groupId>
-				<artifactId>eelf-core</artifactId>
-				<version>${eelf.version}</version>
+				<groupId>io.netty</groupId>
+				<artifactId>netty-transport</artifactId>
+				<version>4.1.34.Final</version>
 			</dependency>
 			<dependency>
-				<groupId>org.apache.derby</groupId>
-				<artifactId>derby</artifactId>
-				<version>${derby.version}</version>
+				<groupId>io.netty</groupId>
+				<artifactId>netty-all</artifactId>
+				<version>4.1.34.Final</version>
+				<!-- <version>${netty.version}</version> -->
+			</dependency>
+			<dependency>
+				<groupId>junit</groupId>
+				<artifactId>junit</artifactId>
+				<version>4.12</version>
 				<scope>test</scope>
 			</dependency>
+			<dependency>
+				<groupId>org.eclipse.jetty</groupId>
+				<artifactId>jetty-server</artifactId>
+				<version>9.4.12.v20180830</version>
+			</dependency>
+			<dependency>
+				<groupId>org.eclipse.jetty</groupId>
+				<artifactId>jetty-servlets</artifactId>
+				<version>9.4.12.v20180830</version>
+			</dependency>
+			<dependency>
+				<groupId>org.glassfish.jersey.bundles.repackaged</groupId>
+				<artifactId>jersey-guava</artifactId>
+				<version>2.25.1</version>
+			</dependency>
+			<dependency>
+				<groupId>org.codehaus.jettison</groupId>
+				<artifactId>jettison</artifactId>
+				<version>1.3.8</version>
+			</dependency>
 		</dependencies>
 
 	</dependencyManagement>
 
-
-	<reporting>
-		<plugins>
-			<plugin>
-				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.10.4</version>
-				<configuration>
-					<failOnError>false</failOnError>
-					<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
-					<docletArtifact>
-						<groupId>org.umlgraph</groupId>
-						<artifactId>umlgraph</artifactId>
-						<version>5.6</version>
-					</docletArtifact>
-					<additionalparam>-views</additionalparam>
-					<useStandardDocletOptions>true</useStandardDocletOptions>
-					<excludePackageNames>org.opendaylight.*</excludePackageNames>
-					<additionalDependencies>
-						<additionalDependency>
-							<groupId>org.slf4j</groupId>
-							<artifactId>slf4j-api</artifactId>
-							<version>${slf4j.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>org.antlr</groupId>
-							<artifactId>antlr4</artifactId>
-							<version>${antlr.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>org.antlr</groupId>
-							<artifactId>antlr4-runtime</artifactId>
-							<version>${antlr.version}</version>
-						</additionalDependency>
-
-						<additionalDependency>
-							<groupId>com.sun.jersey</groupId>
-							<artifactId>jersey-client</artifactId>
-							<version>${jersey.json.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>com.sun.jersey</groupId>
-							<artifactId>jersey-core</artifactId>
-							<version>${jersey.json.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>org.apache.httpcomponents</groupId>
-							<artifactId>httpcore-osgi</artifactId>
-							<version>${apache.httpcomponents.core.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>org.apache.httpcomponents</groupId>
-							<artifactId>httpclient-osgi</artifactId>
-							<version>${apache.httpcomponents.client.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>com.fasterxml.jackson.core</groupId>
-							<artifactId>jackson-databind</artifactId>
-							<version>${fasterxml.jackson.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>com.fasterxml.jackson.core</groupId>
-							<artifactId>jackson-annotations</artifactId>
-							<version>${fasterxml.jackson.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>com.fasterxml.jackson.core</groupId>
-							<artifactId>jackson-core</artifactId>
-							<version>${fasterxml.jackson.version}</version>
-						</additionalDependency>
-						<additionalDependency>
-							<groupId>commons-lang</groupId>
-							<artifactId>commons-lang</artifactId>
-							<version>${commons.lang.version}</version>
-						</additionalDependency>
-					</additionalDependencies>
-				</configuration>
-				<reportSets>
-					<reportSet>
-						<reports>
-							<report>javadoc-no-fork</report>
-							<report>test-javadoc-no-fork</report>
-						</reports>
-					</reportSet>
-					<reportSet>
-						<id>aggregate</id>
-						<reports>
-							<report>aggregate</report>
-							<report>test-aggregate</report>
-						</reports>
-					</reportSet>
-				</reportSets>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-jxr-plugin</artifactId>
-				<version>2.3</version>
-				<reportSets>
-					<reportSet>
-						<id>aggregate</id>
-						<reports>
-							<report>aggregate</report>
-							<report>test-aggregate</report>
-						</reports>
-					</reportSet>
-				</reportSets>
-			</plugin>
-
-			<plugin>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.17</version>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-changelog-plugin</artifactId>
-				<version>2.3</version>
-				<reportSets>
-					<reportSet>
-						<id>dual-report</id>
-						<configuration>
-							<type>range</type>
-							<range>30</range>
-						</configuration>
-						<reports>
-							<report>changelog</report>
-							<report>file-activity</report>
-						</reports>
-					</reportSet>
-				</reportSets>
-			</plugin>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>taglist-maven-plugin</artifactId>
-				<version>2.4</version>
-			</plugin>
-		</plugins>
-	</reporting>
-
-
 	<pluginRepositories>
 		<pluginRepository>
 			<id>onap-public</id>
@@ -765,17 +714,17 @@
 		<pluginManagement>
 			<plugins>
 
-				<!-- Plugins from ONAP oparent -->
+				<!-- Plugins from ONAP version (parent of oparent) -->
+
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-deploy-plugin</artifactId>
 					<!-- This version supports the "deployAtEnd" parameter -->
 					<version>2.8</version>
 					<configuration>
-						<skip/>
+						<skip />
 					</configuration>
 				</plugin>
-
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-site-plugin</artifactId>
@@ -786,85 +735,56 @@
 							<artifactId>wagon-webdav-jackrabbit</artifactId>
 							<version>2.10</version>
 						</dependency>
-						<dependency>
-							<groupId>org.apache.maven.doxia</groupId>
-							<artifactId>doxia-core</artifactId>
-							<version>1.7</version>
-						</dependency>
-						<dependency>
-							<groupId>org.apache.maven.doxia</groupId>
-							<artifactId>doxia-sink-api</artifactId>
-							<version>1.7</version>
-						</dependency>
-						<dependency>
-							<groupId>org.apache.maven.doxia</groupId>
-							<artifactId>doxia-logging-api</artifactId>
-							<version>1.7</version>
-						</dependency>
 					</dependencies>
-					<executions>
-						<execution>
-							<id>attach-descriptor</id>
-							<goals>
-								<goal>attach-descriptor</goal>
-							</goals>
-						</execution>
-					</executions>
 				</plugin>
 				<plugin>
-					<artifactId>maven-checkstyle-plugin</artifactId>
-					<version>2.17</version>
-					<dependencies>
-						<dependency>
-							<groupId>org.onap.oparent</groupId>
-							<artifactId>checkstyle</artifactId>
-							<version>1.1.1</version>
-						</dependency>
-					</dependencies>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-enforcer-plugin</artifactId>
+					<version>3.0.0-M2</version>
 					<executions>
 						<execution>
-							<id>check-license</id>
+							<id>enforce-property</id>
 							<goals>
-								<goal>check</goal>
+								<goal>enforce</goal>
 							</goals>
-							<phase>process-sources</phase>
 							<configuration>
-								<configLocation>onap-checkstyle/check-license.xml</configLocation>
-								<headerLocation>onap-checkstyle/apache-license-2.regexp.txt</headerLocation>
-								<includeResources>false</includeResources>
-								<includeTestSourceDirectory>true</includeTestSourceDirectory>
-								<includeTestResources>false</includeTestResources>
-								<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
-								<excludes>
-								</excludes>
-								<failsOnError>false</failsOnError>
-								<consoleOutput>true</consoleOutput>
+								<rules>
+									<requireProperty>
+										<property>onap.nexus.url</property>
+										<message>You must set a onap.nexus.url property in your
+											~/.m2/settings.xml. See oparent/settings.xml for an example.</message>
+									</requireProperty>
+								</rules>
+								<fail>true</fail>
 							</configuration>
 						</execution>
 						<execution>
-							<id>check-style</id>
+							<id>enforce-no-snapshots</id>
 							<goals>
-								<goal>check</goal>
+								<goal>enforce</goal>
 							</goals>
-							<phase>process-sources</phase>
 							<configuration>
-								<!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml 
-									with minor changes -->
-								<configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
-								<!-- <sourceDirectory> is needed so that checkstyle ignores the generated 
-									sources directory -->
-								<sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
-								<includeResources>true</includeResources>
-								<includeTestSourceDirectory>true</includeTestSourceDirectory>
-								<includeTestResources>true</includeTestResources>
-								<excludes>
-								</excludes>
-								<failsOnError>false</failsOnError>
-								<consoleOutput>true</consoleOutput>
+								<rules>
+									<requireReleaseDeps>
+										<failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
+										<onlyWhenRelease>true</onlyWhenRelease>
+										<level>WARN</level>
+									</requireReleaseDeps>
+								</rules>
 							</configuration>
 						</execution>
 					</executions>
 				</plugin>
+				<!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->
+				<plugin>
+					<groupId>org.sonarsource.scanner.maven</groupId>
+					<artifactId>sonar-maven-plugin</artifactId>
+					<version>3.2</version>
+				</plugin>
+				<!-- end of plugins from ONAP version (parent of oparent) -->
+
+				<!-- Plugins from ONAP oparent -->
+
 				<plugin>
 					<groupId>org.jacoco</groupId>
 					<artifactId>jacoco-maven-plugin</artifactId>
@@ -944,7 +864,7 @@
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-surefire-plugin</artifactId>
-					<version>2.19.1</version>
+					<version>2.22.0</version>
 					<configuration>
 						<!-- Sets the VM argument line used when unit tests are run. -->
 						<argLine>${surefireArgLine}</argLine>
@@ -957,7 +877,7 @@
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-failsafe-plugin</artifactId>
-					<version>2.19.1</version>
+					<version>2.22.0</version>
 					<executions>
 						<!-- Ensures that both integration-test and verify goals of the Failsafe 
 							Maven plugin are executed. -->
@@ -974,108 +894,120 @@
 						</execution>
 					</executions>
 				</plugin>
-				<plugin>
-					<groupId>org.apache.maven.plugins</groupId>
-					<artifactId>maven-compiler-plugin</artifactId>
-					<version>${maven.compile.plugin.version}</version>
-					<configuration>
-						<source>${java.version.source}</source>
-						<target>${java.version.target}</target>
-					</configuration>
-				</plugin>
-				<plugin>
-					<groupId>org.sonarsource.scanner.maven</groupId>
-					<artifactId>sonar-maven-plugin</artifactId>
-					<version>3.3.0.603</version>
-				</plugin>
 
 				<!-- End of plugins from ONAP oparent -->
-
 				<plugin>
-					<groupId>org.apache.maven.plugins</groupId>
-					<artifactId>maven-javadoc-plugin</artifactId>
-					<version>2.10</version>
-					<configuration>
-						<additionalDependencies>
-							<additionalDependency>
-								<groupId>org.slf4j</groupId>
-								<artifactId>slf4j-api</artifactId>
-								<version>${slf4j.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>org.antlr</groupId>
-								<artifactId>antlr4</artifactId>
-								<version>${antlr.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>org.antlr</groupId>
-								<artifactId>antlr4-runtime</artifactId>
-								<version>${antlr.version}</version>
-							</additionalDependency>
-
-							<additionalDependency>
-								<groupId>com.sun.jersey</groupId>
-								<artifactId>jersey-client</artifactId>
-								<version>${jersey.client.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>com.sun.jersey</groupId>
-								<artifactId>jersey-core</artifactId>
-								<version>${jersey.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>org.apache.httpcomponents</groupId>
-								<artifactId>httpcore-osgi</artifactId>
-								<version>${apache.httpcomponents.core.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>org.apache.httpcomponents</groupId>
-								<artifactId>httpclient-osgi</artifactId>
-								<version>${apache.httpcomponents.client.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>com.fasterxml.jackson.core</groupId>
-								<artifactId>jackson-databind</artifactId>
-								<version>${jackson.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>com.fasterxml.jackson.core</groupId>
-								<artifactId>jackson-annotations</artifactId>
-								<version>${jackson.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>com.fasterxml.jackson.core</groupId>
-								<artifactId>jackson-core</artifactId>
-								<version>${jackson.version}</version>
-							</additionalDependency>
-							<additionalDependency>
-								<groupId>commons-lang</groupId>
-								<artifactId>commons-lang</artifactId>
-								<version>${commons.lang.version}</version>
-							</additionalDependency>
-						</additionalDependencies>
-					</configuration>
-
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>properties-maven-plugin</artifactId>
+					<version>1.0.0</version>
 					<executions>
 						<execution>
-							<id>aggregate</id>
 							<goals>
-								<goal>aggregate</goal>
+								<goal>set-system-properties</goal>
 							</goals>
-							<phase>site</phase>
-
+							<configuration>
+								<properties>
+									<property>
+										<name>maven.wagon.http.ssl.allowall</name>
+										<value>${ssl.allowall}</value>
+									</property>
+									<property>
+										<name>maven.wagon.http.ssl.insecure</name>
+										<value>${ssl.insecure}</value>
+									</property>
+								</properties>
+							</configuration>
 						</execution>
 					</executions>
 				</plugin>
 
+				<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>versions-maven-plugin</artifactId>
+					<version>2.5</version>
+					<configuration>
+						<processAllModules>true</processAllModules>
+					</configuration>
+				</plugin>
+				<plugin>
+					<artifactId>maven-scm-plugin</artifactId>
+					<version>1.8.1</version>
+					<configuration>
+						<tag>${project.artifactId}-${project.version}</tag>
+					</configuration>
+				</plugin>
 			</plugins>
-
 		</pluginManagement>
-
 		<plugins>
-			<!-- Plugins from ONAP oparent -->
+
+			<!-- Plugins from oparent version (parent of oparent) -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-deploy-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-site-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-enforcer-plugin</artifactId>
+			</plugin>
+			<!-- end of plugins from oparent version (parent of oparent) -->
+
+			<!-- Plugins from oparent -->
 			<plugin>
 				<artifactId>maven-checkstyle-plugin</artifactId>
+				<version>2.17</version>
+				<dependencies>
+					<dependency>
+						<groupId>org.onap.oparent</groupId>
+						<artifactId>checkstyle</artifactId>
+						<version>1.2.2</version>
+					</dependency>
+				</dependencies>
+				<executions>
+					<execution>
+						<id>onap-license</id>
+						<goals>
+							<goal>check</goal>
+						</goals>
+						<phase>process-sources</phase>
+						<configuration>
+							<configLocation>onap-checkstyle/check-license.xml</configLocation>
+							<includeResources>false</includeResources>
+							<includeTestSourceDirectory>true</includeTestSourceDirectory>
+							<includeTestResources>false</includeTestResources>
+							<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+							<excludes>
+							</excludes>
+							<consoleOutput>true</consoleOutput>
+							<failOnViolation>false</failOnViolation>
+						</configuration>
+					</execution>
+					<execution>
+						<id>onap-java-style</id>
+						<goals>
+							<goal>check</goal>
+						</goals>
+						<phase>process-sources</phase>
+						<configuration>
+							<!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml 
+								with minor changes -->
+							<configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
+							<!-- <sourceDirectory> is needed so that checkstyle ignores the generated 
+								sources directory -->
+							<sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
+							<includeResources>true</includeResources>
+							<includeTestSourceDirectory>true</includeTestSourceDirectory>
+							<includeTestResources>true</includeTestResources>
+							<excludes>
+							</excludes>
+							<consoleOutput>true</consoleOutput>
+							<failOnViolation>false</failOnViolation>
+						</configuration>
+					</execution>
+				</executions>
 			</plugin>
 			<plugin>
 				<groupId>org.codehaus.mojo</groupId>
@@ -1095,60 +1027,37 @@
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-failsafe-plugin</artifactId>
 			</plugin>
-
-			<!-- End of plugins from ONAP oparent -->
+			<!-- end of plugins from oparent -->
 			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>properties-maven-plugin</artifactId>
-				<version>1.0.0</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>set-system-properties</goal>
-						</goals>
-						<configuration>
-							<properties>
-								<property>
-									<name>maven.wagon.http.ssl.allowall</name>
-									<value>${ssl.allowall}</value>
-								</property>
-								<property>
-									<name>maven.wagon.http.ssl.insecure</name>
-									<value>${ssl.insecure}</value>
-								</property>
-							</properties>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.sonatype.plugins</groupId>
-				<artifactId>nexus-staging-maven-plugin</artifactId>
-				<version>1.6.7</version>
-				<extensions>true</extensions>
-				<configuration>
-					<nexusUrl>${onap.nexus.url}</nexusUrl>
-					<stagingProfileId>176c31dfe190a</stagingProfileId>
-					<serverId>ecomp-staging</serverId>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>versions-maven-plugin</artifactId>
-				<version>2.5</version>
-				<configuration>
-					<processAllModules>true</processAllModules>
-				</configuration>
-			</plugin>
-			<plugin>
-				<artifactId>maven-scm-plugin</artifactId>
-				<version>1.8.1</version>
-				<configuration>
-					<tag>${project.artifactId}-${project.version}</tag>
-				</configuration>
+			    <groupId>org.apache.maven.plugins</groupId>
+			    <artifactId>maven-javadoc-plugin</artifactId>
+			    <version>2.10.4</version>
+			    <executions>
+			        <execution>
+			            <id>attach-javadocs</id>
+			            <goals>
+			                <goal>jar</goal>
+			            </goals>
+			            <configuration>
+			                <additionalparam>-Xdoclint:none</additionalparam>
+			            </configuration>
+			        </execution>
+			    </executions>
 			</plugin>
 		</plugins>
 	</build>
+    <reporting>
+		<plugins>
+			<plugin>
+				<artifactId>maven-javadoc-plugin</artifactId>
+				<version>2.10.4</version>
+				<configuration>
+					<failOnError>false</failOnError>
+					<additionalparam>-Xdoclint:none</additionalparam>
+				</configuration>
+			</plugin>
+		</plugins>
+	</reporting>
 	<organization>
 		<name>ONAP</name>
 	</organization>
diff --git a/odlparent/pom.xml b/odlparent/pom.xml
index 508957f..7e25e52 100755
--- a/odlparent/pom.xml
+++ b/odlparent/pom.xml
@@ -32,10 +32,7 @@
 		<module>binding-parent</module>
 		<module>bundle-parent</module>
 		<module>feature-repo-parent</module>
-		<!-- Version 2.0.5 of karaf4-parent includes
-                jars with known security vulnerabilities.
 		<module>karaf4-parent</module>
-		-->
 		<module>mdsal-it-parent</module>
 		<module>odlparent</module>
 		<module>odlparent-lite</module>
diff --git a/odlparent/setup/pom.xml b/odlparent/setup/pom.xml
index 2465160..685ad76 100755
--- a/odlparent/setup/pom.xml
+++ b/odlparent/setup/pom.xml
@@ -97,6 +97,29 @@
 						</configuration>
 					</execution>
 					<execution>
+						<id>create-karaf4-parent-pom</id>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals><!-- here the phase you need -->
+						<phase>validate</phase>
+						<configuration>
+							<outputDirectory>../karaf4-parent</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/resources</directory>
+									<includes>
+										<include>pom-template.xml</include>
+									</includes>
+									<filtering>true</filtering>
+								</resource>
+							</resources>
+							<escapeString>\</escapeString>
+							<filters>
+								<filter>${basedir}/src/main/properties/karaf4-parent.properties</filter>
+							</filters>
+						</configuration>
+					</execution>
+					<execution>
 						<id>create-mdsal-it-parent-pom</id>
 						<goals>
 							<goal>copy-resources</goal>
@@ -229,6 +252,17 @@
 						</configuration>
 					</execution>
 					<execution>
+						<id>rename-karaf4-parent-pom</id>
+						<phase>validate</phase>
+						<goals>
+							<goal>rename</goal>
+						</goals>
+						<configuration>
+							<sourceFile>../karaf4-parent/pom-template.xml</sourceFile>
+							<destinationFile>../karaf4-parent/pom.xml</destinationFile>
+						</configuration>
+					</execution>
+					<execution>
 						<id>rename-mdsal-it-parent-pom</id>
 						<phase>validate</phase>
 						<goals>
diff --git a/odlparent/setup/src/main/properties/karaf4-parent.properties b/odlparent/setup/src/main/properties/karaf4-parent.properties
new file mode 100644
index 0000000..5be7cc1
--- /dev/null
+++ b/odlparent/setup/src/main/properties/karaf4-parent.properties
@@ -0,0 +1,3 @@
+odlparent.artifactId=karaf4-parent
+odlparent.groupId=org.opendaylight.odlparent
+odlparent.version=4.0.10