diff --git a/web/api/pom.xml b/web/api/pom.xml
index bce7207..519ee8b 100644
--- a/web/api/pom.xml
+++ b/web/api/pom.xml
@@ -20,7 +20,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.onlab.onos</groupId>
+        <groupId>org.onosproject</groupId>
         <artifactId>onos-web</artifactId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
@@ -33,7 +33,7 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.onlab.onos</groupId>
+            <groupId>org.onosproject</groupId>
             <artifactId>onos-core-trivial</artifactId>
             <version>1.0.0-SNAPSHOT</version>
             <scope>test</scope>
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/AnnotatedCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/AnnotatedCodec.java
index 1a6c511..a3d0663 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/AnnotatedCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/AnnotatedCodec.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.codec.impl;
+package org.onosproject.codec.impl;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.onos.codec.CodecContext;
-import org.onlab.onos.codec.JsonCodec;
-import org.onlab.onos.net.Annotated;
-import org.onlab.onos.net.Annotations;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.codec.JsonCodec;
+import org.onosproject.net.Annotated;
+import org.onosproject.net.Annotations;
 
 /**
  * Base JSON codec for annotated entities.
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/AnnotationsCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/AnnotationsCodec.java
index a8d2907..73590e7 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/AnnotationsCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/AnnotationsCodec.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.codec.impl;
+package org.onosproject.codec.impl;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.onos.codec.CodecContext;
-import org.onlab.onos.codec.JsonCodec;
-import org.onlab.onos.net.Annotations;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.codec.JsonCodec;
+import org.onosproject.net.Annotations;
 
 /**
  * Annotations JSON codec.
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/CodecManager.java b/web/api/src/main/java/org/onosproject/codec/impl/CodecManager.java
index 30be730..4d3a9d0 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/CodecManager.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/CodecManager.java
@@ -13,20 +13,20 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.codec.impl;
+package org.onosproject.codec.impl;
 
 import com.google.common.collect.ImmutableSet;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.felix.scr.annotations.Service;
-import org.onlab.onos.codec.CodecService;
-import org.onlab.onos.codec.JsonCodec;
-import org.onlab.onos.net.Annotations;
-import org.onlab.onos.net.ConnectPoint;
-import org.onlab.onos.net.Device;
-import org.onlab.onos.net.Link;
-import org.onlab.onos.net.Port;
+import org.onosproject.codec.CodecService;
+import org.onosproject.codec.JsonCodec;
+import org.onosproject.net.Annotations;
+import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.Device;
+import org.onosproject.net.Link;
+import org.onosproject.net.Port;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/ConnectPointCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/ConnectPointCodec.java
index 3b5bf02..41a7629 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/ConnectPointCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/ConnectPointCodec.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.codec.impl;
+package org.onosproject.codec.impl;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.onos.codec.CodecContext;
-import org.onlab.onos.codec.JsonCodec;
-import org.onlab.onos.net.ConnectPoint;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.codec.JsonCodec;
+import org.onosproject.net.ConnectPoint;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/DeviceCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/DeviceCodec.java
index 5835382..45998e3 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/DeviceCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/DeviceCodec.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.codec.impl;
+package org.onosproject.codec.impl;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.onos.codec.CodecContext;
-import org.onlab.onos.net.Device;
-import org.onlab.onos.net.device.DeviceService;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.net.Device;
+import org.onosproject.net.device.DeviceService;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/LinkCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/LinkCodec.java
index ad09663..55a50d3 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/LinkCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/LinkCodec.java
@@ -13,14 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.codec.impl;
+package org.onosproject.codec.impl;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.onos.codec.CodecContext;
-import org.onlab.onos.codec.JsonCodec;
-import org.onlab.onos.net.ConnectPoint;
-import org.onlab.onos.net.Link;
-import org.onlab.onos.net.device.DeviceService;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.codec.JsonCodec;
+import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.Link;
+import org.onosproject.net.device.DeviceService;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/PortCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/PortCodec.java
index 4bfcc6a..f517cd6 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/PortCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/PortCodec.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.codec.impl;
+package org.onosproject.codec.impl;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.onos.codec.CodecContext;
-import org.onlab.onos.net.Port;
-import org.onlab.onos.net.PortNumber;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.net.Port;
+import org.onosproject.net.PortNumber;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/package-info.java b/web/api/src/main/java/org/onosproject/codec/impl/package-info.java
index 31db517..4a5ca13 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/package-info.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Implementations of the codec broker and built-in entity JSON codecs.
  */
