Work around for Kryo 1,2 incompatibility
* Kryo 2 can be accessed by package com.esotericsoftware.kryo2
diff --git a/.gitignore b/.gitignore
index f8dcd13..dd8d359 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,6 @@
 .pydevproject
 target
 onos-logs
-onos.log
\ No newline at end of file
+onos.log
+repo
+
diff --git a/kryo2/.gitignore b/kryo2/.gitignore
new file mode 100644
index 0000000..916e17c
--- /dev/null
+++ b/kryo2/.gitignore
@@ -0,0 +1 @@
+dependency-reduced-pom.xml
diff --git a/kryo2/pom.xml b/kryo2/pom.xml
new file mode 100644
index 0000000..1beb87d
--- /dev/null
+++ b/kryo2/pom.xml
@@ -0,0 +1,68 @@
+<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>
+
+  <groupId>net.onrc.onos</groupId>
+  <artifactId>kryo2</artifactId>
+  <version>2.22</version>
+  <packaging>jar</packaging>
+
+  <name>kyro2</name>
+  <url>http://maven.apache.org</url>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>com.esotericsoftware.kryo</groupId>
+      <artifactId>kryo</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>2.1</version>
+        <configuration>
+              <relocations>
+                <relocation>
+                  <pattern>com.esotericsoftware.kryo</pattern>
+                  <shadedPattern>com.esotericsoftware.kryo2</shadedPattern>
+                  <excludes>
+                  </excludes>
+                </relocation>
+              </relocations>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <version>1.2.1</version>
+        <executions>
+          <execution>
+            <id>kryo2</id>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+          </execution>
+        </executions>
+            <configuration>
+              <executable>mvn</executable>
+              <commandlineArgs>install:install-file -DlocalRepositoryPath=${basedir}/../repo -DcreateChecksum=true -Dpackaging=jar -Dfile=${basedir}/target/${project.build.finalName}.jar -DgroupId=${project.groupId} -DartifactId=${project.artifactId} -Dversion=${project.version}</commandlineArgs>
+            </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/pom.xml b/pom.xml
index 002ba60..0e226d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,6 +29,12 @@
 	<enabled>false</enabled>
       </snapshots>
     </repository>
+    <!-- In Project repository -->
+    <repository>
+      <id>in-project</id>
+      <name>In Project Repo</name>
+      <url>file://${project.basedir}/repo</url>
+    </repository>
   </repositories>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -218,6 +224,18 @@
     </plugins>
   </reporting>
   <dependencies>
+    <!--
+    <dependency>
+      <groupId>com.esotericsoftware.kryo</groupId>
+      <artifactId>kryo</artifactId>
+      <version>2.22</version>
+    </dependency>
+    -->
+    <dependency>
+      <groupId>net.onrc.onos</groupId>
+      <artifactId>kryo2</artifactId>
+      <version>2.22</version>
+    </dependency>
     <!-- ONOS's direct dependencies -->
     <dependency>
       <groupId>org.apache.cassandra</groupId>
diff --git a/setup-local-maven.sh b/setup-local-maven.sh
index 3a2538c..371d50f 100755
--- a/setup-local-maven.sh
+++ b/setup-local-maven.sh
@@ -4,6 +4,9 @@
     MVN="mvn"
 fi
 
+# Kryo2 workaround
+${MVN} -f kryo2/pom.xml package exec:exec
+
 ${MVN} install:install-file -Dfile=./lib/curator-framework-1.3.5-SNAPSHOT.jar -DgroupId=com.netflix.curator -DartifactId=curator-framework -Dversion=1.3.5-SNAPSHOT -Dpackaging=jar -DgeneratePom=true
 ${MVN} install:install-file -Dfile=./lib/curator-client-1.3.5-SNAPSHOT.jar -DgroupId=com.netflix.curator -DartifactId=curator-client -Dversion=1.3.5-SNAPSHOT -Dpackaging=jar -DgeneratePom=true
 ${MVN} install:install-file -Dfile=./lib/curator-recipes-1.3.5-SNAPSHOT.jar -DgroupId=com.netflix.curator -DartifactId=curator-recipes -Dversion=1.3.5-SNAPSHOT -Dpackaging=jar -DgeneratePom=true