diff --git a/odlsli/pom.xml b/odlsli/pom.xml
index 7a63ca2..6f8dfd2 100644
--- a/odlsli/pom.xml
+++ b/odlsli/pom.xml
@@ -1,416 +1,476 @@
 <?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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
+<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.onap.ccsdk.parent</groupId>
-        <artifactId>odlparent-lite</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <relativePath />
-    </parent>
+	<parent>
+		<groupId>org.onap.ccsdk.parent</groupId>
+		<artifactId>odlparent-lite</artifactId>
+		<version>1.1.0-SNAPSHOT</version>
+		<relativePath />
+	</parent>
 
-    <groupId>org.onap.ccsdk.distribution</groupId>
-    <artifactId>distribution-odlsli</artifactId>
-    <version>0.3.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
+	<groupId>org.onap.ccsdk.distribution</groupId>
+	<artifactId>distribution-odlsli</artifactId>
+	<version>0.3.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
 
-    <name>ccsdk-distribution :: odlsli</name>
-    <description>Creates SDN Controller Docker container</description>
-    <organization>
-        <name>openECOMP</name>
-    </organization>
+	<name>ccsdk-distribution :: odlsli</name>
+	<description>Creates SDN Controller Docker container</description>
+	<organization>
+		<name>openECOMP</name>
+	</organization>
 
-    <properties>
-        <image.name>onap/ccsdk-odlsli-image</image.name>
-        <ccsdk.project.version>${project.version}</ccsdk.project.version>
-        <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
-        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
-	<docker.push.phase>deploy</docker.push.phase>
-    </properties>
+	<properties>
+		<image.name>onap/ccsdk-odlsli-image</image.name>
+		<ccsdk.project.version>${project.version}</ccsdk.project.version>
+		<docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
+		<maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
+		<opendaylight.root>opt/opendaylight</opendaylight.root>
+		<docker.push.phase>deploy</docker.push.phase>
+	</properties>
 