-package org.onlab.onos.codec.impl;
\ No newline at end of file
+package org.onosproject.codec.impl;
diff --git a/web/api/src/main/java/org/onosproject/rest/AbstractWebResource.java b/web/api/src/main/java/org/onosproject/rest/AbstractWebResource.java
index b36bb1b..0a8f2c1 100644
--- a/web/api/src/main/java/org/onosproject/rest/AbstractWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/AbstractWebResource.java
@@ -13,14 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.onlab.util.ItemNotFoundException;
-import org.onlab.onos.codec.CodecContext;
-import org.onlab.onos.codec.CodecService;
-import org.onlab.onos.codec.JsonCodec;
+import org.onosproject.codec.CodecContext;
+import org.onosproject.codec.CodecService;
+import org.onosproject.codec.JsonCodec;
 import org.onlab.rest.BaseResource;
 
 /**
diff --git a/web/api/src/main/java/org/onosproject/rest/ConfigProvider.java b/web/api/src/main/java/org/onosproject/rest/ConfigProvider.java
index f5694be..bec1941 100644
--- a/web/api/src/main/java/org/onosproject/rest/ConfigProvider.java
+++ b/web/api/src/main/java/org/onosproject/rest/ConfigProvider.java
@@ -13,36 +13,36 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
 
 import com.fasterxml.jackson.databind.JsonNode;
-import org.onlab.onos.net.ConnectPoint;
-import org.onlab.onos.net.DefaultAnnotations;
-import org.onlab.onos.net.Device;
-import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.Host;
-import org.onlab.onos.net.HostId;
-import org.onlab.onos.net.HostLocation;
-import org.onlab.onos.net.Link;
-import org.onlab.onos.net.MastershipRole;
-import org.onlab.onos.net.Port;
-import org.onlab.onos.net.SparseAnnotations;
-import org.onlab.onos.net.device.DefaultDeviceDescription;
-import org.onlab.onos.net.device.DefaultPortDescription;
-import org.onlab.onos.net.device.DeviceDescription;
-import org.onlab.onos.net.device.DeviceProvider;
-import org.onlab.onos.net.device.DeviceProviderRegistry;
-import org.onlab.onos.net.device.DeviceProviderService;
-import org.onlab.onos.net.device.PortDescription;
-import org.onlab.onos.net.host.DefaultHostDescription;
-import org.onlab.onos.net.host.HostProvider;
-import org.onlab.onos.net.host.HostProviderRegistry;
-import org.onlab.onos.net.host.HostProviderService;
-import org.onlab.onos.net.link.DefaultLinkDescription;
-import org.onlab.onos.net.link.LinkProvider;
-import org.onlab.onos.net.link.LinkProviderRegistry;
-import org.onlab.onos.net.link.LinkProviderService;
-import org.onlab.onos.net.provider.ProviderId;
+import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.DefaultAnnotations;
+import org.onosproject.net.Device;
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.Host;
+import org.onosproject.net.HostId;
+import org.onosproject.net.HostLocation;
+import org.onosproject.net.Link;
+import org.onosproject.net.MastershipRole;
+import org.onosproject.net.Port;
+import org.onosproject.net.SparseAnnotations;
+import org.onosproject.net.device.DefaultDeviceDescription;
+import org.onosproject.net.device.DefaultPortDescription;
+import org.onosproject.net.device.DeviceDescription;
+import org.onosproject.net.device.DeviceProvider;
+import org.onosproject.net.device.DeviceProviderRegistry;
+import org.onosproject.net.device.DeviceProviderService;
+import org.onosproject.net.device.PortDescription;
+import org.onosproject.net.host.DefaultHostDescription;
+import org.onosproject.net.host.HostProvider;
+import org.onosproject.net.host.HostProviderRegistry;
+import org.onosproject.net.host.HostProviderService;
+import org.onosproject.net.link.DefaultLinkDescription;
+import org.onosproject.net.link.LinkProvider;
+import org.onosproject.net.link.LinkProviderRegistry;
+import org.onosproject.net.link.LinkProviderService;
+import org.onosproject.net.provider.ProviderId;
 import org.onlab.packet.ChassisId;
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.MacAddress;
@@ -56,8 +56,8 @@
 import java.util.Set;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.onlab.onos.net.DeviceId.deviceId;
-import static org.onlab.onos.net.PortNumber.portNumber;
+import static org.onosproject.net.DeviceId.deviceId;
+import static org.onosproject.net.PortNumber.portNumber;
 
 /**
  * Provider of devices and links parsed from a JSON configuration structure.
@@ -65,7 +65,7 @@
 class ConfigProvider implements DeviceProvider, LinkProvider, HostProvider {
 
     private static final ProviderId PID =
-            new ProviderId("cfg", "org.onlab.onos.rest", true);
+            new ProviderId("cfg", "org.onosproject.rest", true);
 
     private final JsonNode cfg;
     private final DeviceProviderRegistry deviceProviderRegistry;
diff --git a/web/api/src/main/java/org/onosproject/rest/ConfigResource.java b/web/api/src/main/java/org/onosproject/rest/ConfigResource.java
index 04e7836..fc20659 100644
--- a/web/api/src/main/java/org/onosproject/rest/ConfigResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/ConfigResource.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import org.onlab.onos.net.device.DeviceProviderRegistry;
-import org.onlab.onos.net.host.HostProviderRegistry;
-import org.onlab.onos.net.link.LinkProviderRegistry;
+import org.onosproject.net.device.DeviceProviderRegistry;
+import org.onosproject.net.host.HostProviderRegistry;
+import org.onosproject.net.link.LinkProviderRegistry;
 import org.onlab.rest.BaseResource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/web/api/src/main/java/org/onosproject/rest/DevicesWebResource.java b/web/api/src/main/java/org/onosproject/rest/DevicesWebResource.java
index 52fca58..3f8417b 100644
--- a/web/api/src/main/java/org/onosproject/rest/DevicesWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/DevicesWebResource.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.onos.net.Device;
-import org.onlab.onos.net.Port;
-import org.onlab.onos.net.device.DeviceService;
+import org.onosproject.net.Device;
+import org.onosproject.net.Port;
+import org.onosproject.net.device.DeviceService;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
@@ -27,7 +27,7 @@
 import java.util.List;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.onlab.onos.net.DeviceId.deviceId;
+import static org.onosproject.net.DeviceId.deviceId;
 
 /**
  * REST resource for interacting with the inventory of infrastructure devices.
diff --git a/web/api/src/main/java/org/onosproject/rest/GreetResource.java b/web/api/src/main/java/org/onosproject/rest/GreetResource.java
index 7f3cbd2..f3db807 100644
--- a/web/api/src/main/java/org/onosproject/rest/GreetResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/GreetResource.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
diff --git a/web/api/src/main/java/org/onosproject/rest/JsonBodyWriter.java b/web/api/src/main/java/org/onosproject/rest/JsonBodyWriter.java
index d34e30e..3305f7d 100644
--- a/web/api/src/main/java/org/onosproject/rest/JsonBodyWriter.java
+++ b/web/api/src/main/java/org/onosproject/rest/JsonBodyWriter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
diff --git a/web/api/src/main/java/org/onosproject/rest/LinksWebResource.java b/web/api/src/main/java/org/onosproject/rest/LinksWebResource.java
index 479b6a0..90e6b93 100644
--- a/web/api/src/main/java/org/onosproject/rest/LinksWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/LinksWebResource.java
@@ -13,21 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
 
-import org.onlab.onos.net.ConnectPoint;
-import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.Link;
-import org.onlab.onos.net.link.LinkService;
+import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.Link;
+import org.onosproject.net.link.LinkService;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Response;
 
-import static org.onlab.onos.net.DeviceId.deviceId;
-import static org.onlab.onos.net.PortNumber.portNumber;
-import static org.onlab.onos.rest.LinksWebResource.Direction.valueOf;
+import static org.onosproject.net.DeviceId.deviceId;
+import static org.onosproject.net.PortNumber.portNumber;
+import static org.onosproject.rest.LinksWebResource.Direction.valueOf;
 
 /**
  * REST resource for interacting with the inventory of infrastructure links.
diff --git a/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java b/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java
index 50c27ae..885678a 100644
--- a/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java
+++ b/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest.exceptions;
+package org.onosproject.rest.exceptions;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
diff --git a/web/api/src/main/java/org/onosproject/rest/exceptions/EntityNotFoundMapper.java b/web/api/src/main/java/org/onosproject/rest/exceptions/EntityNotFoundMapper.java
index 192a2e0..0b3eeec 100644
--- a/web/api/src/main/java/org/onosproject/rest/exceptions/EntityNotFoundMapper.java
+++ b/web/api/src/main/java/org/onosproject/rest/exceptions/EntityNotFoundMapper.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest.exceptions;
+package org.onosproject.rest.exceptions;
 
 import org.onlab.util.ItemNotFoundException;
 
diff --git a/web/api/src/main/java/org/onosproject/rest/exceptions/ServerErrorMapper.java b/web/api/src/main/java/org/onosproject/rest/exceptions/ServerErrorMapper.java
index a9d95d0..43e9542 100644
--- a/web/api/src/main/java/org/onosproject/rest/exceptions/ServerErrorMapper.java
+++ b/web/api/src/main/java/org/onosproject/rest/exceptions/ServerErrorMapper.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest.exceptions;
+package org.onosproject.rest.exceptions;
 
 import javax.ws.rs.core.Response;
 
diff --git a/web/api/src/main/java/org/onosproject/rest/exceptions/ServiceNotFoundMapper.java b/web/api/src/main/java/org/onosproject/rest/exceptions/ServiceNotFoundMapper.java
index 297882b..3345a69 100644
--- a/web/api/src/main/java/org/onosproject/rest/exceptions/ServiceNotFoundMapper.java
+++ b/web/api/src/main/java/org/onosproject/rest/exceptions/ServiceNotFoundMapper.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest.exceptions;
+package org.onosproject.rest.exceptions;
 
 import org.onlab.osgi.ServiceNotFoundException;
 
diff --git a/web/api/src/main/java/org/onosproject/rest/exceptions/package-info.java b/web/api/src/main/java/org/onosproject/rest/exceptions/package-info.java
index 5f733e7..6b581bc 100644
--- a/web/api/src/main/java/org/onosproject/rest/exceptions/package-info.java
+++ b/web/api/src/main/java/org/onosproject/rest/exceptions/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Various exception mappers to map errors to proper response status codes.
  */
