VOL-1981: Same Device Provisioning Multiple Times

Change-Id: Iee4478bcc0b5bffe216d7941bf02d8e045d1ad21
diff --git a/rw_core/core/grpc_nbi_api_handler.go b/rw_core/core/grpc_nbi_api_handler.go
index e97956a..aff80bc 100755
--- a/rw_core/core/grpc_nbi_api_handler.go
+++ b/rw_core/core/grpc_nbi_api_handler.go
@@ -426,7 +426,11 @@
 
 // CreateDevice creates a new parent device in the data model
 func (handler *APIHandler) CreateDevice(ctx context.Context, device *voltha.Device) (*voltha.Device, error) {
-	log.Debugw("createdevice", log.Fields{"device": *device})
+	if device.MacAddress == "" && device.GetHostAndPort() == "" {
+		log.Errorf("No Device Info Present")
+		return nil, errors.New("No Device Info Present; MAC or HOSTIP&PORT")
+	}
+	log.Debugw("create-device", log.Fields{"device": *device})
 	if isTestMode(ctx) {
 		return &voltha.Device{Id: device.Id}, nil
 	}