kafka-integration app has been fixed and built using bazel

Change-Id: Ibbb57cac83983a030cf6e267906415fa1d002d23
diff --git a/apps/kafka-integration/BUILD b/apps/kafka-integration/BUILD
index c0b04d9..9077b7e 100644
--- a/apps/kafka-integration/BUILD
+++ b/apps/kafka-integration/BUILD
@@ -1,19 +1,17 @@
-# FIXME: Work in progress
-
 BUNDLES = [
-    "@kafka-clients//jar",
-    "@protobuf-java-3.2.0//jar",
+    "@kafka_clients//jar",
+    "@runtime_protobuf//jar",
     "//incubator/protobuf/models:onos-incubator-protobuf-models",
-    "//incubator/protobuf/models:onos-incubator-protobuf-models-proto",
+    "//incubator/protobuf/models/proto:onos-incubator-protobuf-models-proto",
     "//apps/kafka-integration/api:onos-apps-kafka-integration-api",
     "//apps/kafka-integration/app:onos-apps-kafka-integration-app",
 ]
 
-#onos_app (
-#  title = "Kafka Integration",
-#  category = "Integration",
-#  url = "http://onosproject.org",
-#  description = "Provides integration of ONOS and Kafka message bus so that internal ONOS events " +
-#    "can be broadcast over the Kafka message bus to off-platform applications.",
-#  included_bundles = BUNDLES,
-#)
+onos_app(
+    category = "Integration",
+    description = "Provides integration of ONOS and Kafka message bus so that internal ONOS events " +
+                  "can be broadcast over the Kafka message bus to off-platform applications.",
+    included_bundles = BUNDLES,
+    title = "Kafka Integration",
+    url = "http://onosproject.org",
+)
diff --git a/apps/kafka-integration/app/BUILD b/apps/kafka-integration/app/BUILD
index d711987..2b39734 100644
--- a/apps/kafka-integration/app/BUILD
+++ b/apps/kafka-integration/app/BUILD
@@ -1,21 +1,20 @@
-# FIXME: Work in progress
-
 COMPILE_DEPS = CORE_DEPS + JACKSON + KRYO + CLI + [
     "//apps/kafka-integration/api:onos-apps-kafka-integration-api",
     "//core/store/serializers:onos-core-serializers",
     "@kafka_clients//jar",
-    "@protobuf-java-3.2.0//jar",
-    "//lib:GRPC_1.3",
+    "@javax_ws_rs_api//jar",
+    "//utils/rest:onlab-rest",
+    "@com_google_protobuf//:protobuf_java",
     "//incubator/protobuf/models:onos-incubator-protobuf-models",
-    "//incubator/protobuf/models:onos-incubator-protobuf-models-proto",
+    "//incubator/protobuf/models/proto:onos-incubator-protobuf-models-proto",
 ]
 