-    <dependencies>
+	<dependencies>
 
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>dblib-installer</artifactId>
+			<version>${ccsdk.sli.core.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>filters-installer</artifactId>
+			<version>${ccsdk.sli.core.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>sli-installer</artifactId>
+			<version>${ccsdk.sli.core.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>sliapi-installer</artifactId>
+			<version>${ccsdk.sli.core.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>sliPluginUtils-installer</artifactId>
+			<version>${ccsdk.sli.core.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>utils-installer</artifactId>
+			<version>${ccsdk.sli.core.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>slicore-features-installer</artifactId>
+			<version>${ccsdk.sli.core.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
+			<artifactId>aai-service-installer</artifactId>
+			<version>${ccsdk.sli.adaptors.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
         <dependency>
-            <groupId>org.onap.ccsdk.sli.core</groupId>
-            <artifactId>dblib-installer</artifactId>
-            <version>${ccsdk.sli.core.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.core</groupId>
-            <artifactId>filters-installer</artifactId>
-            <version>${ccsdk.sli.core.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.core</groupId>
-            <artifactId>sli-installer</artifactId>
-            <version>${ccsdk.sli.core.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.core</groupId>
-            <artifactId>sliapi-installer</artifactId>
-            <version>${ccsdk.sli.core.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.core</groupId>
-            <artifactId>sliPluginUtils-installer</artifactId>
-            <version>${ccsdk.sli.core.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.core</groupId>
-            <artifactId>utils-installer</artifactId>
-            <version>${ccsdk.sli.core.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
-            <artifactId>aai-service-installer</artifactId>
-            <version>${ccsdk.sli.adaptors.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
-            <artifactId>mdsal-resource-installer</artifactId>
-            <version>${ccsdk.sli.adaptors.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
-            <artifactId>resource-assignment-installer</artifactId>
-            <version>${ccsdk.sli.adaptors.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
-            <artifactId>sql-resource-installer</artifactId>
-            <version>${ccsdk.sli.adaptors.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.northbound</groupId>
-            <artifactId>asdcApi-installer</artifactId>
-            <version>${ccsdk.sli.northbound.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.northbound</groupId>
-            <artifactId>dataChange-installer</artifactId>
-            <version>${ccsdk.sli.northbound.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.plugins</groupId>
-            <artifactId>properties-node-installer</artifactId>
-            <version>${ccsdk.sli.plugins.version}</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.ccsdk.sli.plugins</groupId>
-            <artifactId>restapi-call-node-installer</artifactId>
-            <version>${ccsdk.sli.plugins.version}</version>
-            <type>zip</type>
-        </dependency>
-    </dependencies>
+			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
+			<artifactId>ansible-adapter-installer</artifactId>
+			<version>${ccsdk.sli.adaptors.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
+			<artifactId>mdsal-resource-installer</artifactId>
+			<version>${ccsdk.sli.adaptors.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
+			<artifactId>resource-assignment-installer</artifactId>
+			<version>${ccsdk.sli.adaptors.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
+			<artifactId>sql-resource-installer</artifactId>
+			<version>${ccsdk.sli.adaptors.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
+			<artifactId>sliadaptors-features-installer</artifactId>
+			<version>${ccsdk.sli.adaptors.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.northbound</groupId>
+			<artifactId>asdcApi-installer</artifactId>
+			<version>${ccsdk.sli.northbound.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.northbound</groupId>
+			<artifactId>dataChange-installer</artifactId>
+			<version>${ccsdk.sli.northbound.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.northbound</groupId>
+			<artifactId>lcm-installer</artifactId>
+			<version>${ccsdk.sli.northbound.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.northbound</groupId>
+			<artifactId>slinorthbound-features-installer</artifactId>
+			<version>${ccsdk.sli.northbound.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.plugins</groupId>
+			<artifactId>properties-node-installer</artifactId>
+			<version>${ccsdk.sli.plugins.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.plugins</groupId>
+			<artifactId>restapi-call-node-installer</artifactId>
+			<version>${ccsdk.sli.plugins.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.plugins</groupId>
+			<artifactId>sliplugins-features-installer</artifactId>
+			<version>${ccsdk.sli.plugins.version}</version>
+			<classifier>repo</classifier>
+			<type>zip</type>
+		</dependency>
+	</dependencies>
 
-    <build>
-        <plugins>
+	<build>
+		<plugins>
 
 
-            <plugin>
-                <groupId>org.codehaus.groovy.maven</groupId>
-                <artifactId>gmaven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>execute</goal>
-                        </goals>
-                        <configuration>
-                            <source>
-                                println project.properties['ccsdk.project.version'];
-                                def versionArray;
-                                if (project.properties['ccsdk.project.version'] != null ) {
-                                    versionArray = project.properties['ccsdk.project.version'].split('\\.');
-                                }
+			<plugin>
+				<groupId>org.codehaus.groovy.maven</groupId>
+				<artifactId>gmaven-plugin</artifactId>
+				<executions>
+					<execution>
+						<phase>validate</phase>
+						<goals>
+							<goal>execute</goal>
+						</goals>
+						<configuration>
+							<source>
+								println project.properties['ccsdk.project.version'];
+								def versionArray;
+								if (project.properties['ccsdk.project.version'] != null ) {
+								    versionArray = project.properties['ccsdk.project.version'].split('\\.');
+								}
 
-                                if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT")) {
-                                    project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
-                                } else {
-                                    project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
-                                }
+								if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT")) {
+								    project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
+								} else {
+								    project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
+								}
 
-                                println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
-                            </source>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
+								println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
+							</source>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
 
 
 
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>2.6</version>
-                <executions>
-                    <execution>
-                        <id>copy-dockerfile</id>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals><!-- here the phase you need -->
-                        <phase>validate</phase>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/docker</directory>
-                                    <includes>
-                                        <include>Dockerfile</include>
-                                    </includes>
-                                    <filtering>true</filtering>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
+			<plugin>
+				<artifactId>maven-resources-plugin</artifactId>
+				<version>2.6</version>
+				<executions>
+					<execution>
+						<id>copy-dockerfile</id>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals><!-- here the phase you need -->
+						<phase>validate</phase>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/docker</directory>
+									<includes>
+										<include>Dockerfile</include>
+									</includes>
+									<filtering>true</filtering>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
 
-                    <execution>
-                        <id>copy-scripts</id>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals><!-- here the phase you need -->
-                        <phase>validate</phase>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/scripts</directory>
-                                    <includes>
-                                        <include>*.sh</include>
-                                    </includes>
-                                    <filtering>false</filtering>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
+					<execution>
+						<id>copy-scripts</id>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals><!-- here the phase you need -->
+						<phase>validate</phase>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/scripts</directory>
+									<includes>
+										<include>*.sh</include>
+									</includes>
+									<filtering>false</filtering>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
 
-                    <execution>
-                        <id>copy-tarballs</id>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals><!-- here the phase you need -->
-                        <phase>validate</phase>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/resources</directory>
-                                    <includes>
-                                        <include>idmlight.db.mv.db</include>
-                                    </includes>
-                                    <filtering>false</filtering>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-config</id>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals><!-- here the phase you need -->
-                        <phase>validate</phase>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/resources</directory>
-                                    <includes>
-                                        <include>org.ops4j.pax.logging.cfg</include>
-                                    </includes>
-                                    <filtering>false</filtering>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-data</id>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals><!-- here the phase you need -->
-                        <phase>validate</phase>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/resources</directory>
-                                    <includes>
-                                        <include>*.dump</include>
-                                    </includes>
-                                    <filtering>false</filtering>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-properties</id>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals><!-- here the phase you need -->
-                        <phase>validate</phase>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/properties</directory>
-                                    <includes>
-                                        <include>*.properties</include>
-                                    </includes>
-                                    <filtering>false</filtering>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-keystores</id>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals><!-- here the phase you need -->
-                        <phase>validate</phase>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/stores</directory>
-                                    <includes>
-                                        <include>*.jks</include>
-                                    </includes>
-                                    <filtering>false</filtering>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>3.0.2</version>
-                <executions>
-                    <execution>
-                        <id>unpack features</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                        <goal>unpack-dependencies</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/features</outputDirectory>
-                            <excludeTransitive>true</excludeTransitive>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>unpack dgs</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                        <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>${project.groupId}</groupId>
-                                    <artifactId>platform-logic-installer</artifactId>
-                                    <version>${project.version}</version>
-                                    <type>zip</type>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>exec-maven-plugin</artifactId>
-                <version>1.5.0</version>
-                <executions>
+					<execution>
+						<id>copy-odl-resources</id>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals><!-- here the phase you need -->
+						<phase>validate</phase>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/resources</directory>
+									<includes>
+										<include>idmlight.db.mv.db</include>
+										<include>org.ops4j.pax.logging.cfg</include>
+										<include>install_ccsdk.yml</include>
+									</includes>
+									<filtering>false</filtering>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+					<execution>
+						<id>copy-config</id>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals><!-- here the phase you need -->
+						<phase>validate</phase>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/resources</directory>
+									<includes>
+										<include>org.ops4j.pax.logging.cfg</include>
+									</includes>
+									<filtering>false</filtering>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+					<execution>
+						<id>copy-data</id>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals><!-- here the phase you need -->
+						<phase>validate</phase>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/resources</directory>
+									<includes>
+										<include>*.dump</include>
+									</includes>
+									<filtering>false</filtering>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+					<execution>
+						<id>copy-properties</id>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals><!-- here the phase you need -->
+						<phase>validate</phase>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/properties</directory>
+									<includes>
+										<include>*.properties</include>
+									</includes>
+									<filtering>false</filtering>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+					<execution>
+						<id>copy-keystores</id>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals><!-- here the phase you need -->
+						<phase>validate</phase>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/stores</directory>
+									<includes>
+										<include>*.jks</include>
+									</includes>
+									<filtering>false</filtering>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-dependency-plugin</artifactId>
+				<version>3.0.2</version>
+				<executions>
+					<execution>
+						<id>unpack features</id>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>unpack-dependencies</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+							<excludeTransitive>true</excludeTransitive>
+						</configuration>
+					</execution>
+					<execution>
+						<id>unpack dgs</id>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>unpack</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
+							<artifactItems>
+								<artifactItem>
+									<groupId>${project.groupId}</groupId>
+									<artifactId>platform-logic-installer</artifactId>
+									<version>${project.version}</version>
+									<type>zip</type>
+								</artifactItem>
+							</artifactItems>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>exec-maven-plugin</artifactId>
+				<version>1.5.0</version>
+				<executions>
 
-                    <execution>
-                        <id>change shell permissions</id>
-                        <phase>process-sources</phase>
-                        <goals>
-                            <goal>exec</goal>
-                        </goals>
-                        <configuration>
-                            <executable>/usr/bin/find</executable>
-                            <arguments>
-                                <argument>${basedir}/target/docker-stage/opt/onap/ccsdk</argument>
-                                <argument>-name</argument>
-                                <argument>*.sh</argument>
-                                <argument>-exec</argument>
-                                <argument>chmod</argument>
-                                <argument>+x</argument>
-                                <argument>{}</argument>
-                                <argument>;</argument>
-                            </arguments>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
+					<execution>
+						<id>change shell permissions</id>
+						<phase>process-sources</phase>
+						<goals>
+							<goal>exec</goal>
+						</goals>
+						<configuration>
+							<executable>/usr/bin/find</executable>
+							<arguments>
+								<argument>${basedir}/target/docker-stage/opt/onap/ccsdk</argument>
+								<argument>-name</argument>
+								<argument>*.sh</argument>
+								<argument>-exec</argument>
+								<argument>chmod</argument>
+								<argument>+x</argument>
+								<argument>{}</argument>
+								<argument>;</argument>
+							</arguments>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
 
 
-        </plugins>
-    </build>
+		</plugins>
+	</build>
 
-    <profiles>
-        <profile>
-            <id>docker</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>io.fabric8</groupId>
-                        <artifactId>docker-maven-plugin</artifactId>
-                        <version>0.16.5</version>
-                        <inherited>false</inherited>
-                        <configuration>
-                            <images>
-                                <image>
-                                    <name>${image.name}</name>
-                                    <build>
-                                        <cleanup>try</cleanup>
-                                        <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
-                                        <dockerFile>${basedir}/target/docker-stage/Dockerfile</dockerFile>
-                                        <tags>
-                                            <tag>${project.version}</tag>
-                                            <tag>${project.version}-STAGING-${maven.build.timestamp}</tag>
-                                            <tag>${project.docker.latesttag.version}</tag>
-                                        </tags>
-                                    </build>
-                                </image>
-                            </images>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>generate-images</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>build</goal>
-                                </goals>
-                            </execution>
+	<profiles>
+		<profile>
+			<id>docker</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>io.fabric8</groupId>
+						<artifactId>docker-maven-plugin</artifactId>
+						<version>0.16.5</version>
+						<inherited>false</inherited>
+						<configuration>
+							<images>
+								<image>
+									<name>${image.name}</name>
+									<build>
+										<cleanup>try</cleanup>
+										<dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
+										<dockerFile>${basedir}/target/docker-stage/Dockerfile</dockerFile>
+										<tags>
+											<tag>${project.version}</tag>
+											<tag>${project.version}-STAGING-${maven.build.timestamp}</tag>
+											<tag>${project.docker.latesttag.version}</tag>
+										</tags>
+									</build>
+								</image>
+							</images>
+						</configuration>
+						<executions>
+							<execution>
+								<id>generate-images</id>
+								<phase>package</phase>
+								<goals>
+									<goal>build</goal>
+								</goals>
+							</execution>
 
-                            <execution>
-                                <id>push-images</id>
-                                <phase>${docker.push.phase}</phase>
-                                <goals>
-                                    <goal>build</goal>
-                                    <goal>push</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
+							<execution>
+								<id>push-images</id>
+								<phase>${docker.push.phase}</phase>
+								<goals>
+									<goal>build</goal>
+									<goal>push</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
 </project>
diff --git a/odlsli/src/main/docker/Dockerfile b/odlsli/src/main/docker/Dockerfile
index f6aeda6..4d4d373 100644
--- a/odlsli/src/main/docker/Dockerfile
+++ b/odlsli/src/main/docker/Dockerfile
@@ -1,17 +1,46 @@
 # Base ubuntu with added packages needed for open ecomp
 FROM onap/ccsdk-odl-oxygen-image:${project.version}
-MAINTAINER CCSDK Team (onap-ccsdk@lists.openecomp.org)
+MAINTAINER CCSDK Team (onap-ccsdk@lists.onap.org)
 ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
-ENV ODL_HOME /opt/opendaylight/current
+ENV ODL_HOME /opt/opendaylight
 ENV SDNC_CONFIG_DIR /opt/onap/ccsdk/data/properties
-
+ENV CCSDK_SLI_CORE_REPO mvn:org.onap.ccsdk.sli.core/ccsdk-sli-core-all/${ccsdk.sli.core.version}/xml/features
+ENV CCSDK_SLI_ADAPTORS_REPO mvn:org.onap.ccsdk.sli.adaptors/ccsdk-sli-adaptors-all/${ccsdk.sli.adaptors.version}/xml/features
+ENV CCSDK_SLI_NORTHBOUND_REPO mvn:org.onap.ccsdk.sli.northbound/ccsdk-sli-northbound-all/${ccsdk.sli.northbound.version}/xml/features
+ENV CCSDK_SLI_PLUGINS_REPO mvn:org.onap.ccsdk.sli.plugins/ccsdk-sli-plugins-all/${ccsdk.sli.plugins.version}/xml/features
 # copy the opendaylight credentials
-COPY idmlight.db.mv.db /opt/opendaylight/current
+COPY idmlight.db.mv.db $ODL_HOME/data
+
+
+# copy CCSDK mvn artifacts to ODL repository
+COPY system /tmp/system
+RUN rsync -a /tmp/system $ODL_HOME && rm -rf /tmp/system
+
+# Add CCSDK repositories to boot repositories
+RUN cp $ODL_HOME/etc/org.apache.karaf.features.cfg $ODL_HOME/etc/org.apache.karaf.features.cfg.orig
+RUN cat $ODL_HOME/etc/org.apache.karaf.features.cfg.orig | sed -e "\|featuresRepositories|s|$|, ${CCSDK_SLI_CORE_REPO}, ${CCSDK_SLI_ADAPTORS_REPO}, ${CCSDK_SLI_NORTHBOUND_REPO}, ${CCSDK_SLI_PLUGINS_REPO}|" > $ODL_HOME/etc/org.apache.karaf.features.cfg
+
+# Create odl user
+RUN useradd odl
+
+# Install ansible-opendaylight
+RUN apt install -y software-properties-common && \
+    apt-add-repository -y ppa:ansible/ansible && \
+    apt update && \
+    apt install -y ansible && \
+    ansible-galaxy install git+https://git.opendaylight.org/gerrit/integration/packaging/ansible-opendaylight
+
+# Copy ccsdk install playbook
+COPY install_ccsdk.yml /tmp
+
+# Install features in ODL
+RUN ansible-playbook -i "localhost," -c local /tmp/install_ccsdk.yml
+
 
 # copy deliverables to opt
 COPY opt /opt
+COPY org.ops4j.pax.logging.cfg /opt/opendaylight/etc/org.ops4j.pax.logging.cfg
 
-COPY org.ops4j.pax.logging.cfg /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
 
-# ENTRYPOINT exec /opt/opendaylight/current/bin/karaf
+ENTRYPOINT /opt/onap/ccsdk/bin/startODL.sh
 EXPOSE 8181
diff --git a/odlsli/src/main/resources/install_ccsdk.yml b/odlsli/src/main/resources/install_ccsdk.yml
new file mode 100644
index 0000000..c478bfe
--- /dev/null
+++ b/odlsli/src/main/resources/install_ccsdk.yml
@@ -0,0 +1,15 @@
+---
+- hosts: all
+  become: yes
+  roles:
+    - role: ansible-opendaylight
+      # ODL is already installed, so no need to specify installation method.  Specify extra features to install
+      extra_features:
+          - odl-restconf-all 
+          - odl-mdsal-all
+          - odl-mdsal-apidocs
+          - odl-daexim-all
+          - ccsdk-sli-core-all
+          - ccsdk-sli-adaptors-all
+          - ccsdk-sli-northbound-all
+          - ccsdk-sli-plugins-all
\ No newline at end of file
diff --git a/odlsli/src/main/scripts/installCcsdkFeatures.sh b/odlsli/src/main/scripts/installCcsdkFeatures.sh
deleted file mode 100644
index 0b38630..0000000
--- a/odlsli/src/main/scripts/installCcsdkFeatures.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-
-###
-# ============LICENSE_START=======================================================
-# openECOMP : SDN-C
-# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights
-# 							reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-###
-
-ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
-ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
-CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
-CCSDK_FEATURE_DIR=${CCSDK_FEATURE_DIR:-${CCSDK_HOME}/features}
-
-CCSDK_CORE_FEATURES=" \
- slicore-utils \
- dblib \
- sli \
- filters \
- sliPluginUtils \
- sliapi"
-
-CCSDK_ADAPTORS_FEATURES=" \
-  aai-service \
-  mdsal-resource \
-  resource-assignment \
-  sql-resource"
-
-CCSDK_NORTHBOUND_FEATURES=" \
-  asdcApi \
- dataChange"
-
-CCSDK_PLUGINS_FEATURES=" \
-  properties-node \
-  restapi-call-node"
-
-
-CCSDK_CORE_VERSION=${CCSDK_CORE_VERSION:-0.0.1-SNAPSHOT}
-CCSDK_ADAPTORS_VERSION=${CCSDK_ADAPTORS_VERSION:-0.0.1-SNAPSHOT}
-CCSDK_NORTHBOUND_VERSION=${CCSDK_NORTHBOUND_VERSION:-0.0.1-SNAPSHOT}
-CCSDK_PLUGINS_VERSION=${CCSDK_PLUGINS_VERSION:-0.0.1-SNAPSHOT}
-
-echo "Enabling core features"
-${ODL_HOME}/bin/client feature:install odl-restconf-all odl-mdsal-all odl-mdsal-apidocs odl-daexim-all
-
-echo "Installing CCSDK sli/core"
-for feature in ${CCSDK_CORE_FEATURES}
-do
-  if [ -f ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh ]
-  then
-    ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh
-  else
-    echo "No installer found for feature ccsdk-${feature}"
-  fi
-done
-
-echo "Installing CCSDK sli/adaptors"
-for feature in ${CCSDK_ADAPTORS_FEATURES}
-do
-  if [ -f ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh ]
-  then
-    ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh
-  else
-    echo "No installer found for feature ccsdk-${feature}"
-  fi
-done
-
-echo "Installing CCSDK sli/northbound"
-for feature in ${CCSDK_NORTHBOUND_FEATURES}
-do
-  if [ -f ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh ]
-  then
-    ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh
-  else
-    echo "No installer found for feature ccsdk-${feature}"
-  fi
-done
-
-
-echo "Installing CCSDK sli/plugins"
-for feature in ${CCSDK_PLUGINS_FEATURES}
-do
-  if [ -f ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh ]
-  then
-    ${CCSDK_FEATURE_DIR}/ccsdk-${feature}/install-feature.sh
-  else
-    echo "No installer found for feature ccsdk-${feature}"
-  fi
-done
diff --git a/odlsli/src/main/scripts/installFeatures.sh b/odlsli/src/main/scripts/installFeatures.sh
deleted file mode 100644
index e6b35bd..0000000
--- a/odlsli/src/main/scripts/installFeatures.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-###
-# ============LICENSE_START=======================================================
-# openECOMP : SDN-C
-# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights
-# 							reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-###
-
-CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
-
-${CCSDK_HOME}/bin/installCcsdkFeatures.sh
\ No newline at end of file
diff --git a/odlsli/src/main/scripts/installZips.sh b/odlsli/src/main/scripts/installZips.sh
deleted file mode 100644
index f3d296a..0000000
--- a/odlsli/src/main/scripts/installZips.sh
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/bash
-
-###
-# ============LICENSE_START=======================================================
-# openECOMP : SDN-C
-# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights
-# 							reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-###
-
-if [ -z "$SETTINGS_FILE" -a -z "$GLOBAL_SETTINGS_FILE" -a -s "$HOME"/.m2/settings.xml ]
-then
-  DEFAULT_MAVEN_SETTINGS=${HOME}/.m2/settings.xml
-  SETTINGS_FILE=${SETTINGS_FILE:-${DEFAULT_MAVEN_SETTINGS}}
-  GLOBAL_SETTINGS_FILE=${GLOBAL_SETTINGS_FILE:-${DEFAULT_MAVEN_SETTINGS}}
-fi
-
-CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
-
-targetDir=${1:-${CCSDK_HOME}}
-featureDir=${targetDir}/features
-
-CCSDK_CORE_FEATURES=" \
- utils \
- dblib \
- filters \
- sli \
- sliPluginUtils \
- sliapi"
-
-CCSDK_ADAPTORS_FEATURES=" \
-  aai-service \
-  mdsal-resource \
-  resource-assignment \
-  sql-resource"
-
-CCSDK_NORTHBOUND_FEATURES=" \
-  asdcApi \
-  dataChange "
-
-CCSDK_PLUGINS_FEATURES=" \
-  properties-node \
-  restapi-call-node"
-
-CCSDK_CORE_VERSION=${CCSDK_CORE_VERSION:-0.2.1-SNAPSHOT}
-CCSDK_ADAPTORS_VERSION=${CCSDK_ADAPTORS_VERSION:-0.2.1-SNAPSHOT}
-CCSDK_NORTHBOUND_VERSION=${CCSDK_NORTHBOUND_VERSION:-0.2.1-SNAPSHOT}
-CCSDK_PLUGINS_VERSION=${CCSDK_PLUGINS_VERSION:-0.2.1-SNAPSHOT}
-
-if [ ! -d ${targetDir} ]
-then
-  mkdir -p ${targetDir}
-fi
-
-if [ ! -d ${featureDir} ]
-then
-  mkdir -p ${featureDir}
-fi
-
-cwd=$(pwd)
-
-mavenOpts=${2:-"-s ${SETTINGS_FILE} -gs ${GLOBAL_SETTINGS_FILE}"}
-cd /tmp
-
-echo "Installing CCSDK sli/core version ${CCSDK_CORE_VERSION}"
-for feature in ${CCSDK_CORE_FEATURES}
-do
- rm -f /tmp/${feature}-installer*.zip
-mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.sli.core:${feature}-installer:${CCSDK_CORE_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true
- unzip -d ${featureDir} /tmp/${feature}-installer*zip
-done
-
-echo "Installing CCSDK sli/adaptors version ${CCSDK_ADAPTORS_VERSION}"
-for feature in ${CCSDK_ADAPTORS_FEATURES}
-do
- rm -f /tmp/${feature}-installer*.zip
-mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.sli.adaptors:${feature}-installer:${CCSDK_ADAPTORS_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true
- unzip -d ${featureDir} /tmp/${feature}-installer*zip
-done
-
-echo "Installing CCSDK sli/northbound version ${CCSDK_NORTHBOUND_VERSION}"
-for feature in ${CCSDK_NORTHBOUND_FEATURES}
-do
- rm -f /tmp/${feature}-installer*.zip
-mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.sli.northbound:${feature}-installer:${CCSDK_NORTHBOUND_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true
- unzip -d ${featureDir} /tmp/${feature}-installer*zip
-done
-
-
-echo "Installing CCSDK sli/plugins version ${CCSDK_PLUGINS_VERSION}"
-for feature in ${CCSDK_PLUGINS_FEATURES}
-do
- rm -f /tmp/${feature}-installer*.zip
-mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.sli.plugins:${feature}-installer:${CCSDK_PLUGINS_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true
- unzip -d ${featureDir} /tmp/${feature}-installer*zip
-done
-
-
-
-echo "Installing CCSDK platform-logic"
-rm -f /tmp/platform-logic-installer*.zip
-mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.ccsdk.distribution:platform-logic-installer:${CCSDK_OAM_VERSION}:zip -DoutputDirectory=/tmp -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true
-unzip -d ${targetDir} /tmp/platform-logic-installer*.zip
-
-find ${targetDir} -name '*.sh' -exec chmod +x '{}' \;
-
-cd $cwd
-
diff --git a/odlsli/src/main/scripts/startODL.sh b/odlsli/src/main/scripts/startODL.sh
index 6b42937..8c45dda 100644
--- a/odlsli/src/main/scripts/startODL.sh
+++ b/odlsli/src/main/scripts/startODL.sh
@@ -24,7 +24,7 @@
 
 # Install SDN-C platform components if not already installed and start container
 
-ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
+ODL_HOME=${ODL_HOME:-/opt/opendaylight}
 ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
 CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
 SLEEP_TIME=${SLEEP_TIME:-120}
@@ -46,24 +46,14 @@
 then
     echo "Installing SDN-C database"
     ${CCSDK_HOME}/bin/installSdncDb.sh
-    echo "Starting OpenDaylight"
-    ${CCSDK_HOME}/bin/installOdlHostKey.sh
-    ${ODL_HOME}/bin/start
-    echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
-    sleep ${SLEEP_TIME}
-    echo "Installing SDN-C platform features"
-    ${CCSDK_HOME}/bin/installFeatures.sh
+    # echo "Installing OpenDaylight host key"
+    # ${CCSDK_HOME}/bin/installOdlHostKey.sh
     if [ -x ${CCSDK_HOME}/svclogic/bin/install.sh ]
     then
         echo "Installing directed graphs"
         ${CCSDK_HOME}/svclogic/bin/install.sh
     fi
-
-    echo "Restarting OpenDaylight"
-    ${ODL_HOME}/bin/stop
-    echo "Waiting 60 seconds for OpenDaylight stop to complete"
-    sleep 60
     echo "Installed at `date`" > ${CCSDK_HOME}/.installed
 fi
 
-exec ${ODL_HOME}/bin/karaf
+exec ${ODL_HOME}/bin/karaf server
diff --git a/opendaylight/oxygen/src/main/docker/Dockerfile b/opendaylight/oxygen/src/main/docker/Dockerfile
index f5c2324..93811de 100644
--- a/opendaylight/oxygen/src/main/docker/Dockerfile
+++ b/opendaylight/oxygen/src/main/docker/Dockerfile
@@ -6,14 +6,17 @@
 
 # copy the opendaylight tar and expand
 COPY karaf-${ccsdk.opendaylight.version}.tar.gz /tmp/
-RUN mkdir /opt/opendaylight \
-    && tar zxvf /tmp/karaf-${ccsdk.opendaylight.version}.tar.gz --directory /opt/opendaylight \
+RUN mkdir /opt/odl \
+    && tar zxvf /tmp/karaf-${ccsdk.opendaylight.version}.tar.gz --directory /opt/odl \
     && rm -rf /tmp/karaf-${ccsdk.opendaylight.version}.tar.gz \
-    && mv /opt/opendaylight/karaf-${ccsdk.opendaylight.version} /opt/opendaylight/current \
-    && ln -s  /opt/opendaylight/current /opt/opendaylight/karaf-${ccsdk.opendaylight.version}
+    && mv /opt/odl/karaf-${ccsdk.opendaylight.version} /opt/opendaylight \
+    && ln -s  /opt/opendaylight /opt/opendaylight/karaf-${ccsdk.opendaylight.version} \
+    && ln -s /opt/opendaylight /opt/opendaylight/current
+ 
 
 # workaround till we get proxy working
-RUN mkdir -p /opt/opendaylight/current/system/org/mariadb/jdbc/mariadb-java-client/${ccsdk.mariadb-connector-java.version}
-COPY mariadb-java-client-${ccsdk.mariadb-connector-java.version}.jar /opt/opendaylight/current/system/org/mariadb/jdbc/mariadb-java-client/${ccsdk.mariadb-connector-java.version}
-# ENTRYPOINT exec /opt/opendaylight/current/bin/karaf
+RUN mkdir -p /opt/opendaylight/system/org/mariadb/jdbc/mariadb-java-client/${ccsdk.mariadb-connector-java.version}
+COPY mariadb-java-client-${ccsdk.mariadb-connector-java.version}.jar /opt/opendaylight/system/org/mariadb/jdbc/mariadb-java-client/${ccsdk.mariadb-connector-java.version}
+
+# ENTRYPOINT exec /opt/opendaylight/bin/karaf
 EXPOSE 8181
