diff --git a/apps/foo/src/main/java/org/onosproject/foo/FooComponent.java b/apps/foo/src/main/java/org/onosproject/foo/FooComponent.java
index 268f6f6..766c1a2 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/FooComponent.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/FooComponent.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import static java.util.concurrent.Executors.newScheduledThreadPool;
 import static org.onlab.util.Tools.namedThreads;
@@ -30,25 +30,25 @@
 import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.onlab.onos.cluster.ClusterEvent;
-import org.onlab.onos.cluster.ClusterEventListener;
-import org.onlab.onos.cluster.ClusterService;
-import org.onlab.onos.cluster.NodeId;
-import org.onlab.onos.mastership.MastershipEvent;
-import org.onlab.onos.mastership.MastershipListener;
-import org.onlab.onos.mastership.MastershipService;
-import org.onlab.onos.net.device.DeviceEvent;
-import org.onlab.onos.net.device.DeviceListener;
-import org.onlab.onos.net.device.DeviceService;
-import org.onlab.onos.net.intent.IntentEvent;
-import org.onlab.onos.net.intent.IntentListener;
-import org.onlab.onos.net.intent.IntentService;
-import org.onlab.onos.store.service.DatabaseAdminService;
-import org.onlab.onos.store.service.DatabaseException;
-import org.onlab.onos.store.service.DatabaseService;
-import org.onlab.onos.store.service.Lock;
-import org.onlab.onos.store.service.LockService;
-import org.onlab.onos.store.service.VersionedValue;
+import org.onosproject.cluster.ClusterEvent;
+import org.onosproject.cluster.ClusterEventListener;
+import org.onosproject.cluster.ClusterService;
+import org.onosproject.cluster.NodeId;
+import org.onosproject.mastership.MastershipEvent;
+import org.onosproject.mastership.MastershipListener;
+import org.onosproject.mastership.MastershipService;
+import org.onosproject.net.device.DeviceEvent;
+import org.onosproject.net.device.DeviceListener;
+import org.onosproject.net.device.DeviceService;
+import org.onosproject.net.intent.IntentEvent;
+import org.onosproject.net.intent.IntentListener;
+import org.onosproject.net.intent.IntentService;
+import org.onosproject.store.service.DatabaseAdminService;
+import org.onosproject.store.service.DatabaseException;
+import org.onosproject.store.service.DatabaseService;
+import org.onosproject.store.service.Lock;
+import org.onosproject.store.service.LockService;
+import org.onosproject.store.service.VersionedValue;
 import org.slf4j.Logger;
 
 /**
diff --git a/apps/foo/src/main/java/org/onosproject/foo/IOLoopTestClient.java b/apps/foo/src/main/java/org/onosproject/foo/IOLoopTestClient.java
index 7ea0d26..4166738 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/IOLoopTestClient.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/IOLoopTestClient.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import com.google.common.collect.Lists;
 import org.onlab.nio.IOLoop;
@@ -43,7 +43,7 @@
 import static java.lang.String.format;
 import static java.lang.System.nanoTime;
 import static java.lang.System.out;
-import static org.onlab.onos.foo.IOLoopTestServer.PORT;
+import static org.onosproject.foo.IOLoopTestServer.PORT;
 import static org.onlab.util.Tools.delay;
 import static org.onlab.util.Tools.namedThreads;
 
diff --git a/apps/foo/src/main/java/org/onosproject/foo/IOLoopTestServer.java b/apps/foo/src/main/java/org/onosproject/foo/IOLoopTestServer.java
index 7fe743c..cbe51c5 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/IOLoopTestServer.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/IOLoopTestServer.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import com.google.common.collect.Lists;
 import org.onlab.nio.AcceptorLoop;
diff --git a/apps/foo/src/main/java/org/onosproject/foo/NettyEchoHandler.java b/apps/foo/src/main/java/org/onosproject/foo/NettyEchoHandler.java
index c7bf2f9..c736948 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/NettyEchoHandler.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/NettyEchoHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import java.io.IOException;
 
diff --git a/apps/foo/src/main/java/org/onosproject/foo/NettyNothingHandler.java b/apps/foo/src/main/java/org/onosproject/foo/NettyNothingHandler.java
index fee45355..bc85583 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/NettyNothingHandler.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/NettyNothingHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import org.onlab.netty.Message;
 import org.onlab.netty.MessageHandler;
diff --git a/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyClient.java b/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyClient.java
index cff9f3b..d5702ae 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyClient.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyClient.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import static java.lang.Thread.sleep;
 
diff --git a/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyClientCommand.java b/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyClientCommand.java
index 5bf7e69..e7a2a4b 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyClientCommand.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyClientCommand.java
@@ -13,14 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
-import static org.onlab.onos.foo.SimpleNettyClient.startStandalone;
-import static org.onlab.onos.foo.SimpleNettyClient.stop;
+import static org.onosproject.foo.SimpleNettyClient.startStandalone;
+import static org.onosproject.foo.SimpleNettyClient.stop;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
-import org.onlab.onos.cli.AbstractShellCommand;
+import org.onosproject.cli.AbstractShellCommand;
 
 /**
  * Test Netty client performance.
diff --git a/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyServer.java b/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyServer.java
index b2c8b3f..35472e9 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyServer.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyServer.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import org.onlab.netty.NettyMessagingService;
 import org.slf4j.Logger;
diff --git a/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyServerCommand.java b/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyServerCommand.java
index 28be149..77e380e 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyServerCommand.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/SimpleNettyServerCommand.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
-import static org.onlab.onos.foo.SimpleNettyServer.startStandalone;
+import static org.onosproject.foo.SimpleNettyServer.startStandalone;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
-import org.onlab.onos.cli.AbstractShellCommand;
+import org.onosproject.cli.AbstractShellCommand;
 
 /**
  * Starts the Simple Netty server.
diff --git a/apps/foo/src/main/java/org/onosproject/foo/TestIOClientCommand.java b/apps/foo/src/main/java/org/onosproject/foo/TestIOClientCommand.java
index 4b13b8a..dcfa044 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/TestIOClientCommand.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/TestIOClientCommand.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
-import org.onlab.onos.cli.AbstractShellCommand;
+import org.onosproject.cli.AbstractShellCommand;
 
-import static org.onlab.onos.foo.IOLoopTestClient.startStandalone;
+import static org.onosproject.foo.IOLoopTestClient.startStandalone;
 
 /**
  * Starts the test IO loop client.
diff --git a/apps/foo/src/main/java/org/onosproject/foo/TestIOServerCommand.java b/apps/foo/src/main/java/org/onosproject/foo/TestIOServerCommand.java
index ff5eb8e..31bcbdf 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/TestIOServerCommand.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/TestIOServerCommand.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
-import org.onlab.onos.cli.AbstractShellCommand;
+import org.onosproject.cli.AbstractShellCommand;
 
-import static org.onlab.onos.foo.IOLoopTestServer.startStandalone;
+import static org.onosproject.foo.IOLoopTestServer.startStandalone;
 
 /**
  * Starts the test IO loop server.
diff --git a/apps/foo/src/main/java/org/onosproject/foo/TestMessage.java b/apps/foo/src/main/java/org/onosproject/foo/TestMessage.java
index fcfbb07..98ef612 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/TestMessage.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/TestMessage.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import org.onlab.nio.AbstractMessage;
 
diff --git a/apps/foo/src/main/java/org/onosproject/foo/TestMessageStream.java b/apps/foo/src/main/java/org/onosproject/foo/TestMessageStream.java
index f18a5df..83f9eee 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/TestMessageStream.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/TestMessageStream.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
 
 import org.onlab.nio.IOLoop;
 import org.onlab.nio.MessageStream;
diff --git a/apps/foo/src/main/java/org/onosproject/foo/package-info.java b/apps/foo/src/main/java/org/onosproject/foo/package-info.java
index b5cca95..d1a053e 100644
--- a/apps/foo/src/main/java/org/onosproject/foo/package-info.java
+++ b/apps/foo/src/main/java/org/onosproject/foo/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Sample application for use in various experiments.
  */
-package org.onlab.onos.foo;
+package org.onosproject.foo;