-package org.onlab.onos.rest.exceptions;
\ No newline at end of file
+package org.onosproject.rest.exceptions;
diff --git a/web/api/src/main/java/org/onosproject/rest/package-info.java b/web/api/src/main/java/org/onosproject/rest/package-info.java
index e311c68..8ec4d35 100644
--- a/web/api/src/main/java/org/onosproject/rest/package-info.java
+++ b/web/api/src/main/java/org/onosproject/rest/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Set of resources implementing the ONOS REST API.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
diff --git a/web/api/src/main/webapp/WEB-INF/web.xml b/web/api/src/main/webapp/WEB-INF/web.xml
index 1342203..d8e7b9e 100644
--- a/web/api/src/main/webapp/WEB-INF/web.xml
+++ b/web/api/src/main/webapp/WEB-INF/web.xml
@@ -30,14 +30,14 @@
         <init-param>
             <param-name>com.sun.jersey.config.property.classnames</param-name>
             <param-value>
-                org.onlab.onos.rest.exceptions.EntityNotFoundMapper,
-                org.onlab.onos.rest.exceptions.ServiceNotFoundMapper,
-                org.onlab.onos.rest.exceptions.ServerErrorMapper,
-                org.onlab.onos.rest.JsonBodyWriter,
+                org.onosproject.rest.exceptions.EntityNotFoundMapper,
+                org.onosproject.rest.exceptions.ServiceNotFoundMapper,
+                org.onosproject.rest.exceptions.ServerErrorMapper,
+                org.onosproject.rest.JsonBodyWriter,
 
