diff --git a/utils/atomix/pom.xml b/utils/atomix/pom.xml
new file mode 100644
index 0000000..dded25b
--- /dev/null
+++ b/utils/atomix/pom.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2016-present Open Networking Laboratory
+  ~
+  ~ 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.
+  -->
+<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">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.onosproject</groupId>
+    <artifactId>onos-base</artifactId>
+    <version>1</version>
+    <relativePath/>
+  </parent>
+
+  <groupId>org.onosproject</groupId>
+  <artifactId>atomix</artifactId>
+  <packaging>bundle</packaging>
+  <version>1.0.1.onos-SNAPSHOT</version>
+
+  <description>Atomix shaded OSGi JAR</description>
+  <url>http://onosproject.org/</url>
+
+  <scm>
+    <connection>scm:git:https://gerrit.onosproject.org/onos</connection>
+    <developerConnection>scm:git:https://gerrit.onosproject.org/onos
+    </developerConnection>
+    <url>http://gerrit.onosproject.org/</url>
+  </scm>
+
+  <licenses>
+    <license>
+      <name>Apache License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+    </license>
+  </licenses>
+
+  <properties>
+    <!-- TODO: replace with final release version when it is out -->
+    <catalyst.version>1.0.6</catalyst.version>
+    <atomix.version>1.0.0-rc3</atomix.version>
+    <copycat.version>1.0.0-rc6</copycat.version>
+  </properties>
+
+  <dependencies>
+    <dependency>
+        <groupId>io.atomix.catalyst</groupId>
+        <artifactId>catalyst-transport</artifactId>
+        <version>${catalyst.version}</version>
+    </dependency>
+
+    <dependency>
+        <groupId>io.atomix.catalyst</groupId>
+        <artifactId>catalyst-serializer</artifactId>
+        <version>${catalyst.version}</version>
+    </dependency>
+
+    <dependency>
+        <groupId>io.atomix</groupId>
+        <artifactId>atomix</artifactId>
+        <version>${atomix.version}</version>
+    </dependency>
+
+    <dependency>
+        <groupId>io.atomix.copycat</groupId>
+        <artifactId>copycat-client</artifactId>
+        <version>${copycat.version}</version>
+    </dependency>
+
+    <dependency>
+        <groupId>io.atomix.copycat</groupId>
+        <artifactId>copycat-server</artifactId>
+        <version>${copycat.version}</version>
+    </dependency>
+
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <!-- TODO: update once following issue is fixed. -->
+        <!-- https://jira.codehaus.org/browse/MCOMPILER-205 -->
+        <version>2.5.1</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>2.4.2</version>
+        <configuration>
+          <createSourcesJar>true</createSourcesJar>
+          <artifactSet>
+            <excludes>
+              <!-- exclude OSGi-ready transitive dependencies -->
+              <exclude>com.google.guava:guava</exclude>
+              <exclude>com.esotericsoftware:*</exclude>
+              <exclude>org.ow2.asm:asm</exclude>
+              <exclude>org.objenesis:objenesis</exclude>
+              <exclude>io.netty:*</exclude>
+              <exclude>commons-io:commons-io</exclude>
+            </excludes>
+          </artifactSet>
+          <filters>
+            <filter>
+              <artifact>io.atomix:atomix-all</artifact>
+                <includes>
+                  <include>**</include>
+                </includes>
+            </filter>
+          </filters>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>3.0.1</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Export-Package>
+              io.atomix.*
+            </Export-Package>
+            <Import-Package>
+              !sun.nio.ch,!sun.misc,*
+            </Import-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/utils/atomix/src/main/java/org/onlab/atomix/AtomixShaded.java b/utils/atomix/src/main/java/org/onlab/atomix/AtomixShaded.java
new file mode 100644
index 0000000..3861962
--- /dev/null
+++ b/utils/atomix/src/main/java/org/onlab/atomix/AtomixShaded.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * 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.
+ */
+package org.onlab.atomix;
+
+/**
+ * Empty class required to get the atomix module to build properly.
+ *
+ * NOTE Required for shade plugin to operate.
+ */
+public class AtomixShaded {
+
+}
diff --git a/utils/pom.xml b/utils/pom.xml
index 6e17e6a..1260f27 100644
--- a/utils/pom.xml
+++ b/utils/pom.xml
@@ -32,6 +32,7 @@
     <description>Domain agnostic ON.Lab utilities</description>
 
     <modules>
+        <module>atomix</module>
         <module>junit</module>
         <module>misc</module>
         <module>yangutils</module>
