diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java
index 70fa7c1..c2879a4 100644
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java
+++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java
@@ -32,23 +32,21 @@
 import org.codehaus.jackson.map.JsonMappingException;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.type.TypeReference;
-
-import org.openecomp.sdc.api.IDistributionClient;
-import org.openecomp.sdc.api.notification.IArtifactInfo;
-import org.openecomp.sdc.api.notification.INotificationData;
-import org.openecomp.sdc.api.notification.IResourceInstance;
-import org.openecomp.sdc.api.notification.IVfModuleMetadata;
-import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;
 import org.openecomp.mso.asdc.client.ASDCConfiguration;
 import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;
-import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
 import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;
+import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
 import org.openecomp.mso.db.catalog.beans.Service;
 import org.openecomp.mso.db.catalog.beans.ServiceToAllottedResources;
 import org.openecomp.mso.db.catalog.beans.ServiceToNetworks;
 import org.openecomp.mso.db.catalog.beans.VnfResource;
-
+import org.openecomp.mso.logger.MessageEnum;
 import org.openecomp.mso.logger.MsoLogger;
+import org.openecomp.sdc.api.IDistributionClient;
+import org.openecomp.sdc.api.notification.IArtifactInfo;
+import org.openecomp.sdc.api.notification.INotificationData;
+import org.openecomp.sdc.api.notification.IResourceInstance;
+import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;
 /**
  * This structure exists to avoid having issues if the order of the vfResource/vfmodule artifact is not good (tree structure).
  *
@@ -141,8 +139,10 @@
 
 	public void createVfModuleStructures() throws ArtifactInstallerException {
 
+	    //for vender tosca VNF there is no VFModule in VF
 		if (vfModulesMetadataList == null) {
-			throw new ArtifactInstallerException("VfModule Meta DATA could not be decoded properly or was not present in the notification");
+		    LOGGER.info(MessageEnum.ASDC_GENERAL_INFO,"There is no VF mudules in the VF.", "ASDC", "createVfModuleStructures");
+		    return;
 		}
 		for (IVfModuleData vfModuleMeta:vfModulesMetadataList) {
 			vfModulesStructureList.add(new VfModuleStructure(this,vfModuleMeta));
diff --git a/common/src/main/java/org/openecomp/mso/logger/MessageEnum.java b/common/src/main/java/org/openecomp/mso/logger/MessageEnum.java
index 3d181e3..9635541 100644
--- a/common/src/main/java/org/openecomp/mso/logger/MessageEnum.java
+++ b/common/src/main/java/org/openecomp/mso/logger/MessageEnum.java
@@ -172,6 +172,7 @@
 	ASDC_GENERAL_EXCEPTION_ARG,
 	ASDC_GENERAL_EXCEPTION,
 	ASDC_GENERAL_WARNING,
+	ASDC_GENERAL_INFO,
 	ASDC_AUDIT_EXEC,
 	ASDC_GENERAL_METRICS,
 	ASDC_CREATE_SERVICE,
diff --git a/common/src/main/resources/ASDC.properties b/common/src/main/resources/ASDC.properties
index 015ca35..4f3864d 100644
--- a/common/src/main/resources/ASDC.properties
+++ b/common/src/main/resources/ASDC.properties
@@ -208,3 +208,8 @@
                   Please verify whether properties file exist or readable|\
                   Please verify whether properties file exist or readable|\
                   Properties file not found
+ASDC_GENERAL_INFO=\
+                  MSO-ASDC-9305I|\
+                  INFO: {0}|\
+                  No resolution needed|\
+                  General Info 
