Fabric configuration change 04/74604/1
authorManzon, Inna (im453s) <im453s@intl.att.com>
Wed, 12 Dec 2018 15:47:01 +0000 (17:47 +0200)
committerManzon, Inna (im453s) <im453s@intl.att.com>
Thu, 13 Dec 2018 10:03:24 +0000 (12:03 +0200)
Change-Id: I584bbce2bdd45c6873ca3ed3b8b8820530d4804b
Issue-ID: SDC-1998
Signed-off-by: Manzon, Inna (im453s) <im453s@intl.att.com>
48 files changed:
openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/HeatConstants.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNovaServerImpl.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNovaServerImplTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/attr_flag/input/MANIFEST.json [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/input/MANIFEST.json with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/attr_flag/input/base_vCE.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/input/base_vCE.yaml with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/attr_flag/output/MainServiceTemplate.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/output/MainServiceTemplate.yaml with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/input/MANIFEST.json [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/input/MANIFEST.json with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/attr_flag/input/MANIFEST.json [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/input/MANIFEST.json with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/attr_flag/input/base_vCE.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/input/base_vCE.yaml with 99% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/attr_flag/output/MainServiceTemplate.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/output/MainServiceTemplate.yaml with 99% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/input/MANIFEST.json [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/input/MANIFEST.json with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/input/MANIFEST.json [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/input/MANIFEST.json with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/attr_flag/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/attr_flag/input/base_vCE.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/input/base_vCE.yaml with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/attr_flag/output/MainServiceTemplate.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/output/MainServiceTemplate.yaml with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/attr_flag/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/attr_flag/input/base_vCE.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/input/base_vCE.yaml with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/attr_flag/output/MainServiceTemplate.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/output/MainServiceTemplate.yaml with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/output/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/attr_flag/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/attr_flag/input/base_vCE.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/input/base_vCE.yaml with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/attr_flag/output/MainServiceTemplate.yaml [moved from openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/output/MainServiceTemplate.yaml with 100% similarity]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/input/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/input/base_vCE.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/output/MainServiceTemplate.yaml [new file with mode: 0644]

index 1fedcfb..31c0b6e 100644 (file)
@@ -63,6 +63,8 @@ public class HeatConstants {
     public static final String ENABLE_DHCP_PROPERTY_NAME = "enable_dhcp";
     public static final String VALUE_SPECS_PROPERTY_NAME = "value_specs";
     public static final String ATT_FABRIC_CONFIGURATION_REQUIRED = "ATT_FABRIC_CONFIGURATION_REQUIRED";
+    public static final String VALUE_SPECS_BINDING_PROFILE_PROPERTY_NAME = "binding:profile";
+    public static final String VALUE_SPECS_FABRIC_CONFIG_PROPERTY_NAME = "fabric_config";
 
     private HeatConstants() {
         //Hide the implicit constructor
index 745d1bd..8c36d20 100644 (file)
@@ -374,15 +374,31 @@ public class ResourceTranslationNovaServerImpl extends ResourceTranslationBase {
        
        Optional<Object> valueSpacesProperty = HeatToToscaUtil.getResourceProperty(portResource, HeatConstants.VALUE_SPECS_PROPERTY_NAME);
        
-       valueSpacesProperty.filter(props -> props instanceof Map && MapUtils.isNotEmpty((Map)props)).ifPresent(valueSpecs ->{          
-           Object value = ((Map)(valueSpecs)).get(HeatConstants.ATT_FABRIC_CONFIGURATION_REQUIRED);
-           if(value!= null && HeatBoolean.eval(value )){
+       valueSpacesProperty.filter(props -> props instanceof Map && MapUtils.isNotEmpty((Map)props)).ifPresent(valueSpecs ->{
+           if(valueSpecs instanceof Map && (isAttFabricConfigurationFlagSet((Map)valueSpecs) || isBindingProfileFabricConfigSet((Map)valueSpecs))) {
                addFabricConfigurationCapability(translateTo, resourceType);
            }
            
        });
       
     }
+
+    private boolean isValueFoundAndTrue(Object value) {
+        return Objects.nonNull(value) && HeatBoolean.eval(value);
+    }
+
+    private boolean isAttFabricConfigurationFlagSet(Map valueSpecs) {
+        return isValueFoundAndTrue(valueSpecs.get(HeatConstants.ATT_FABRIC_CONFIGURATION_REQUIRED));
+    }
+
+    private boolean isBindingProfileFabricConfigSet(Map valueSpecs) {
+        Object binding_profile = valueSpecs.get(HeatConstants.VALUE_SPECS_BINDING_PROFILE_PROPERTY_NAME);
+        if (Objects.nonNull(binding_profile) && binding_profile instanceof Map) {
+            return !MapUtils.isEmpty((Map)binding_profile)
+                    && isValueFoundAndTrue(((Map)binding_profile).get(HeatConstants.VALUE_SPECS_FABRIC_CONFIG_PROPERTY_NAME));
+        }
+        return false;
+    }
     
     private void addFabricConfigurationCapability(TranslateTo translateTo, String localType){
         
@@ -391,7 +407,10 @@ public class ResourceTranslationNovaServerImpl extends ResourceTranslationBase {
         CapabilityDefinition fabricConfigurationCap = new CapabilityDefinition();        
         fabricConfigurationCap.setType(ToscaCapabilityType.FABRIC_CONFIGURATION);
         mapCapabilities.put(FABRIC_CONFIGURATION_KEY, fabricConfigurationCap);
-        DataModelUtil.addNodeTypeCapabilitiesDef (DataModelUtil.getNodeType(serviceTemplate, localType), mapCapabilities);            
+        DataModelUtil.addNodeTypeCapabilitiesDef (DataModelUtil.getNodeType(serviceTemplate, localType), mapCapabilities);
+        if (logger.isDebugEnabled()) {
+            logger.debug("New capability of type {} will be added to resource {}", ToscaCapabilityType.FABRIC_CONFIGURATION, translateTo.getResourceId());
+        }
     }
 
     private Optional<Resource> getOrTranslatePortTemplate(TranslateTo translateTo,
index 44a0e20..b268bc2 100644 (file)
@@ -71,51 +71,101 @@ public class ResourceTranslationNovaServerImplTest extends BaseResourceTranslati
   }
   
   @Test
-  public void testFabricConfigurationOnlyOnePortTrue() throws IOException {
+  public void testFabricConfigurationOnlyOnePortTrueAttrFlag() throws IOException {
     inputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/input";
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/attr_flag/input";
     outputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/output";
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/attr_flag/output";
     initTranslatorAndTranslate();
     testTranslation();
   }
+
+  @Test
+  public void testFabricConfigurationOnlyOnePortTrueBindingProfile() throws IOException {
+      inputFilesPath =
+              "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/input";
+      outputFilesPath =
+              "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/output";
+      initTranslatorAndTranslate();
+      testTranslation();
+  }
   
   @Test
-  public void testFabricConfigurationAllFalse() throws IOException {
+  public void testFabricConfigurationAllFalseAttrFlag() throws IOException {
     inputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/input";
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/attr_flag/input";
     outputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/output";
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/attr_flag/output";
     initTranslatorAndTranslate();
     testTranslation();
   }
+
+  @Test
+   public void testFabricConfigurationAllFalseBindingProfile() throws IOException {
+       inputFilesPath =
+               "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/input";
+       outputFilesPath =
+               "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/output";
+       initTranslatorAndTranslate();
+       testTranslation();
+   }
   
   @Test
-  public void testFabricConfigurationPropertyNull() throws IOException {
+  public void testFabricConfigurationPropertyNullAttrFlag() throws IOException {
     inputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/input";
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/attr_flag/input";
     outputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/output";
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/attr_flag/output";
     initTranslatorAndTranslate();
     testTranslation();
   }
+
+  @Test
+   public void testFabricConfigurationPropertyNullBindingProfile() throws IOException {
+     inputFilesPath =
+             "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/input";
+     outputFilesPath =
+             "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/output";
+     initTranslatorAndTranslate();
+     testTranslation();
+   }
   
   @Test
-  public void testFabricConfigurationWithoutProperty() throws IOException {
+  public void testFabricConfigurationWithoutPropertyAttrFlag() throws IOException {
     inputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/input";
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/attr_flag/input";
     outputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/output";
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/attr_flag/output";
     initTranslatorAndTranslate();
     testTranslation();
   }
-  
+
+  @Test
+  public void testFabricConfigurationWithoutPropertyBindingProfile() throws IOException {
+      inputFilesPath =
+              "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/input";
+      outputFilesPath =
+              "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/output";
+      initTranslatorAndTranslate();
+      testTranslation();
+  }
+
+  @Test
+  public void testFabricConfiguration2PortsAttrFlag() throws IOException {
+    inputFilesPath =
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/attr_flag/input";
+    outputFilesPath =
+        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/attr_flag/output";
+    initTranslatorAndTranslate();
+    testTranslation();
+  }
+
   @Test
-  public void testFabricConfiguration2Ports() throws IOException {
+  public void testFabricConfiguration2PortsWithBindingProfile() throws IOException {
     inputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/input";
+            "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/input";
     outputFilesPath =
-        "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/output";
+            "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/output";
     initTranslatorAndTranslate();
     testTranslation();
   }
@@ -128,6 +178,54 @@ public class ResourceTranslationNovaServerImplTest extends BaseResourceTranslati
       TestFeatureManagerProvider.setFeatureManager(null);
   }
 
-  
-  
+  @Test
+  public void testFabricConfigurationMixedBothPropertiesTrue() throws IOException {
+      inputFilesPath =
+              "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/input";
+      outputFilesPath =
+              "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/output";
+      initTranslatorAndTranslate();
+      testTranslation();
+  }
+
+  @Test
+  public void testFabricConfigurationMixedOnePropertyTrue() throws IOException {
+      inputFilesPath =
+              "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/input";
+      outputFilesPath =
+              "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/output";
+      initTranslatorAndTranslate();
+      testTranslation();
+  }
+
+    @Test
+    public void testFabricConfigurationMixedBothPropertiesFalse() throws IOException {
+        inputFilesPath =
+                "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/input";
+        outputFilesPath =
+                "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/output";
+        initTranslatorAndTranslate();
+        testTranslation();
+    }
+
+    @Test
+    public void testFabricConfigurationMixedBindingProfileIsNotMap() throws IOException {
+        inputFilesPath =
+                "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/input";
+        outputFilesPath =
+                "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/output";
+        initTranslatorAndTranslate();
+        testTranslation();
+    }
+
+    @Test
+    public void testFabricConfigurationMixedBindingProfileIsNull() throws IOException {
+        inputFilesPath =
+                "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/input";
+        outputFilesPath =
+                "/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/output";
+        initTranslatorAndTranslate();
+        testTranslation();
+    }
+
 }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..a2ddd56
--- /dev/null
@@ -0,0 +1,228 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  vce_SRIOV1_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV1_0
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV1_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV1_0_public_vlans }, private_vlans: { get_param: lvce_SRIOV1_0_private_vlans }, fabric_config: True }
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV2_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV2_0_public_vlans }, private_vlans: { get_param: vce_SRIOV2_0_private_vlans }, fabric_config: False }
+
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/2ports/binding_profile/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..f44c898
--- /dev/null
@@ -0,0 +1,721 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+    capabilities:
+      fabric_configuration_monitoring:
+        type: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+topology_template:
+  inputs:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    vce_SRIOV1_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vce_SRIOV1_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    vce_SRIOV1_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV2_0_public_vlans
+            fabric_config: false
+            vlan_filter:
+              get_input: vce_SRIOV2_0_vlan_filter
+            private_vlans:
+              get_input: vce_SRIOV2_0_private_vlans
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV1_0_public_vlans
+            fabric_config: true
+            vlan_filter:
+              get_input: vce_SRIOV1_0_vlan_filter
+            private_vlans:
+              get_input: lvce_SRIOV1_0_private_vlans
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
@@ -225,6 +225,7 @@ resources:
            ATT_VF_UNKNOWN_UNICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV2_0 }
            ATT_VF_INSERT_STAG: { get_param: ATT_VF_INSERT_STAG_vCE_SRIOV2_0 }
            ATT_VF_LINK_STATUS: { get_param: ATT_VF_LINK_STATUS_vCE_SRIOV2_0 }
+           ATT_FABRIC_CONFIGURATION_REQUIRED: false
 
   vce_0:
     type: OS::Nova::Server
@@ -748,6 +748,7 @@ topology_template:
             get_input: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV2_0
           ATT_VF_UNKNOWN_MULTICAST_ALLOW:
             get_input: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV2_0
+          ATT_FABRIC_CONFIGURATION_REQUIRED: false
           ATT_VF_MAC_ANTI_SPOOF_CHECK:
             get_input: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV2_0
           ATT_VF_VLAN_FILTER:
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..6bc4f63
--- /dev/null
@@ -0,0 +1,228 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  vce_SRIOV1_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV1_0
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV1_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV1_0_public_vlans }, private_vlans: { get_param: lvce_SRIOV1_0_private_vlans }, fabric_config: False }
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV2_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV2_0_public_vlans }, private_vlans: { get_param: vce_SRIOV2_0_private_vlans }, fabric_config: False }
+
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/all_false/binding_profile/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..57829dd
--- /dev/null
@@ -0,0 +1,715 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    vce_SRIOV1_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vce_SRIOV1_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    vce_SRIOV1_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV2_0_public_vlans
+            fabric_config: false
+            vlan_filter:
+              get_input: vce_SRIOV2_0_vlan_filter
+            private_vlans:
+              get_input: vce_SRIOV2_0_private_vlans
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV1_0_public_vlans
+            fabric_config: false
+            vlan_filter:
+              get_input: vce_SRIOV1_0_vlan_filter
+            private_vlans:
+              get_input: lvce_SRIOV1_0_private_vlans
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..f5efbaa
--- /dev/null
@@ -0,0 +1,253 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  ATT_VF_VLAN_FILTER_vCE_SRIOV1_0: 
+    type: json
+    description: VF VLAN Filters specified in JSON list object
+  ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify VLAN Strip option
+  ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0: 
+    type: boolean
+    description: boolean to specify vlan anti spoof check option
+  ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify mac anti spoof check option
+  ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of broadcast traffic
+  ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown multicast
+  ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown unicast
+  ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify insertion of outer tag for traffic coming out of VM
+  ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+    type: string
+    description: specify link status of SRIOV VF
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+           ATT_VF_VLAN_FILTER: { get_param: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_STRIP: { get_param: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_ANTI_SPOOF_CHECK: { get_param: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_MAC_ANTI_SPOOF_CHECK: { get_param: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_BROADCAST_ALLOW: { get_param: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_MULTICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_UNICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_INSERT_STAG: { get_param: ATT_VF_INSERT_STAG_vCE_SRIOV1_0 }
+           ATT_VF_LINK_STATUS: { get_param: ATT_VF_LINK_STATUS_vCE_SRIOV1_0 }
+           ATT_FABRIC_CONFIGURATION_REQUIRED: false
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": profile
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_not_map/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..c6575bf
--- /dev/null
@@ -0,0 +1,791 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify insertion of outer tag for traffic coming out of VM
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of broadcast traffic
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+      type: string
+      description: specify link status of SRIOV VF
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown unicast
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify VLAN Strip option
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    ATT_VF_VLAN_FILTER_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+      type: json
+      description: VF VLAN Filters specified in JSON list object
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown multicast
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify vlan anti spoof check option
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify mac anti spoof check option
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile: profile
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          ATT_VF_BROADCAST_ALLOW:
+            get_input: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_VLAN_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_MULTICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+          ATT_FABRIC_CONFIGURATION_REQUIRED: false
+          ATT_VF_MAC_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_VLAN_FILTER:
+            get_input: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+          ATT_VF_VLAN_STRIP:
+            get_input: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+          ATT_VF_LINK_STATUS:
+            get_input: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_UNICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_INSERT_STAG:
+            get_input: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..bd8d7ac
--- /dev/null
@@ -0,0 +1,253 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  ATT_VF_VLAN_FILTER_vCE_SRIOV1_0: 
+    type: json
+    description: VF VLAN Filters specified in JSON list object
+  ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify VLAN Strip option
+  ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0: 
+    type: boolean
+    description: boolean to specify vlan anti spoof check option
+  ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify mac anti spoof check option
+  ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of broadcast traffic
+  ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown multicast
+  ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown unicast
+  ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify insertion of outer tag for traffic coming out of VM
+  ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+    type: string
+    description: specify link status of SRIOV VF
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+           ATT_VF_VLAN_FILTER: { get_param: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_STRIP: { get_param: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_ANTI_SPOOF_CHECK: { get_param: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_MAC_ANTI_SPOOF_CHECK: { get_param: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_BROADCAST_ALLOW: { get_param: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_MULTICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_UNICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_INSERT_STAG: { get_param: ATT_VF_INSERT_STAG_vCE_SRIOV1_0 }
+           ATT_VF_LINK_STATUS: { get_param: ATT_VF_LINK_STATUS_vCE_SRIOV1_0 }
+           ATT_FABRIC_CONFIGURATION_REQUIRED: false
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile":
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_binding_profile_is_null/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..9f853e2
--- /dev/null
@@ -0,0 +1,791 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify insertion of outer tag for traffic coming out of VM
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of broadcast traffic
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+      type: string
+      description: specify link status of SRIOV VF
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown unicast
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify VLAN Strip option
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    ATT_VF_VLAN_FILTER_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+      type: json
+      description: VF VLAN Filters specified in JSON list object
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown multicast
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify vlan anti spoof check option
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify mac anti spoof check option
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile: null
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          ATT_VF_BROADCAST_ALLOW:
+            get_input: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_VLAN_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_MULTICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+          ATT_FABRIC_CONFIGURATION_REQUIRED: false
+          ATT_VF_MAC_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_VLAN_FILTER:
+            get_input: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+          ATT_VF_VLAN_STRIP:
+            get_input: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+          ATT_VF_LINK_STATUS:
+            get_input: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_UNICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_INSERT_STAG:
+            get_input: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..97391b8
--- /dev/null
@@ -0,0 +1,253 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  ATT_VF_VLAN_FILTER_vCE_SRIOV1_0: 
+    type: json
+    description: VF VLAN Filters specified in JSON list object
+  ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify VLAN Strip option
+  ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0: 
+    type: boolean
+    description: boolean to specify vlan anti spoof check option
+  ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify mac anti spoof check option
+  ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of broadcast traffic
+  ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown multicast
+  ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown unicast
+  ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify insertion of outer tag for traffic coming out of VM
+  ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+    type: string
+    description: specify link status of SRIOV VF
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+           ATT_VF_VLAN_FILTER: { get_param: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_STRIP: { get_param: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_ANTI_SPOOF_CHECK: { get_param: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_MAC_ANTI_SPOOF_CHECK: { get_param: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_BROADCAST_ALLOW: { get_param: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_MULTICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_UNICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_INSERT_STAG: { get_param: ATT_VF_INSERT_STAG_vCE_SRIOV1_0 }
+           ATT_VF_LINK_STATUS: { get_param: ATT_VF_LINK_STATUS_vCE_SRIOV1_0 }
+           ATT_FABRIC_CONFIGURATION_REQUIRED: false
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV2_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV2_0_public_vlans }, private_vlans: { get_param: vce_SRIOV2_0_private_vlans }, fabric_config: False }
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_false/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..be4c7d9
--- /dev/null
@@ -0,0 +1,798 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify insertion of outer tag for traffic coming out of VM
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of broadcast traffic
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+      type: string
+      description: specify link status of SRIOV VF
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown unicast
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify VLAN Strip option
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    ATT_VF_VLAN_FILTER_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+      type: json
+      description: VF VLAN Filters specified in JSON list object
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown multicast
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify vlan anti spoof check option
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify mac anti spoof check option
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV2_0_public_vlans
+            fabric_config: false
+            vlan_filter:
+              get_input: vce_SRIOV2_0_vlan_filter
+            private_vlans:
+              get_input: vce_SRIOV2_0_private_vlans
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          ATT_VF_BROADCAST_ALLOW:
+            get_input: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_VLAN_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_MULTICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+          ATT_FABRIC_CONFIGURATION_REQUIRED: false
+          ATT_VF_MAC_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_VLAN_FILTER:
+            get_input: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+          ATT_VF_VLAN_STRIP:
+            get_input: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+          ATT_VF_LINK_STATUS:
+            get_input: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_UNICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_INSERT_STAG:
+            get_input: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..c585891
--- /dev/null
@@ -0,0 +1,253 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  ATT_VF_VLAN_FILTER_vCE_SRIOV1_0: 
+    type: json
+    description: VF VLAN Filters specified in JSON list object
+  ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify VLAN Strip option
+  ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0: 
+    type: boolean
+    description: boolean to specify vlan anti spoof check option
+  ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify mac anti spoof check option
+  ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of broadcast traffic
+  ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown multicast
+  ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown unicast
+  ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify insertion of outer tag for traffic coming out of VM
+  ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+    type: string
+    description: specify link status of SRIOV VF
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+           ATT_VF_VLAN_FILTER: { get_param: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_STRIP: { get_param: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_ANTI_SPOOF_CHECK: { get_param: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_MAC_ANTI_SPOOF_CHECK: { get_param: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_BROADCAST_ALLOW: { get_param: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_MULTICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_UNICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_INSERT_STAG: { get_param: ATT_VF_INSERT_STAG_vCE_SRIOV1_0 }
+           ATT_VF_LINK_STATUS: { get_param: ATT_VF_LINK_STATUS_vCE_SRIOV1_0 }
+           ATT_FABRIC_CONFIGURATION_REQUIRED: true
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV2_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV2_0_public_vlans }, private_vlans: { get_param: vce_SRIOV2_0_private_vlans }, fabric_config: True }
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_both_properties_true/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..4383b8e
--- /dev/null
@@ -0,0 +1,804 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+    capabilities:
+      fabric_configuration_monitoring:
+        type: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+topology_template:
+  inputs:
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify insertion of outer tag for traffic coming out of VM
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of broadcast traffic
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+      type: string
+      description: specify link status of SRIOV VF
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown unicast
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify VLAN Strip option
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    ATT_VF_VLAN_FILTER_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+      type: json
+      description: VF VLAN Filters specified in JSON list object
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown multicast
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify vlan anti spoof check option
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify mac anti spoof check option
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV2_0_public_vlans
+            fabric_config: true
+            vlan_filter:
+              get_input: vce_SRIOV2_0_vlan_filter
+            private_vlans:
+              get_input: vce_SRIOV2_0_private_vlans
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          ATT_VF_BROADCAST_ALLOW:
+            get_input: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_VLAN_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_MULTICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+          ATT_FABRIC_CONFIGURATION_REQUIRED: true
+          ATT_VF_MAC_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_VLAN_FILTER:
+            get_input: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+          ATT_VF_VLAN_STRIP:
+            get_input: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+          ATT_VF_LINK_STATUS:
+            get_input: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_UNICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_INSERT_STAG:
+            get_input: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..51f491c
--- /dev/null
@@ -0,0 +1,253 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  ATT_VF_VLAN_FILTER_vCE_SRIOV1_0: 
+    type: json
+    description: VF VLAN Filters specified in JSON list object
+  ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify VLAN Strip option
+  ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0: 
+    type: boolean
+    description: boolean to specify vlan anti spoof check option
+  ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify mac anti spoof check option
+  ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of broadcast traffic
+  ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown multicast
+  ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify allowance of unknown unicast
+  ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+    type: boolean
+    description: boolean to specify insertion of outer tag for traffic coming out of VM
+  ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+    type: string
+    description: specify link status of SRIOV VF
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+           ATT_VF_VLAN_FILTER: { get_param: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_STRIP: { get_param: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0 }
+           ATT_VF_VLAN_ANTI_SPOOF_CHECK: { get_param: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_MAC_ANTI_SPOOF_CHECK: { get_param: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
+           ATT_VF_BROADCAST_ALLOW: { get_param: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_MULTICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_UNKNOWN_UNICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0 }
+           ATT_VF_INSERT_STAG: { get_param: ATT_VF_INSERT_STAG_vCE_SRIOV1_0 }
+           ATT_VF_LINK_STATUS: { get_param: ATT_VF_LINK_STATUS_vCE_SRIOV1_0 }
+           ATT_FABRIC_CONFIGURATION_REQUIRED: true
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV2_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV2_0_public_vlans }, private_vlans: { get_param: vce_SRIOV2_0_private_vlans }, fabric_config: False }
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/mixed_one_property_true/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..0670a36
--- /dev/null
@@ -0,0 +1,804 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+    capabilities:
+      fabric_configuration_monitoring:
+        type: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+topology_template:
+  inputs:
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify insertion of outer tag for traffic coming out of VM
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of broadcast traffic
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+      type: string
+      description: specify link status of SRIOV VF
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown unicast
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify VLAN Strip option
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    ATT_VF_VLAN_FILTER_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+      type: json
+      description: VF VLAN Filters specified in JSON list object
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify allowance of unknown multicast
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify vlan anti spoof check option
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+      type: boolean
+      description: boolean to specify mac anti spoof check option
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV2_0_public_vlans
+            fabric_config: false
+            vlan_filter:
+              get_input: vce_SRIOV2_0_vlan_filter
+            private_vlans:
+              get_input: vce_SRIOV2_0_private_vlans
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          ATT_VF_BROADCAST_ALLOW:
+            get_input: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_VLAN_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_MULTICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0
+          ATT_FABRIC_CONFIGURATION_REQUIRED: true
+          ATT_VF_MAC_ANTI_SPOOF_CHECK:
+            get_input: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0
+          ATT_VF_VLAN_FILTER:
+            get_input: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0
+          ATT_VF_VLAN_STRIP:
+            get_input: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0
+          ATT_VF_LINK_STATUS:
+            get_input: ATT_VF_LINK_STATUS_vCE_SRIOV1_0
+          ATT_VF_UNKNOWN_UNICAST_ALLOW:
+            get_input: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0
+          ATT_VF_INSERT_STAG:
+            get_input: ATT_VF_INSERT_STAG_vCE_SRIOV1_0
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/attr_flag/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/attr_flag/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..e09869f
--- /dev/null
@@ -0,0 +1,227 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  vce_SRIOV1_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV1_0
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV1_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV1_0_public_vlans }, private_vlans: { get_param: lvce_SRIOV1_0_private_vlans }, fabric_config: True }
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV2_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV2_0_public_vlans }, private_vlans: { get_param: vce_SRIOV2_0_private_vlans } }
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/one_port_true/binding_profile/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..8db1b36
--- /dev/null
@@ -0,0 +1,720 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+    capabilities:
+      fabric_configuration_monitoring:
+        type: org.openecomp.capabilities.FabricConfiguration
+        occurrences:
+        - 1
+        - UNBOUNDED
+topology_template:
+  inputs:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    vce_SRIOV1_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vce_SRIOV1_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    vce_SRIOV1_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV2_0_public_vlans
+            vlan_filter:
+              get_input: vce_SRIOV2_0_vlan_filter
+            private_vlans:
+              get_input: vce_SRIOV2_0_private_vlans
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV1_0_public_vlans
+            fabric_config: true
+            vlan_filter:
+              get_input: vce_SRIOV1_0_vlan_filter
+            private_vlans:
+              get_input: lvce_SRIOV1_0_private_vlans
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/attr_flag/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/attr_flag/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..9d8e31a
--- /dev/null
@@ -0,0 +1,227 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  vce_SRIOV1_0_vlan_filter:
+      type: comma_delimited_list
+      description: VLAN filter for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV1_0
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV1_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV1_0_public_vlans }, private_vlans: { get_param: lvce_SRIOV1_0_private_vlans }, fabric_config: }
+
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV2_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV2_0_public_vlans }, private_vlans: { get_param: vce_SRIOV2_0_private_vlans } }
+
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/property_null/binding_profile/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..51b2ab1
--- /dev/null
@@ -0,0 +1,714 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    vce_SRIOV1_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vce_SRIOV1_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    vce_SRIOV1_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV2_0_public_vlans
+            vlan_filter:
+              get_input: vce_SRIOV2_0_vlan_filter
+            private_vlans:
+              get_input: vce_SRIOV2_0_private_vlans
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV1_0_public_vlans
+            fabric_config: null
+            vlan_filter:
+              get_input: vce_SRIOV1_0_vlan_filter
+            private_vlans:
+              get_input: lvce_SRIOV1_0_private_vlans
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/attr_flag/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/attr_flag/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/input/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/input/MANIFEST.json
new file mode 100644 (file)
index 0000000..8948c05
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "lastTestFabric",
+  "description": "lastTestFabric",
+  "version": "0.0",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vCE.yaml",
+      "type": "HEAT"
+      
+    },
+    {
+      "file": "vCE_Cloudinit.txt",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/input/base_vCE.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/input/base_vCE.yaml
new file mode 100644 (file)
index 0000000..ca4ea23
--- /dev/null
@@ -0,0 +1,226 @@
+heat_template_version: 2015-04-30
+
+description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV. 
+
+#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
+
+parameters:
+#VM Parameters
+  vce_name_0:
+    type: string
+    description: Name of the VM
+  vce_flavor_name:
+    type: string
+    description: VM instance sizing
+  availability_zone_0:
+    type: string
+    description: The Availability Zone to launch the instance.
+  vnf_name:
+    type: string
+    description: Unique name for this VF instance
+  vnf_id:
+    type: string
+    description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+  vf_module_name:
+    type: string
+    description: Unique name for this VF Module instance -- Not used for this VNF 
+  sdnc_model_name: 
+    type: string
+    description: SDNC Blue Print Name
+  sdnc_model_version:
+    type: string
+    description: SDNC Model Version 
+  sdnc_artifact_name:
+    type: string
+    description:  SDNC Artifact Name
+  vf_module_id:
+    type: string
+    description: Unique ID for this VF Module instance -- Not used for this VNF
+  vce_volume_id_0:
+    type: string
+    description: ID of the boot disk volume
+  dcae_0:
+    type: string
+    description: IP Address of DCAE CTS Server
+  ntp_ip_0:
+    type: string
+    description: IP Address of primary NTP Server
+  ntp_ip_1: 
+    type: string
+    description: IP Address of secondary NTP Server
+  syslog_ip_0: 
+    type: string
+    description: IP Address of first syslog Server
+  syslog_ip_1: 
+    type: string
+    description: IP Address of second syslog Server
+  syslog_ip_2: 
+    type: string
+    description: IP Address of third syslog Server
+  syslog_ip_3: 
+    type: string
+    description: IP Address of fourth syslog Server
+  snmp_community_0: 
+    type: string
+    description: SNMP Community value
+  snmp_ip_0: 
+    type: string
+    description: IP Address of first SNMP Server
+  snmp_ip_1: 
+    type: string
+    description: IP Address of second SNMP Server
+  snmp_ip_2: 
+    type: string
+    description: IP Address of third SNMP Server
+  snmp_ip_3: 
+    type: string
+    description: IP Address of fourth SNMP Server
+  tacplus_key_0: 
+    type: string
+    description: TACPLUS key
+  tacplus_ip_0: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_1: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_2: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_ip_3: 
+    type: string
+    description: IP Address of first TACPLUS Server
+  tacplus_port_0: 
+    type: string
+    description: TACPLUS Domain Port
+#Networking Parameters
+#SRIOV Port 0
+  vce_SRIOV1_0_net_id:
+    type: string
+    description: SRIOV Provider 0 network id 
+  vce_SRIOV1_0_port_name:
+    type: string
+    description: name for sriov Port 0
+  vce_SRIOV1_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV1_0
+  vce_SRIOV1_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV1_0
+  
+#SRIOV Port 1
+  vce_SRIOV2_0_net_id:
+    type: string
+    description: SRIOV Provider 1 network id 
+  vce_SRIOV2_0_port_name:
+    type: string
+    description: name for sriov Port 1
+  vce_SRIOV2_0_vlan_filter:
+    type: comma_delimited_list
+    description: VLAN filter for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_public_vlans:
+    type: comma_delimited_list
+    description: public_vlans for oam attached to vce_SRIOV2_0
+  vce_SRIOV2_0_private_vlans:
+    type: comma_delimited_list
+    description: private_vlans for oam attached to vce_SRIOV2_0
+  
+#OAM Port 0
+  oam0_net_id:
+    type: string
+    description: OAM network - 1st vNIC
+  vce_oam0_port_name:
+    type: string
+    description: Neutron name for the OAM Port
+  vce_oam0_ip_0:
+    type: string
+    description: IP Address of OAM port
+  oam0_subnet_0_default_gateway:
+    type: string
+    description: Default Gateway for OAM network
+
+
+
+# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
+
+resources:
+  vce_oam0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_oam0_port_name}
+      network: { get_param: oam0_net_id }
+      fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
+
+  vce_SRIOV1_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV1_0_port_name}
+      network: { get_param: vce_SRIOV1_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV1_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV1_0_public_vlans }, private_vlans: { get_param: lvce_SRIOV1_0_private_vlans } }
+  vce_SRIOV2_0_port:
+    type: OS::Neutron::Port
+    properties:
+      admin_state_up: true
+      name: { get_param: vce_SRIOV2_0_port_name}
+      network: { get_param: vce_SRIOV2_0_net_id }
+      binding:vnic_type: direct
+      value_specs:  
+        "binding:profile": { vlan_filter: { get_param: vce_SRIOV2_0_vlan_filter }, public_vlans: { get_param: vce_SRIOV2_0_public_vlans }, private_vlans: { get_param: vce_SRIOV2_0_private_vlans } }
+  vce_0:
+    type: OS::Nova::Server
+    properties:
+      name: { get_param: vce_name_0 }
+      block_device_mapping: 
+      - device_name: vda
+        volume_id: { get_param: vce_volume_id_0 }
+        delete_on_termination: false
+      flavor: { get_param: vce_flavor_name }
+      availability_zone: { get_param: availability_zone_0 }
+      networks:
+      - port: { get_resource: vce_oam0_port }
+      - port: { get_resource: vce_SRIOV1_0_port }
+      - port: { get_resource: vce_SRIOV2_0_port }
+      metadata:
+        vnf_name: { get_param: vnf_name }
+        vnf_id: { get_param: vnf_id }
+        vf_module_name: { get_param: vf_module_name }
+        vf_module_id: { get_param: vf_module_id }
+        hostname: { get_param: vnf_name }
+        gateway: { get_param: oam0_subnet_0_default_gateway }
+        sdnc_model_name:  { get_param: sdnc_model_name }
+        sdnc_model_version: { get_param: sdnc_model_version }
+        sdnc_artifact_name:  { get_param: sdnc_artifact_name }
+      user_data_format: RAW
+      user_data: 
+        str_replace:
+          template: { get_file: vCE_Cloudinit.txt }
+          params: 
+            $OAM0_IP_0: { get_param: vce_oam0_ip_0 }
+            $OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
+            $DCAE_CTS: { get_param: dcae_0 }
+            $HOSTNAME: { get param: vnf_name }
+            $NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
+            $NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
+            $SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
+            $SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
+            $SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
+            $SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
+            $SNMP_COMMUNITY: { get_param: snmp_community_0 }
+            $SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
+            $SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
+            $SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
+            $SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
+            $TACPLUS_KEY: { get_param: tacplus_key_0 }
+            $TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
+            $TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
+            $TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
+            $TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
+            $TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/output/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/novaservertranslation/fabricConfiguration/without_property/binding_profile/output/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..a20d265
--- /dev/null
@@ -0,0 +1,713 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Main
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.vfc.nodes.heat.vce:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    vf_module_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_id
+      type: string
+      description: Unique ID for this VF Module instance -- Not used for this VNF
+    vce_SRIOV1_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    oam0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_net_id
+      type: string
+      description: OAM network - 1st vNIC
+    vce_flavor_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_flavor_name
+      type: string
+      description: VM instance sizing
+    vnf_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_name
+      type: string
+      description: Unique name for this VF instance
+    vce_SRIOV2_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_net_id
+      type: string
+      description: SRIOV Provider 1 network id
+    vf_module_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vf_module_name
+      type: string
+      description: Unique name for this VF Module instance -- Not used for this VNF
+    dcae_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: dcae_0
+      type: string
+      description: IP Address of DCAE CTS Server
+    ntp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_1
+      type: string
+      description: IP Address of secondary NTP Server
+    tacplus_port_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_port_0
+      type: string
+      description: TACPLUS Domain Port
+    ntp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: ntp_ip_0
+      type: string
+      description: IP Address of primary NTP Server
+    vce_name_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_name_0
+      type: string
+      description: Name of the VM
+    vnf_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vnf_id
+      type: string
+      description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
+    tacplus_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_3
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_2
+      type: string
+      description: IP Address of first TACPLUS Server
+    vce_oam0_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_ip_0
+      type: string
+      description: IP Address of OAM port
+    tacplus_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_1
+      type: string
+      description: IP Address of first TACPLUS Server
+    tacplus_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_ip_0
+      type: string
+      description: IP Address of first TACPLUS Server
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: availability_zone_0
+      type: string
+      description: The Availability Zone to launch the instance.
+    oam0_subnet_0_default_gateway:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: oam0_subnet_0_default_gateway
+      type: string
+      description: Default Gateway for OAM network
+    vce_SRIOV2_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    vce_SRIOV2_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_port_name
+      type: string
+      description: name for sriov Port 1
+    vce_SRIOV1_0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_port_name
+      type: string
+      description: name for sriov Port 0
+    vce_SRIOV1_0_net_id:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_net_id
+      type: string
+      description: SRIOV Provider 0 network id
+    sdnc_artifact_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_artifact_name
+      type: string
+      description: SDNC Artifact Name
+    tacplus_key_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: tacplus_key_0
+      type: string
+      description: TACPLUS key
+    snmp_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_0
+      type: string
+      description: IP Address of first SNMP Server
+    snmp_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_2
+      type: string
+      description: IP Address of third SNMP Server
+    snmp_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_1
+      type: string
+      description: IP Address of second SNMP Server
+    vce_SRIOV2_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    snmp_community_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_community_0
+      type: string
+      description: SNMP Community value
+    snmp_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: snmp_ip_3
+      type: string
+      description: IP Address of fourth SNMP Server
+    syslog_ip_2:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_2
+      type: string
+      description: IP Address of third syslog Server
+    syslog_ip_3:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_3
+      type: string
+      description: IP Address of fourth syslog Server
+    vce_oam0_port_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_oam0_port_name
+      type: string
+      description: Neutron name for the OAM Port
+    syslog_ip_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_0
+      type: string
+      description: IP Address of first syslog Server
+    syslog_ip_1:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: syslog_ip_1
+      type: string
+      description: IP Address of second syslog Server
+    vce_SRIOV2_0_public_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV2_0_public_vlans
+      type: list
+      description: public_vlans for oam attached to vce_SRIOV2_0
+      entry_schema:
+        type: string
+    sdnc_model_version:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_version
+      type: string
+      description: SDNC Model Version
+    vce_SRIOV1_0_private_vlans:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_private_vlans
+      type: list
+      description: private_vlans for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    vce_volume_id_0:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_volume_id_0
+      type: string
+      description: ID of the boot disk volume
+    vce_SRIOV1_0_vlan_filter:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: vce_SRIOV1_0_vlan_filter
+      type: list
+      description: VLAN filter for oam attached to vce_SRIOV1_0
+      entry_schema:
+        type: string
+    sdnc_model_name:
+      hidden: false
+      immutable: false
+      annotations:
+        source:
+          type: org.openecomp.annotations.Source
+          properties:
+            vf_module_label:
+            - base_vCE
+            source_type: HEAT
+            param_name: sdnc_model_name
+      type: string
+      description: SDNC Blue Print Name
+  node_templates:
+    vce_SRIOV2_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV2_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV2_0_public_vlans
+            vlan_filter:
+              get_input: vce_SRIOV2_0_vlan_filter
+            private_vlans:
+              get_input: vce_SRIOV2_0_private_vlans
+        network_role_tag: vce_SRIOV2_0
+        network:
+          get_input: vce_SRIOV2_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_oam0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        fixed_ips:
+        - ip_address:
+            get_input: vce_oam0_ip_0
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_oam0_port_name
+        network_role_tag: oam0
+        network:
+          get_input: oam0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+    vce_0:
+      type: org.openecomp.resource.vfc.nodes.heat.vce
+      properties:
+        flavor:
+          get_input: vce_flavor_name
+        availability_zone:
+          get_input: availability_zone_0
+        metadata:
+          vf_module_id:
+            get_input: vf_module_id
+          hostname:
+            get_input: vnf_name
+          vnf_id:
+            get_input: vnf_id
+          sdnc_model_version:
+            get_input: sdnc_model_version
+          sdnc_artifact_name:
+            get_input: sdnc_artifact_name
+          vnf_name:
+            get_input: vnf_name
+          sdnc_model_name:
+            get_input: sdnc_model_name
+          vf_module_name:
+            get_input: vf_module_name
+          gateway:
+            get_input: oam0_subnet_0_default_gateway
+        user_data_format: RAW
+        name:
+          get_input: vce_name_0
+    vce_SRIOV1_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        admin_state_up: true
+        name:
+          get_input: vce_SRIOV1_0_port_name
+        binding:vnic_type: direct
+        value_specs:
+          binding:profile:
+            public_vlans:
+              get_input: vce_SRIOV1_0_public_vlans
+            vlan_filter:
+              get_input: vce_SRIOV1_0_vlan_filter
+            private_vlans:
+              get_input: lvce_SRIOV1_0_private_vlans
+        network_role_tag: vce_SRIOV1_0
+        network:
+          get_input: vce_SRIOV1_0_net_id
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: vce_0
+          relationship: tosca.relationships.network.BindsTo
+  groups:
+    base_vCE_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vCE.yaml
+        description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
+      members:
+      - vce_SRIOV2_0_port
+      - vce_oam0_port
+      - vce_0
+      - vce_SRIOV1_0_port
\ No newline at end of file