-                org.onlab.onos.rest.DevicesWebResource,
-                org.onlab.onos.rest.LinksWebResource,
-                org.onlab.onos.rest.ConfigResource
+                org.onosproject.rest.DevicesWebResource,
+                org.onosproject.rest.LinksWebResource,
+                org.onosproject.rest.ConfigResource
             </param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
@@ -48,4 +48,4 @@
         <url-pattern>/*</url-pattern>
     </servlet-mapping>
 
-</web-app>
\ No newline at end of file
+</web-app>
diff --git a/web/api/src/test/java/org/onosproject/rest/GreetResourceTest.java b/web/api/src/test/java/org/onosproject/rest/GreetResourceTest.java
index 3d56b8f..225636f 100644
--- a/web/api/src/test/java/org/onosproject/rest/GreetResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/GreetResourceTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.rest;
+package org.onosproject.rest;
 
 import com.sun.jersey.api.client.WebResource;
 import com.sun.jersey.test.framework.JerseyTest;
@@ -30,7 +30,7 @@
 public class GreetResourceTest extends JerseyTest {
 
     public GreetResourceTest() {
-        super("org.onlab.onos.rest");
+        super("org.onosproject.rest");
     }
 
     @BeforeClass
diff --git a/web/gui/pom.xml b/web/gui/pom.xml
index ab5b62c..966b252 100644
--- a/web/gui/pom.xml
+++ b/web/gui/pom.xml
@@ -20,7 +20,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.onlab.onos</groupId>
+        <groupId>org.onosproject</groupId>
         <artifactId>onos-web</artifactId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
diff --git a/web/gui/src/main/java/org/onosproject/gui/GuiWebSocketServlet.java b/web/gui/src/main/java/org/onosproject/gui/GuiWebSocketServlet.java
index 37120d9..246fb8c 100644
--- a/web/gui/src/main/java/org/onosproject/gui/GuiWebSocketServlet.java
+++ b/web/gui/src/main/java/org/onosproject/gui/GuiWebSocketServlet.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.gui;
+package org.onosproject.gui;
 
 import org.eclipse.jetty.websocket.WebSocket;
 import org.eclipse.jetty.websocket.WebSocketServlet;
diff --git a/web/gui/src/main/java/org/onosproject/gui/TopologyResource.java b/web/gui/src/main/java/org/onosproject/gui/TopologyResource.java
index 3f2e14e..0261535 100644
--- a/web/gui/src/main/java/org/onosproject/gui/TopologyResource.java
+++ b/web/gui/src/main/java/org/onosproject/gui/TopologyResource.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.gui;
+package org.onosproject.gui;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
diff --git a/web/gui/src/main/java/org/onosproject/gui/TopologyViewIntentFilter.java b/web/gui/src/main/java/org/onosproject/gui/TopologyViewIntentFilter.java
index e5c9249..65a250a 100644
--- a/web/gui/src/main/java/org/onosproject/gui/TopologyViewIntentFilter.java
+++ b/web/gui/src/main/java/org/onosproject/gui/TopologyViewIntentFilter.java
@@ -13,32 +13,32 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.gui;
+package org.onosproject.gui;
 
-import org.onlab.onos.net.ConnectPoint;
-import org.onlab.onos.net.Device;
-import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.Host;
-import org.onlab.onos.net.HostId;
-import org.onlab.onos.net.Link;
-import org.onlab.onos.net.device.DeviceService;
-import org.onlab.onos.net.host.HostService;
-import org.onlab.onos.net.intent.HostToHostIntent;
-import org.onlab.onos.net.intent.Intent;
-import org.onlab.onos.net.intent.IntentService;
-import org.onlab.onos.net.intent.LinkCollectionIntent;
-import org.onlab.onos.net.intent.MultiPointToSinglePointIntent;
-import org.onlab.onos.net.intent.OpticalConnectivityIntent;
-import org.onlab.onos.net.intent.PathIntent;
-import org.onlab.onos.net.intent.PointToPointIntent;
-import org.onlab.onos.net.link.LinkService;
+import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.Device;
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.Host;
+import org.onosproject.net.HostId;
+import org.onosproject.net.Link;
+import org.onosproject.net.device.DeviceService;
+import org.onosproject.net.host.HostService;
+import org.onosproject.net.intent.HostToHostIntent;
+import org.onosproject.net.intent.Intent;
+import org.onosproject.net.intent.IntentService;
+import org.onosproject.net.intent.LinkCollectionIntent;
+import org.onosproject.net.intent.MultiPointToSinglePointIntent;
+import org.onosproject.net.intent.OpticalConnectivityIntent;
+import org.onosproject.net.intent.PathIntent;
+import org.onosproject.net.intent.PointToPointIntent;
+import org.onosproject.net.link.LinkService;
 
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import static org.onlab.onos.net.intent.IntentState.INSTALLED;
+import static org.onosproject.net.intent.IntentState.INSTALLED;
 
 /**
  * Auxiliary facility to query the intent service based on the specified
diff --git a/web/gui/src/main/java/org/onosproject/gui/TopologyViewMessages.java b/web/gui/src/main/java/org/onosproject/gui/TopologyViewMessages.java
index 486e375..55f155e 100644
--- a/web/gui/src/main/java/org/onosproject/gui/TopologyViewMessages.java
+++ b/web/gui/src/main/java/org/onosproject/gui/TopologyViewMessages.java
@@ -13,54 +13,54 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.gui;
+package org.onosproject.gui;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.onos.cluster.ClusterEvent;
-import org.onlab.onos.cluster.ClusterService;
-import org.onlab.onos.cluster.ControllerNode;
-import org.onlab.onos.cluster.NodeId;
-import org.onlab.onos.core.CoreService;
-import org.onlab.onos.mastership.MastershipService;
-import org.onlab.onos.net.Annotated;
-import org.onlab.onos.net.AnnotationKeys;
-import org.onlab.onos.net.Annotations;
-import org.onlab.onos.net.ConnectPoint;
-import org.onlab.onos.net.DefaultEdgeLink;
-import org.onlab.onos.net.Device;
-import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.EdgeLink;
-import org.onlab.onos.net.Host;
-import org.onlab.onos.net.HostId;
-import org.onlab.onos.net.HostLocation;
-import org.onlab.onos.net.Link;
-import org.onlab.onos.net.LinkKey;
-import org.onlab.onos.net.PortNumber;
-import org.onlab.onos.net.device.DeviceEvent;
-import org.onlab.onos.net.device.DeviceService;
-import org.onlab.onos.net.flow.FlowEntry;
-import org.onlab.onos.net.flow.FlowRuleService;
-import org.onlab.onos.net.flow.TrafficTreatment;
-import org.onlab.onos.net.flow.instructions.Instruction;
-import org.onlab.onos.net.flow.instructions.Instructions.OutputInstruction;
-import org.onlab.onos.net.host.HostEvent;
-import org.onlab.onos.net.host.HostService;
-import org.onlab.onos.net.intent.Intent;
-import org.onlab.onos.net.intent.IntentService;
-import org.onlab.onos.net.intent.LinkCollectionIntent;
-import org.onlab.onos.net.intent.OpticalConnectivityIntent;
-import org.onlab.onos.net.intent.OpticalPathIntent;
-import org.onlab.onos.net.intent.PathIntent;
-import org.onlab.onos.net.link.LinkEvent;
-import org.onlab.onos.net.link.LinkService;
-import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.net.statistic.Load;
-import org.onlab.onos.net.statistic.StatisticService;
-import org.onlab.onos.net.topology.Topology;
-import org.onlab.onos.net.topology.TopologyService;
+import org.onosproject.cluster.ClusterEvent;
+import org.onosproject.cluster.ClusterService;
+import org.onosproject.cluster.ControllerNode;
+import org.onosproject.cluster.NodeId;
+import org.onosproject.core.CoreService;
+import org.onosproject.mastership.MastershipService;
+import org.onosproject.net.Annotated;
+import org.onosproject.net.AnnotationKeys;
+import org.onosproject.net.Annotations;
+import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.DefaultEdgeLink;
+import org.onosproject.net.Device;
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.EdgeLink;
+import org.onosproject.net.Host;
+import org.onosproject.net.HostId;
+import org.onosproject.net.HostLocation;
+import org.onosproject.net.Link;
+import org.onosproject.net.LinkKey;
+import org.onosproject.net.PortNumber;
+import org.onosproject.net.device.DeviceEvent;
+import org.onosproject.net.device.DeviceService;
+import org.onosproject.net.flow.FlowEntry;
+import org.onosproject.net.flow.FlowRuleService;
+import org.onosproject.net.flow.TrafficTreatment;
+import org.onosproject.net.flow.instructions.Instruction;
+import org.onosproject.net.flow.instructions.Instructions.OutputInstruction;
+import org.onosproject.net.host.HostEvent;
+import org.onosproject.net.host.HostService;
+import org.onosproject.net.intent.Intent;
+import org.onosproject.net.intent.IntentService;
+import org.onosproject.net.intent.LinkCollectionIntent;
+import org.onosproject.net.intent.OpticalConnectivityIntent;
+import org.onosproject.net.intent.OpticalPathIntent;
+import org.onosproject.net.intent.PathIntent;
+import org.onosproject.net.link.LinkEvent;
+import org.onosproject.net.link.LinkService;
+import org.onosproject.net.provider.ProviderId;
+import org.onosproject.net.statistic.Load;
+import org.onosproject.net.statistic.StatisticService;
+import org.onosproject.net.topology.Topology;
+import org.onosproject.net.topology.TopologyService;
 import org.onlab.osgi.ServiceDirectory;
 import org.onlab.packet.IpAddress;
 import org.slf4j.Logger;
@@ -80,20 +80,20 @@
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Strings.isNullOrEmpty;
-import static org.onlab.onos.cluster.ClusterEvent.Type.INSTANCE_ADDED;
-import static org.onlab.onos.cluster.ClusterEvent.Type.INSTANCE_REMOVED;
-import static org.onlab.onos.cluster.ControllerNode.State.ACTIVE;
-import static org.onlab.onos.net.DeviceId.deviceId;
-import static org.onlab.onos.net.HostId.hostId;
-import static org.onlab.onos.net.LinkKey.linkKey;
-import static org.onlab.onos.net.PortNumber.P0;
-import static org.onlab.onos.net.PortNumber.portNumber;
-import static org.onlab.onos.net.device.DeviceEvent.Type.DEVICE_ADDED;
-import static org.onlab.onos.net.device.DeviceEvent.Type.DEVICE_REMOVED;
-import static org.onlab.onos.net.host.HostEvent.Type.HOST_ADDED;
-import static org.onlab.onos.net.host.HostEvent.Type.HOST_REMOVED;
-import static org.onlab.onos.net.link.LinkEvent.Type.LINK_ADDED;
-import static org.onlab.onos.net.link.LinkEvent.Type.LINK_REMOVED;
+import static org.onosproject.cluster.ClusterEvent.Type.INSTANCE_ADDED;
+import static org.onosproject.cluster.ClusterEvent.Type.INSTANCE_REMOVED;
+import static org.onosproject.cluster.ControllerNode.State.ACTIVE;
+import static org.onosproject.net.DeviceId.deviceId;
+import static org.onosproject.net.HostId.hostId;
+import static org.onosproject.net.LinkKey.linkKey;
+import static org.onosproject.net.PortNumber.P0;
+import static org.onosproject.net.PortNumber.portNumber;
+import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_ADDED;
+import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_REMOVED;
+import static org.onosproject.net.host.HostEvent.Type.HOST_ADDED;
+import static org.onosproject.net.host.HostEvent.Type.HOST_REMOVED;
+import static org.onosproject.net.link.LinkEvent.Type.LINK_ADDED;
+import static org.onosproject.net.link.LinkEvent.Type.LINK_REMOVED;
 
 /**
  * Facility for creating messages bound for the topology viewer.
@@ -102,7 +102,7 @@
 
     protected static final Logger log = LoggerFactory.getLogger(TopologyViewMessages.class);
 
-    private static final ProviderId PID = new ProviderId("core", "org.onlab.onos.core", true);
+    private static final ProviderId PID = new ProviderId("core", "org.onosproject.core", true);
     private static final String COMPACT = "%s/%s-%s/%s";
 
     private static final double KB = 1024;
diff --git a/web/gui/src/main/java/org/onosproject/gui/TopologyViewWebSocket.java b/web/gui/src/main/java/org/onosproject/gui/TopologyViewWebSocket.java
index bd02065..899a7b0 100644
--- a/web/gui/src/main/java/org/onosproject/gui/TopologyViewWebSocket.java
+++ b/web/gui/src/main/java/org/onosproject/gui/TopologyViewWebSocket.java
@@ -13,46 +13,46 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.gui;
+package org.onosproject.gui;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.eclipse.jetty.websocket.WebSocket;
-import org.onlab.onos.cluster.ClusterEvent;
-import org.onlab.onos.cluster.ClusterEventListener;
-import org.onlab.onos.cluster.ControllerNode;
-import org.onlab.onos.core.ApplicationId;
-import org.onlab.onos.core.CoreService;
-import org.onlab.onos.event.AbstractEventAccumulator;
-import org.onlab.onos.event.Event;
-import org.onlab.onos.event.EventAccumulator;
-import org.onlab.onos.mastership.MastershipAdminService;
-import org.onlab.onos.mastership.MastershipEvent;
-import org.onlab.onos.mastership.MastershipListener;
-import org.onlab.onos.net.ConnectPoint;
-import org.onlab.onos.net.Device;
-import org.onlab.onos.net.Host;
-import org.onlab.onos.net.HostId;
-import org.onlab.onos.net.HostLocation;
-import org.onlab.onos.net.Link;
-import org.onlab.onos.net.device.DeviceEvent;
-import org.onlab.onos.net.device.DeviceListener;
-import org.onlab.onos.net.flow.DefaultTrafficSelector;
-import org.onlab.onos.net.flow.DefaultTrafficTreatment;
-import org.onlab.onos.net.flow.FlowRuleEvent;
-import org.onlab.onos.net.flow.FlowRuleListener;
-import org.onlab.onos.net.flow.TrafficSelector;
-import org.onlab.onos.net.flow.TrafficTreatment;
-import org.onlab.onos.net.host.HostEvent;
-import org.onlab.onos.net.host.HostListener;
-import org.onlab.onos.net.intent.HostToHostIntent;
-import org.onlab.onos.net.intent.Intent;
-import org.onlab.onos.net.intent.IntentEvent;
-import org.onlab.onos.net.intent.IntentListener;
-import org.onlab.onos.net.intent.MultiPointToSinglePointIntent;
-import org.onlab.onos.net.link.LinkEvent;
-import org.onlab.onos.net.link.LinkListener;
+import org.onosproject.cluster.ClusterEvent;
+import org.onosproject.cluster.ClusterEventListener;
+import org.onosproject.cluster.ControllerNode;
+import org.onosproject.core.ApplicationId;
+import org.onosproject.core.CoreService;
+import org.onosproject.event.AbstractEventAccumulator;
+import org.onosproject.event.Event;
+import org.onosproject.event.EventAccumulator;
+import org.onosproject.mastership.MastershipAdminService;
+import org.onosproject.mastership.MastershipEvent;
+import org.onosproject.mastership.MastershipListener;
+import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.Device;
+import org.onosproject.net.Host;
+import org.onosproject.net.HostId;
+import org.onosproject.net.HostLocation;
+import org.onosproject.net.Link;
+import org.onosproject.net.device.DeviceEvent;
+import org.onosproject.net.device.DeviceListener;
+import org.onosproject.net.flow.DefaultTrafficSelector;
+import org.onosproject.net.flow.DefaultTrafficTreatment;
+import org.onosproject.net.flow.FlowRuleEvent;
+import org.onosproject.net.flow.FlowRuleListener;
+import org.onosproject.net.flow.TrafficSelector;
+import org.onosproject.net.flow.TrafficTreatment;
+import org.onosproject.net.host.HostEvent;
+import org.onosproject.net.host.HostListener;
+import org.onosproject.net.intent.HostToHostIntent;
+import org.onosproject.net.intent.Intent;
+import org.onosproject.net.intent.IntentEvent;
+import org.onosproject.net.intent.IntentListener;
+import org.onosproject.net.intent.MultiPointToSinglePointIntent;
+import org.onosproject.net.link.LinkEvent;
+import org.onosproject.net.link.LinkListener;
 import org.onlab.osgi.ServiceDirectory;
 import org.onlab.packet.Ethernet;
 
@@ -67,13 +67,13 @@
 import java.util.TimerTask;
 
 import static com.google.common.base.Strings.isNullOrEmpty;
-import static org.onlab.onos.cluster.ClusterEvent.Type.INSTANCE_ADDED;
-import static org.onlab.onos.net.DeviceId.deviceId;
-import static org.onlab.onos.net.HostId.hostId;
-import static org.onlab.onos.net.device.DeviceEvent.Type.DEVICE_ADDED;
-import static org.onlab.onos.net.device.DeviceEvent.Type.DEVICE_UPDATED;
-import static org.onlab.onos.net.host.HostEvent.Type.HOST_ADDED;
-import static org.onlab.onos.net.link.LinkEvent.Type.LINK_ADDED;
+import static org.onosproject.cluster.ClusterEvent.Type.INSTANCE_ADDED;
+import static org.onosproject.net.DeviceId.deviceId;
+import static org.onosproject.net.HostId.hostId;
+import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_ADDED;
+import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_UPDATED;
+import static org.onosproject.net.host.HostEvent.Type.HOST_ADDED;
+import static org.onosproject.net.link.LinkEvent.Type.LINK_ADDED;
 
 /**
  * Web socket capable of interacting with the GUI topology view.
@@ -88,7 +88,7 @@
     private static final byte PONG = 0xA;
     private static final byte[] PING_DATA = new byte[]{(byte) 0xde, (byte) 0xad};
 
-    private static final String APP_ID = "org.onlab.onos.gui";
+    private static final String APP_ID = "org.onosproject.gui";
 
     private static final long TRAFFIC_FREQUENCY = 2000;
     private static final long SUMMARY_FREQUENCY = 30000;
diff --git a/web/gui/src/main/java/org/onosproject/gui/package-info.java b/web/gui/src/main/java/org/onosproject/gui/package-info.java
index 4aa1ced..2a33b30 100644
--- a/web/gui/src/main/java/org/onosproject/gui/package-info.java
+++ b/web/gui/src/main/java/org/onosproject/gui/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Set of resources providing data for the ONOS GUI.
  */