-#osgi_jar_with_tests (
-#    deps = COMPILE_DEPS,
-#    test_deps = TEST_ADAPTERS,
-#    web_context = "/onos/kafka-integration",
-#    api_title = "Kafka Integration",
-#    api_version = "1.0",
-#    api_description = "REST API for Kafka Integration",
-#    api_package = "org.onosproject.kafkaintegration.rest",
-#)
+osgi_jar_with_tests(
+    api_description = "REST API for Kafka Integration",
+    api_package = "org.onosproject.kafkaintegration.rest",
+    api_title = "Kafka Integration",
+    api_version = "1.0",
+    test_deps = TEST_ADAPTERS,
+    web_context = "/onos/kafka-integration",
+    deps = COMPILE_DEPS,
+)
diff --git a/incubator/protobuf/models/BUILD b/incubator/protobuf/models/BUILD
new file mode 100644
index 0000000..a46e781
--- /dev/null
+++ b/incubator/protobuf/models/BUILD
@@ -0,0 +1,7 @@
+COMPILE_DEPS = CORE_DEPS + [
+    "//incubator/protobuf/models/proto:onos-incubator-protobuf-models-proto",
+]
+
+osgi_jar_with_tests(
+    deps = COMPILE_DEPS,
+)
diff --git a/incubator/protobuf/models/proto/BUILD b/incubator/protobuf/models/proto/BUILD
new file mode 100644
index 0000000..e0d5c37
--- /dev/null
+++ b/incubator/protobuf/models/proto/BUILD
@@ -0,0 +1,495 @@
+load("//tools/build/bazel:osgi_java_library.bzl", "osgi_proto_jar")
+
+PROTO_SOURCE_ROOT = "incubator/protobuf/models/proto"
+
+osgi_proto_jar(
+    proto_libs = [
+        ":ApplicationsEnums_proto",
+        ":ConfigPropertyEnums_proto",
+        ":ConfigProperty_proto",
+        ":NodeId_proto",
+        ":RoleInfo_proto",
+        ":ApplicationId_proto",
+        ":ApplicationProto_proto",
+        ":Version_proto",
+        ":DeviceDescription_proto",
+        ":DeviceEnums_proto",
+        ":DeviceEvent_proto",
+        ":PortDescription_proto",
+        ":PortEnums_proto",
+        ":PortStatistics_proto",
+        ":Criterion_proto",
+        ":Instruction_proto",
+        ":Instructions_proto",
+        ":FlowEntryEnums_proto",
+        ":FlowEntry_proto",
+        ":FlowRuleEnums_proto",
+        ":FlowRule_proto",
+        ":TraficSelector_proto",
+        ":TrafficTreatment_proto",
+        ":HostDescription_proto",
+        ":HostEnums_proto",
+        ":HostEvent_proto",
+        ":LinkDescription_proto",
+        ":LinkEnums_proto",
+        ":LinkEvent_proto",
+        ":BandEnums_proto",
+        ":Band_proto",
+        ":MeterEnums_proto",
+        ":MeterEvent_proto",
+        ":Meter_proto",
+        ":MeterRequest_proto",
+        ":OutboundPacket_proto",
+        ":PacketEnums_proto",
+        ":PacketEvent_proto",
+        ":PacketProcessorEntry_proto",
+        ":PacketProcessor_proto",
+        ":PacketRequest_proto",
+        ":RegionEnums_proto",
+        ":ConnectPoint_proto",
+        ":Device_proto",
+        ":DisjointPath_proto",
+        ":HostId_proto",
+        ":HostLocation_proto",
+        ":Host_proto",
+        ":Link_proto",
+        ":MastershipRole_proto",
+        ":Path_proto",
+        ":Port_proto",
+        ":ProviderId_proto",
+        ":Region_proto",
+        ":Permission_proto",
+    ],
+)
+
+### app ###
+proto_library(
+    name = "ApplicationsEnums_proto",
+    srcs = ["app/ApplicationEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+### cfg ###
+proto_library(
+    name = "ConfigPropertyEnums_proto",
+    srcs = ["cfg/ConfigPropertyEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "ConfigProperty_proto",
+    srcs = ["cfg/ConfigPropertyProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":ConfigPropertyEnums_proto"],
+)
+
+### cluster ###
+proto_library(
+    name = "NodeId_proto",
+    srcs = ["cluster/NodeIdProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "RoleInfo_proto",
+    srcs = ["cluster/RoleInfoProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":NodeId_proto"],
+)
+
+### core ###
+
+proto_library(
+    name = "ApplicationId_proto",
+    srcs = ["core/ApplicationIdProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "ApplicationProto_proto",
+    srcs = ["core/ApplicationProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":ApplicationId_proto",
+        ":ApplicationsEnums_proto",
+        ":Permission_proto",
+        ":Version_proto",
+    ],
+)
+
+proto_library(
+    name = "Version_proto",
+    srcs = ["core/VersionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+### net ###
+
+### device ###
+proto_library(
+    name = "DeviceDescription_proto",
+    srcs = ["net/device/DeviceDescriptionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":DeviceEnums_proto"],
+)
+
+proto_library(
+    name = "DeviceEnums_proto",
+    srcs = ["net/device/DeviceEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "DeviceEvent_proto",
+    srcs = ["net/device/DeviceEventProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":DeviceEnums_proto",
+        ":Device_proto",
+        ":Port_proto",
+    ],
+)
+
+proto_library(
+    name = "PortDescription_proto",
+    srcs = ["net/device/PortDescriptionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":PortEnums_proto"],
+)
+
+proto_library(
+    name = "PortEnums_proto",
+    srcs = ["net/device/PortEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "PortStatistics_proto",
+    srcs = ["net/device/PortStatisticsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+### flow ###
+## criteria ##
+proto_library(
+    name = "Criterion_proto",
+    srcs = ["net/flow/criteria/CriterionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+## instrcutions ##
+proto_library(
+    name = "Instruction_proto",
+    srcs = ["net/flow/instructions/InstructionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "Instructions_proto",
+    srcs = ["net/flow/instructions/InstructionsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "FlowEntryEnums_proto",
+    srcs = ["net/flow/FlowEntryEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "FlowEntry_proto",
+    srcs = ["net/flow/FlowEntryProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = ["FlowEntryEnums_proto"],
+)
+
+proto_library(
+    name = "FlowRuleEnums_proto",
+    srcs = ["net/flow/FlowRuleEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "FlowRule_proto",
+    srcs = ["net/flow/FlowRuleProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":FlowRuleEnums_proto",
+        ":TrafficTreatment_proto",
+        ":TraficSelector_proto",
+    ],
+)
+
+proto_library(
+    name = "TraficSelector_proto",
+    srcs = ["net/flow/TrafficSelectorProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":Criterion_proto"],
+)
+
+proto_library(
+    name = "TrafficTreatment_proto",
+    srcs = ["net/flow/TrafficTreatmentProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        "Instruction_proto",
+        ":Instructions_proto",
+    ],
+)
+
+#### host ####
+
+proto_library(
+    name = "HostDescription_proto",
+    srcs = ["net/host/HostDescriptionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":HostLocation_proto"],
+)
+
+proto_library(
+    name = "HostEnums_proto",
+    srcs = ["net/host/HostEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "HostEvent_proto",
+    srcs = ["net/host/HostEventProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":HostEnums_proto",
+        ":Host_proto",
+    ],
+)
+
+#### link ####
+
+proto_library(
+    name = "LinkDescription_proto",
+    srcs = ["net/link/LinkDescriptionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":ConnectPoint_proto",
+        ":LinkEnums_proto",
+    ],
+)
+
+proto_library(
+    name = "LinkEnums_proto",
+    srcs = ["net/link/LinkEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "LinkEvent_proto",
+    srcs = ["net/link/LinkEventProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":LinkEnums_proto",
+        ":Link_proto",
+    ],
+)
+
+### meter ####
+
+proto_library(
+    name = "BandEnums_proto",
+    srcs = ["net/meter/BandEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "Band_proto",
+    srcs = ["net/meter/BandProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":BandEnums_proto"],
+)
+
+proto_library(
+    name = "MeterEnums_proto",
+    srcs = ["net/meter/MeterEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "MeterEvent_proto",
+    srcs = ["net/meter/MeterEventProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":MeterEnums_proto",
+        ":Meter_proto",
+    ],
+)
+
+proto_library(
+    name = "Meter_proto",
+    srcs = ["net/meter/MeterProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        "MeterEnums_proto",
+        ":ApplicationId_proto",
+        ":Band_proto",
+    ],
+)
+
+proto_library(
+    name = "MeterRequest_proto",
+    srcs = ["net/meter/MeterRequestProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":ApplicationId_proto",
+        ":Band_proto",
+        ":MeterEnums_proto",
+    ],
+)
+
+### packet ####
+
+proto_library(
+    name = "OutboundPacket_proto",
+    srcs = ["net/packet/OutboundPacketProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":TrafficTreatment_proto"],
+)
+
+proto_library(
+    name = "PacketEnums_proto",
+    srcs = ["net/packet/PacketEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "PacketEvent_proto",
+    srcs = ["net/packet/PacketEventProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":OutboundPacket_proto",
+        ":PacketEnums_proto",
+    ],
+)
+
+proto_library(
+    name = "PacketProcessorEntry_proto",
+    srcs = ["net/packet/PacketProcessorEntryProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":PacketProcessor_proto"],
+)
+
+proto_library(
+    name = "PacketProcessor_proto",
+    srcs = ["net/packet/PacketProcessorProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "PacketRequest_proto",
+    srcs = ["net/packet/PacketRequestProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":ApplicationId_proto",
+        ":NodeId_proto",
+        ":TraficSelector_proto",
+    ],
+)
+
+#### region ####
+
+proto_library(
+    name = "RegionEnums_proto",
+    srcs = ["net/region/RegionEnumsProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "ConnectPoint_proto",
+    srcs = ["net/ConnectPointProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "Device_proto",
+    srcs = ["net/DeviceProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":DeviceEnums_proto"],
+)
+
+proto_library(
+    name = "DisjointPath_proto",
+    srcs = ["net/DisjointPathProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":Path_proto"],
+)
+
+proto_library(
+    name = "HostId_proto",
+    srcs = ["net/HostIdProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "HostLocation_proto",
+    srcs = ["net/HostLocationProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":ConnectPoint_proto"],
+)
+
+proto_library(
+    name = "Host_proto",
+    srcs = ["net/HostProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":HostId_proto",
+        ":HostLocation_proto",
+        ":ProviderId_proto",
+    ],
+)
+
+proto_library(
+    name = "Link_proto",
+    srcs = ["net/LinkProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [
+        ":ConnectPoint_proto",
+        ":LinkEnums_proto",
+        ":ProviderId_proto",
+    ],
+)
+
+proto_library(
+    name = "MastershipRole_proto",
+    srcs = ["net/MastershipRoleProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "Path_proto",
+    srcs = ["net/PathProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":Link_proto"],
+)
+
+proto_library(
+    name = "Port_proto",
+    srcs = ["net/PortProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":PortEnums_proto"],
+)
+
+proto_library(
+    name = "ProviderId_proto",
+    srcs = ["net/ProviderIdProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
+
+proto_library(
+    name = "Region_proto",
+    srcs = ["net/RegionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+    deps = [":RegionEnums_proto"],
+)
+
+proto_library(
+    name = "Permission_proto",
+    srcs = ["security/PermissionProto.proto"],
+    proto_source_root = PROTO_SOURCE_ROOT,
+)
diff --git a/incubator/protobuf/models/src/main/proto/app/ApplicationEnumsProto.proto b/incubator/protobuf/models/proto/app/ApplicationEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/app/ApplicationEnumsProto.proto
rename to incubator/protobuf/models/proto/app/ApplicationEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/cfg/ConfigPropertyEnumsProto.proto b/incubator/protobuf/models/proto/cfg/ConfigPropertyEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/cfg/ConfigPropertyEnumsProto.proto
rename to incubator/protobuf/models/proto/cfg/ConfigPropertyEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/cfg/ConfigPropertyProto.proto b/incubator/protobuf/models/proto/cfg/ConfigPropertyProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/cfg/ConfigPropertyProto.proto
rename to incubator/protobuf/models/proto/cfg/ConfigPropertyProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/cluster/NodeIdProto.proto b/incubator/protobuf/models/proto/cluster/NodeIdProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/cluster/NodeIdProto.proto
rename to incubator/protobuf/models/proto/cluster/NodeIdProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/cluster/RoleInfoProto.proto b/incubator/protobuf/models/proto/cluster/RoleInfoProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/cluster/RoleInfoProto.proto
rename to incubator/protobuf/models/proto/cluster/RoleInfoProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/core/ApplicationIdProto.proto b/incubator/protobuf/models/proto/core/ApplicationIdProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/core/ApplicationIdProto.proto
rename to incubator/protobuf/models/proto/core/ApplicationIdProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/core/ApplicationProto.proto b/incubator/protobuf/models/proto/core/ApplicationProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/core/ApplicationProto.proto
rename to incubator/protobuf/models/proto/core/ApplicationProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/core/VersionProto.proto b/incubator/protobuf/models/proto/core/VersionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/core/VersionProto.proto
rename to incubator/protobuf/models/proto/core/VersionProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/ConnectPointProto.proto b/incubator/protobuf/models/proto/net/ConnectPointProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/ConnectPointProto.proto
rename to incubator/protobuf/models/proto/net/ConnectPointProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/DeviceProto.proto b/incubator/protobuf/models/proto/net/DeviceProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/DeviceProto.proto
rename to incubator/protobuf/models/proto/net/DeviceProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/DisjointPathProto.proto b/incubator/protobuf/models/proto/net/DisjointPathProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/DisjointPathProto.proto
rename to incubator/protobuf/models/proto/net/DisjointPathProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/HostIdProto.proto b/incubator/protobuf/models/proto/net/HostIdProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/HostIdProto.proto
rename to incubator/protobuf/models/proto/net/HostIdProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/HostLocationProto.proto b/incubator/protobuf/models/proto/net/HostLocationProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/HostLocationProto.proto
rename to incubator/protobuf/models/proto/net/HostLocationProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/HostProto.proto b/incubator/protobuf/models/proto/net/HostProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/HostProto.proto
rename to incubator/protobuf/models/proto/net/HostProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/LinkProto.proto b/incubator/protobuf/models/proto/net/LinkProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/LinkProto.proto
rename to incubator/protobuf/models/proto/net/LinkProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/MastershipRoleProto.proto b/incubator/protobuf/models/proto/net/MastershipRoleProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/MastershipRoleProto.proto
rename to incubator/protobuf/models/proto/net/MastershipRoleProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/PathProto.proto b/incubator/protobuf/models/proto/net/PathProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/PathProto.proto
rename to incubator/protobuf/models/proto/net/PathProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/PortProto.proto b/incubator/protobuf/models/proto/net/PortProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/PortProto.proto
rename to incubator/protobuf/models/proto/net/PortProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/ProviderIdProto.proto b/incubator/protobuf/models/proto/net/ProviderIdProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/ProviderIdProto.proto
rename to incubator/protobuf/models/proto/net/ProviderIdProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/RegionProto.proto b/incubator/protobuf/models/proto/net/RegionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/RegionProto.proto
rename to incubator/protobuf/models/proto/net/RegionProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/device/DeviceDescriptionProto.proto b/incubator/protobuf/models/proto/net/device/DeviceDescriptionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/device/DeviceDescriptionProto.proto
rename to incubator/protobuf/models/proto/net/device/DeviceDescriptionProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/device/DeviceEnumsProto.proto b/incubator/protobuf/models/proto/net/device/DeviceEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/device/DeviceEnumsProto.proto
rename to incubator/protobuf/models/proto/net/device/DeviceEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/device/DeviceEventProto.proto b/incubator/protobuf/models/proto/net/device/DeviceEventProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/device/DeviceEventProto.proto
rename to incubator/protobuf/models/proto/net/device/DeviceEventProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/device/PortDescriptionProto.proto b/incubator/protobuf/models/proto/net/device/PortDescriptionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/device/PortDescriptionProto.proto
rename to incubator/protobuf/models/proto/net/device/PortDescriptionProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/device/PortEnumsProto.proto b/incubator/protobuf/models/proto/net/device/PortEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/device/PortEnumsProto.proto
rename to incubator/protobuf/models/proto/net/device/PortEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/device/PortStatisticsProto.proto b/incubator/protobuf/models/proto/net/device/PortStatisticsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/device/PortStatisticsProto.proto
rename to incubator/protobuf/models/proto/net/device/PortStatisticsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/FlowEntryEnumsProto.proto b/incubator/protobuf/models/proto/net/flow/FlowEntryEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/FlowEntryEnumsProto.proto
rename to incubator/protobuf/models/proto/net/flow/FlowEntryEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/FlowEntryProto.proto b/incubator/protobuf/models/proto/net/flow/FlowEntryProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/FlowEntryProto.proto
rename to incubator/protobuf/models/proto/net/flow/FlowEntryProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/FlowRuleEnumsProto.proto b/incubator/protobuf/models/proto/net/flow/FlowRuleEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/FlowRuleEnumsProto.proto
rename to incubator/protobuf/models/proto/net/flow/FlowRuleEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/FlowRuleProto.proto b/incubator/protobuf/models/proto/net/flow/FlowRuleProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/FlowRuleProto.proto
rename to incubator/protobuf/models/proto/net/flow/FlowRuleProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/TrafficSelectorProto.proto b/incubator/protobuf/models/proto/net/flow/TrafficSelectorProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/TrafficSelectorProto.proto
rename to incubator/protobuf/models/proto/net/flow/TrafficSelectorProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/TrafficTreatmentProto.proto b/incubator/protobuf/models/proto/net/flow/TrafficTreatmentProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/TrafficTreatmentProto.proto
rename to incubator/protobuf/models/proto/net/flow/TrafficTreatmentProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/criteria/CriterionProto.proto b/incubator/protobuf/models/proto/net/flow/criteria/CriterionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/criteria/CriterionProto.proto
rename to incubator/protobuf/models/proto/net/flow/criteria/CriterionProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/instructions/InstructionProto.proto b/incubator/protobuf/models/proto/net/flow/instructions/InstructionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/instructions/InstructionProto.proto
rename to incubator/protobuf/models/proto/net/flow/instructions/InstructionProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/flow/instructions/InstructionsProto.proto b/incubator/protobuf/models/proto/net/flow/instructions/InstructionsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/flow/instructions/InstructionsProto.proto
rename to incubator/protobuf/models/proto/net/flow/instructions/InstructionsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/host/HostDescriptionProto.proto b/incubator/protobuf/models/proto/net/host/HostDescriptionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/host/HostDescriptionProto.proto
rename to incubator/protobuf/models/proto/net/host/HostDescriptionProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/host/HostEnumsProto.proto b/incubator/protobuf/models/proto/net/host/HostEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/host/HostEnumsProto.proto
rename to incubator/protobuf/models/proto/net/host/HostEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/host/HostEventProto.proto b/incubator/protobuf/models/proto/net/host/HostEventProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/host/HostEventProto.proto
rename to incubator/protobuf/models/proto/net/host/HostEventProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/link/LinkDescriptionProto.proto b/incubator/protobuf/models/proto/net/link/LinkDescriptionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/link/LinkDescriptionProto.proto
rename to incubator/protobuf/models/proto/net/link/LinkDescriptionProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/link/LinkEnumsProto.proto b/incubator/protobuf/models/proto/net/link/LinkEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/link/LinkEnumsProto.proto
rename to incubator/protobuf/models/proto/net/link/LinkEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/link/LinkEventProto.proto b/incubator/protobuf/models/proto/net/link/LinkEventProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/link/LinkEventProto.proto
rename to incubator/protobuf/models/proto/net/link/LinkEventProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/meter/BandEnumsProto.proto b/incubator/protobuf/models/proto/net/meter/BandEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/meter/BandEnumsProto.proto
rename to incubator/protobuf/models/proto/net/meter/BandEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/meter/BandProto.proto b/incubator/protobuf/models/proto/net/meter/BandProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/meter/BandProto.proto
rename to incubator/protobuf/models/proto/net/meter/BandProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/meter/MeterEnumsProto.proto b/incubator/protobuf/models/proto/net/meter/MeterEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/meter/MeterEnumsProto.proto
rename to incubator/protobuf/models/proto/net/meter/MeterEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/meter/MeterEventProto.proto b/incubator/protobuf/models/proto/net/meter/MeterEventProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/meter/MeterEventProto.proto
rename to incubator/protobuf/models/proto/net/meter/MeterEventProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/meter/MeterProto.proto b/incubator/protobuf/models/proto/net/meter/MeterProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/meter/MeterProto.proto
rename to incubator/protobuf/models/proto/net/meter/MeterProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/meter/MeterRequestProto.proto b/incubator/protobuf/models/proto/net/meter/MeterRequestProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/meter/MeterRequestProto.proto
rename to incubator/protobuf/models/proto/net/meter/MeterRequestProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/packet/OutboundPacketProto.proto b/incubator/protobuf/models/proto/net/packet/OutboundPacketProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/packet/OutboundPacketProto.proto
rename to incubator/protobuf/models/proto/net/packet/OutboundPacketProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/packet/PacketEnumsProto.proto b/incubator/protobuf/models/proto/net/packet/PacketEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/packet/PacketEnumsProto.proto
rename to incubator/protobuf/models/proto/net/packet/PacketEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/packet/PacketEventProto.proto b/incubator/protobuf/models/proto/net/packet/PacketEventProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/packet/PacketEventProto.proto
rename to incubator/protobuf/models/proto/net/packet/PacketEventProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/packet/PacketProcessorEntryProto.proto b/incubator/protobuf/models/proto/net/packet/PacketProcessorEntryProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/packet/PacketProcessorEntryProto.proto
rename to incubator/protobuf/models/proto/net/packet/PacketProcessorEntryProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/packet/PacketProcessorProto.proto b/incubator/protobuf/models/proto/net/packet/PacketProcessorProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/packet/PacketProcessorProto.proto
rename to incubator/protobuf/models/proto/net/packet/PacketProcessorProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/packet/PacketRequestProto.proto b/incubator/protobuf/models/proto/net/packet/PacketRequestProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/packet/PacketRequestProto.proto
rename to incubator/protobuf/models/proto/net/packet/PacketRequestProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/net/region/RegionEnumsProto.proto b/incubator/protobuf/models/proto/net/region/RegionEnumsProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/net/region/RegionEnumsProto.proto
rename to incubator/protobuf/models/proto/net/region/RegionEnumsProto.proto
diff --git a/incubator/protobuf/models/src/main/proto/security/PermissionProto.proto b/incubator/protobuf/models/proto/security/PermissionProto.proto
similarity index 100%
rename from incubator/protobuf/models/src/main/proto/security/PermissionProto.proto
rename to incubator/protobuf/models/proto/security/PermissionProto.proto
diff --git a/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/cluster/RoleInfoProtoTranslator.java b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/cluster/RoleInfoProtoTranslator.java
index ddea094..d879a08 100644
--- a/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/cluster/RoleInfoProtoTranslator.java
+++ b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/cluster/RoleInfoProtoTranslator.java
@@ -38,7 +38,7 @@
         NodeId master = NodeIdProtoTranslator.translate(roleInfo.getMaster());
 
         List<NodeId> backups = Lists.newArrayList();
-        roleInfo.getBackupsList().stream().map(r ->
+        backups = roleInfo.getBackupsList().stream().map(r ->
                 NodeIdProtoTranslator.translate(r)).collect(Collectors.toList());
         return new RoleInfo(master, backups);
     }
diff --git a/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/LinkProtoTranslator.java b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/LinkProtoTranslator.java
index fd139da..770d835 100644
--- a/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/LinkProtoTranslator.java
+++ b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/LinkProtoTranslator.java
@@ -15,8 +15,8 @@
  */
 package org.onosproject.incubator.protobuf.models.net;
 
-import org.onosproject.grpc.net.models.LinkProtoOuterClass;
 import org.onosproject.incubator.protobuf.models.net.link.LinkEnumsProtoTranslator;
+import org.onosproject.grpc.net.models.LinkProtoOuterClass;
 import org.onosproject.net.Annotations;
 import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.DefaultAnnotations;
diff --git a/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/RegionProtoTranslator.java b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/RegionProtoTranslator.java
index 7512ebf..f426982 100644
--- a/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/RegionProtoTranslator.java
+++ b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/RegionProtoTranslator.java
@@ -16,9 +16,9 @@
 package org.onosproject.incubator.protobuf.models.net;
 
 import com.google.common.base.Strings;
+import org.onosproject.incubator.protobuf.models.net.region.RegionEnumsProtoTranslator;
 import org.onosproject.cluster.NodeId;
 import org.onosproject.grpc.net.models.RegionProtoOuterClass;
-import org.onosproject.incubator.protobuf.models.net.region.RegionEnumsProtoTranslator;
 import org.onosproject.net.Annotations;
 import org.onosproject.net.region.DefaultRegion;
 import org.onosproject.net.region.Region;
diff --git a/modules.bzl b/modules.bzl
index c1b22eb..9052ab8 100644
--- a/modules.bzl
+++ b/modules.bzl
@@ -77,7 +77,8 @@
     "//web/api:onos-rest",
     "//web/gui2:onos-gui2",
     "//web/gui:onos-gui",
-    # "//incubator/protobuf/models:onos-incubator-protobuf-models",
+    "//incubator/protobuf/models/proto:onos-incubator-protobuf-models-proto",
+    "//incubator/protobuf/models:onos-incubator-protobuf-models",
     # "//incubator/protobuf/services/nb:onos-incubator-protobuf-services-nb",
 ]
 
@@ -241,7 +242,7 @@
     "//apps/powermanagement:onos-apps-powermanagement-oar",
     "//apps/t3:onos-apps-t3-oar",
     "//apps/simplefabric:onos-apps-simplefabric-oar",
-    # "//apps/kafka-integration:onos-apps-kafka-integration-oar",
+    "//apps/kafka-integration:onos-apps-kafka-integration-oar",
     "//apps/rabbitmq:onos-apps-rabbitmq-oar",
     "//apps/odtn/api:onos-apps-odtn-api-oar",
     "//apps/odtn/service:onos-apps-odtn-service-oar",
@@ -298,7 +299,7 @@
     "//apps/vtn/vtnmgr:onos-apps-vtn-vtnmgr",
     "//apps/vtn/vtnweb:onos-apps-vtn-vtnweb",
     "//apps/kafka-integration/api:onos-apps-kafka-integration-api",
-    # "//apps/kafka-integration/app:onos-apps-kafka-integration-app",
+    "//apps/kafka-integration/app:onos-apps-kafka-integration-app",
 ]
 
 FEATURES = [
diff --git a/modules.defs b/modules.defs
index 5c16ff3..e9b95e3 100644
--- a/modules.defs
+++ b/modules.defs
@@ -83,8 +83,8 @@
     # '//web/gui2:onos-gui2',
     '//web/gui:onos-gui',
 
-    '//incubator/protobuf/models:onos-incubator-protobuf-models',
-    '//incubator/protobuf/services/nb:onos-incubator-protobuf-services-nb',
+    #'//incubator/protobuf/models:onos-incubator-protobuf-models',
+    #'//incubator/protobuf/services/nb:onos-incubator-protobuf-services-nb',
 ]
 
 ONOS_DRIVERS = [
@@ -236,8 +236,8 @@
     '//apps/evpnopenflow:onos-apps-evpnopenflow-oar',
     '//apps/route-service:onos-apps-route-service-oar',
     '//apps/evpn-route-service:onos-apps-evpn-route-service-oar',
-    '//incubator/protobuf/registry:onos-incubator-protobuf-registry-oar',
-    '//incubator/protobuf/services/nb:onos-incubator-protobuf-services-nb-oar',
+    #'//incubator/protobuf/registry:onos-incubator-protobuf-registry-oar',
+    #'//incubator/protobuf/services/nb:onos-incubator-protobuf-services-nb-oar',
     '//apps/openstacknetworkingui:onos-apps-openstacknetworkingui-oar',
     '//apps/openstacktelemetry:onos-apps-openstacktelemetry-oar',
     '//apps/openstacktroubleshoot:onos-apps-openstacktroubleshoot-oar',
@@ -249,7 +249,7 @@
     '//apps/powermanagement:onos-apps-powermanagement-oar',
     '//apps/t3:onos-apps-t3-oar',
     '//apps/simplefabric:onos-apps-simplefabric-oar',
-    '//apps/kafka-integration:onos-apps-kafka-integration-oar',
+    #'//apps/kafka-integration:onos-apps-kafka-integration-oar',
     '//apps/rabbitmq:onos-apps-rabbitmq-oar',
     '//apps/odtn/api:onos-apps-odtn-api-oar',
     '//apps/odtn/service:onos-apps-odtn-service-oar',
@@ -305,8 +305,8 @@
     '//apps/vtn/sfcmgr:onos-apps-vtn-sfcmgr',
     '//apps/vtn/vtnmgr:onos-apps-vtn-vtnmgr',
     '//apps/vtn/vtnweb:onos-apps-vtn-vtnweb',
-    '//apps/kafka-integration/api:onos-apps-kafka-integration-api',
-    '//apps/kafka-integration/app:onos-apps-kafka-integration-app',
+    #'//apps/kafka-integration/api:onos-apps-kafka-integration-api',
+    #'//apps/kafka-integration/app:onos-apps-kafka-integration-app',
 ]
 
 FEATURES = [
@@ -314,7 +314,7 @@
   '//tools/package/features:onos-thirdparty-web',
   '//tools/package/features:onos-api',
   '//tools/package/features:onos-core',
-  '//tools/package/features:onos-incubator',
+  #'//tools/package/features:onos-incubator',
   '//tools/package/features:onos-rest',
   '//tools/package/features:onos-gui',
   #'//tools/package/features:onos-gui2',