Import fix

Change-Id: Ic157c4da3343064655b3925a965cdfab3ada809a
diff --git a/ofagent/protos/third_party/__init__.py b/ofagent/protos/third_party/__init__.py
index e69de29..6dab4e7 100644
--- a/ofagent/protos/third_party/__init__.py
+++ b/ofagent/protos/third_party/__init__.py
@@ -0,0 +1,50 @@
+#
+# Copyright 2016 the original author or authors.
+#
+# 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.
+#
+
+"""
+This helps loading http_pb2 and annotations_pb2.
+Without this, the Python importer will not be able to process the lines:
+from google.api import http_pb2 or
+from google.api import annotations_pb2
+(Without importing these, the protobuf loader will not recognize http options
+in the protobuf definitions.)
+"""
+
+from importlib import import_module
+import os
+import sys
+
+
+class GoogleApiImporter(object):
+
+    def find_module(self, full_name, path=None):
+        if full_name == 'google.api':
+            self.path = [os.path.dirname(__file__)]
+            return self
+
+    def load_module(self, name):
+        if name in sys.modules:
+            return sys.modules[name]
+        full_name = 'ofagent.protos.third_party.' + name
+        import_module(full_name)
+        module = sys.modules[full_name]
+        sys.modules[name] = module
+        return module
+
+
+sys.meta_path.append(GoogleApiImporter())
+from google.api import http_pb2, annotations_pb2
+_ = http_pb2, annotations_pb2
diff --git a/voltha/core/device_model.py b/voltha/core/device_model.py
index 2e39085..3a25e7f 100644
--- a/voltha/core/device_model.py
+++ b/voltha/core/device_model.py
@@ -22,10 +22,8 @@
 
 import structlog
 
-from voltha.protos.third_party.google import api
-sys.modules['google.api'] = api
-from voltha.protos import openflow_13_pb2 as ofp
 from voltha.protos import voltha_pb2
+from voltha.protos import openflow_13_pb2 as ofp
 
 log = structlog.get_logger()
 
diff --git a/voltha/northbound/grpc/grpc_server.py b/voltha/northbound/grpc/grpc_server.py
index 53eb848..489e0ff 100644
--- a/voltha/northbound/grpc/grpc_server.py
+++ b/voltha/northbound/grpc/grpc_server.py
@@ -16,7 +16,6 @@
 
 """gRPC server endpoint"""
 import os
-import sys
 import uuid
 from Queue import Queue
 from os.path import abspath, basename, dirname, join, walk
diff --git a/voltha/protos/third_party/__init__.py b/voltha/protos/third_party/__init__.py
index 19192c4..0608e8c 100644
--- a/voltha/protos/third_party/__init__.py
+++ b/voltha/protos/third_party/__init__.py
@@ -38,7 +38,7 @@
     def load_module(self, name):
         if name in sys.modules:
             return sys.modules[name]
-        full_name = 'chameleon.protos.third_party.' + name
+        full_name = 'voltha.protos.third_party.' + name
         import_module(full_name)
         module = sys.modules[full_name]
         sys.modules[name] = module