-package org.onlab.onos.gui;
+package org.onosproject.gui;
diff --git a/web/gui/src/main/webapp/WEB-INF/web.xml b/web/gui/src/main/webapp/WEB-INF/web.xml
index 1afdef7..afe4e3c 100644
--- a/web/gui/src/main/webapp/WEB-INF/web.xml
+++ b/web/gui/src/main/webapp/WEB-INF/web.xml
@@ -29,7 +29,7 @@
         <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
         <init-param>
             <param-name>com.sun.jersey.config.property.packages</param-name>
-            <param-value>org.onlab.onos.gui</param-value>
+            <param-value>org.onosproject.gui</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
     </servlet>
@@ -41,7 +41,7 @@
 
     <servlet>
         <servlet-name>Web Socket Service</servlet-name>
-        <servlet-class>org.onlab.onos.gui.GuiWebSocketServlet</servlet-class>
+        <servlet-class>org.onosproject.gui.GuiWebSocketServlet</servlet-class>
         <load-on-startup>2</load-on-startup>
     </servlet>
 
@@ -51,4 +51,4 @@
     </servlet-mapping>
 
 
-</web-app>
\ No newline at end of file
+</web-app>
diff --git a/web/pom.xml b/web/pom.xml
index b7f3c87..8979c65 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -20,7 +20,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.onlab.onos</groupId>
+        <groupId>org.onosproject</groupId>
         <artifactId>onos</artifactId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
@@ -42,23 +42,23 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.onlab.onos</groupId>
+            <groupId>org.onosproject</groupId>
             <artifactId>onos-api</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.onlab.onos</groupId>
+            <groupId>org.onosproject</groupId>
             <artifactId>onlab-osgi</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
-            <groupId>org.onlab.onos</groupId>
+            <groupId>org.onosproject</groupId>
             <artifactId>onlab-rest</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onlab.onos</groupId>
+            <groupId>org.onosproject</groupId>
             <artifactId>onlab-junit</artifactId>
             <scope>test</scope>
         </dependency>
@@ -136,7 +136,7 @@
                             org.onlab.osgi.*,
                             org.onlab.packet.*,
                             org.onlab.rest.*,
-                            org.onlab.onos.*
+                            org.onosproject.*
                         </Import-Package>
                         <Web-ContextPath>${web.context}</Web-ContextPath>
                     </instructions>
