diff options
Diffstat (limited to 'asdc-controller')
20 files changed, 63 insertions, 2474 deletions
diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java b/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java index 7423a7a197..55a437f2c0 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java @@ -25,6 +25,7 @@ package org.onap.so.asdc.client; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; import java.util.List; import org.onap.sdc.api.IDistributionClient; @@ -44,6 +45,7 @@ import org.onap.so.asdc.client.exceptions.ASDCParametersException; import org.onap.so.asdc.client.exceptions.ArtifactInstallerException; import org.onap.so.asdc.installer.IVfResourceInstaller; import org.onap.so.asdc.installer.ToscaResourceStructure; +import org.onap.so.asdc.installer.VfModuleStructure; import org.onap.so.asdc.installer.VfResourceStructure; import org.onap.so.asdc.installer.heat.ToscaResourceInstaller; import org.onap.so.asdc.tenantIsolation.DistributionStatus; @@ -671,7 +673,23 @@ public class ASDCController { try { - this.processCsarServiceArtifacts(iNotif, toscaResourceStructure); + this.processCsarServiceArtifacts(iNotif, toscaResourceStructure); + + // Install a service with no resources, only the service itself + if (iNotif.getResources() == null || iNotif.getResources().size() < 1) { + + LOGGER.debug("No resources found for Service: " + iNotif.getServiceUUID()); + + try{ + resourceStructure = new VfResourceStructure(iNotif,new ResourceInstance()); + + this.deployResourceStructure(resourceStructure, toscaResourceStructure); + + } catch(ArtifactInstallerException e){ + deploySuccessful = false; + errorMessage = e.getMessage(); + } + } else { // Services with resources for (IResourceInstance resource : iNotif.getResources()){ @@ -695,23 +713,21 @@ public class ASDCController { resourceStructure.addArtifactToStructure(distributionClient,artifact, resultArtifact); } } - } - } - try{ - + } + //Deploy All resources and artifacts LOGGER.debug("Preparing to deploy Service: " + iNotif.getServiceUUID()); - if(resourceStructure == null){ - resourceStructure = new VfResourceStructure(iNotif,new ResourceInstance()); - } - this.deployResourceStructure(resourceStructure, toscaResourceStructure); - - - } catch(ArtifactInstallerException e){ - deploySuccessful = false; - errorMessage = e.getMessage(); - } - + try{ + + this.deployResourceStructure(resourceStructure, toscaResourceStructure); + + } catch(ArtifactInstallerException e){ + deploySuccessful = false; + errorMessage = e.getMessage(); + } + + } + } this.sendCsarDeployNotification(iNotif, resourceStructure, toscaResourceStructure, deploySuccessful, errorMessage); } catch (ASDCDownloadException | UnsupportedEncodingException e) { diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java index 87df2648d1..7dfb1bae3e 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java @@ -33,6 +33,7 @@ import java.util.Set; import org.hibernate.exception.ConstraintViolationException; import org.hibernate.exception.LockAcquisitionException; import org.onap.sdc.api.notification.IArtifactInfo; +import org.onap.sdc.api.notification.IResourceInstance; import org.onap.sdc.api.notification.IStatusData; import org.onap.sdc.tosca.parser.impl.SdcPropertyNames; import org.onap.sdc.tosca.parser.impl.SdcTypes; @@ -424,26 +425,35 @@ public class ToscaResourceInstaller { String vfCustomizationUUID = toscaResourceStruct.getSdcCsarHelper() .getMetadataPropertyValue(metadata, SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID); - logger.debug("vfCustomizationUUID=" + vfCustomizationUUID); + logger.debug("vfCustomizationUUID=" + vfCustomizationUUID); - VnfResourceCustomization vnfResource = createVnfResource(nodeTemplate, toscaResourceStruct, service); + IResourceInstance vfMetaDataResource = vfResourceStructure.getResourceInstance(); - for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) { - logger.debug("vfModuleStructure:" + vfModuleStructure.toString()); - List<org.onap.sdc.toscaparser.api.Group> vfGroups = toscaResourceStruct - .getSdcCsarHelper().getVfModulesByVf(vfCustomizationUUID); - IVfModuleData vfMetadata = vfModuleStructure.getVfModuleMetadata(); - Optional<org.onap.sdc.toscaparser.api.Group> matchingObject = vfGroups.stream(). - filter(group -> group.getMetadata().getValue("vfModuleModelCustomizationUUID").equals(vfMetadata.getVfModuleModelCustomizationUUID())). - findFirst(); - if(matchingObject.isPresent()){ - VfModuleCustomization vfModuleCustomization = createVFModuleResource(matchingObject.get(), nodeTemplate, toscaResourceStruct, vfResourceStructure,vfMetadata, vnfResource); - vfModuleCustomization.getVfModule().setVnfResources(vnfResource.getVnfResources()); - }else - throw new Exception("Cannot find matching VFModule Customization for VF Module Metadata: " + vfMetadata.getVfModuleModelCustomizationUUID()); + // Make sure the vfMetadata and tosca customizations match before comparing their VF Modules UUID's + if(vfCustomizationUUID.equals(vfMetaDataResource.getResourceCustomizationUUID())){ - } - service.getVnfCustomizations().add(vnfResource); + logger.debug("vfCustomizationUUID: " + vfCustomizationUUID + " matches vfMetaData CustomizationUUID"); + + VnfResourceCustomization vnfResource = createVnfResource(nodeTemplate, toscaResourceStruct, service); + + for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) { + logger.debug("vfModuleStructure ModelUUID: " + vfModuleStructure.toString()); + List<org.onap.sdc.toscaparser.api.Group> vfGroups = toscaResourceStruct + .getSdcCsarHelper().getVfModulesByVf(vfCustomizationUUID); + IVfModuleData vfMetadata = vfModuleStructure.getVfModuleMetadata(); + + Optional<org.onap.sdc.toscaparser.api.Group> matchingObject = vfGroups.stream(). + filter(group -> group.getMetadata().getValue("vfModuleModelCustomizationUUID").equals(vfMetadata.getVfModuleModelCustomizationUUID())). + findFirst(); + if(matchingObject.isPresent()){ + VfModuleCustomization vfModuleCustomization = createVFModuleResource(matchingObject.get(), nodeTemplate, toscaResourceStruct, vfResourceStructure,vfMetadata, vnfResource); + vfModuleCustomization.getVfModule().setVnfResources(vnfResource.getVnfResources()); + }else + throw new Exception("Cannot find matching VFModule Customization for VF Module Metadata: " + vfMetadata.getVfModuleModelCustomizationUUID()); + + } + service.getVnfCustomizations().add(vnfResource); + } } } diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java b/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java index 13af95a8fc..54977104ff 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/util/ASDCNotificationLogging.java @@ -209,6 +209,10 @@ public class ASDCNotificationLogging { List<NodeTemplate> vfNodeTemplatesList = toscaResourceStructure.getSdcCsarHelper().getServiceVfList(); for (NodeTemplate vfNodeTemplate : vfNodeTemplatesList) { + buffer.append(System.lineSeparator()); + buffer.append("VNF Properties:"); + buffer.append(System.lineSeparator()); + buffer.append("Model Name:"); buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME))); buffer.append(System.lineSeparator()); diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java index af0987f6d0..89bfe07374 100644 --- a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java +++ b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java @@ -102,8 +102,6 @@ public class ToscaResourceInstallerTest extends BaseTest { private AllottedResourceCustomizationRepository allottedCustomizationRepo; @Autowired private ServiceRepository serviceRepo; - @Autowired - private ExternalServiceToInternalServiceRepository externalServiceToInternalServiceRepository; @Mock private SdcCsarHelperImpl sdcCsarHelper; @Mock @@ -121,10 +119,6 @@ public class ToscaResourceInstallerTest extends BaseTest { private JsonStatusData statusData; private static final String MSO = "SO"; - private AllottedResource allottedResource; - private AllottedResourceCustomization allottedResourceCustomization; - private Service catalogService; - @Before public void before() { MockitoAnnotations.initMocks(this); @@ -380,7 +374,6 @@ public class ToscaResourceInstallerTest extends BaseTest { .ignoring("createTime") .ignoring("modifyTime")); } - @Test public void installTheResourceExceptionTest() throws Exception { @@ -472,132 +465,4 @@ public class ToscaResourceInstallerTest extends BaseTest { } return actualWatchdogComponentDistributionStatus; } - - private void populatevfResourceStructure() throws Exception { - vfResourceStructure = spy(new VfResourceStructure(notificationData, resourceInstance)); - - HashMap<String, VfModuleArtifact> vfModuleArtifacts = mock(HashMap.class); - CapabilityAssignments capabilityAssignments = mock(CapabilityAssignments.class); - CapabilityAssignment capabilityAssignment = mock(CapabilityAssignment.class); - - Iterator artifactIterator = mock(Iterator.class); - Iterator nodeTemplateIterator = mock(Iterator.class); - IDistributionClientDownloadResult clientResult = mock(IDistributionClientDownloadResult.class); - doReturn(IOUtils.toByteArray( - new FileInputStream( - new File( - getClass().getClassLoader().getResource("resource-examples/simpleTest.yaml").getFile()) - ))).when(clientResult).getArtifactPayload(); - VfModuleArtifact vfModuleArtifact = new VfModuleArtifact(artifactInfo, clientResult); - Collection<VfModuleArtifact> vfModuleArtifactsValues = mock(Collection.class); - - NodeTemplate nodeTemplate = mock(NodeTemplate.class); - List<NodeTemplate> nodeTemplateList = new ArrayList<>(); - nodeTemplateList.add(nodeTemplate); - - doReturn(sdcCsarHelper).when(toscaResourceStruct).getSdcCsarHelper(); - doReturn("metadataPropertyValue").when(sdcCsarHelper).getMetadataPropertyValue(any(Metadata.class), any(String.class)); - doReturn("ntPropertyLeafValue").when(sdcCsarHelper).getNodeTemplatePropertyLeafValue(any(NodeTemplate.class), any(String.class)); - doReturn("true").when(sdcCsarHelper).getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_PROVIDERNETWORK_ISPROVIDERNETWORK); - doReturn("1").when(sdcCsarHelper).getCapabilityPropertyLeafValue(any(CapabilityAssignment.class), any(String.class)); - doReturn(vfGroups).when(sdcCsarHelper).getVfModulesByVf(any(String.class)); - doReturn(capabilityAssignments).when(sdcCsarHelper).getCapabilitiesOf(any(NodeTemplate.class)); - doReturn(capabilityAssignment).when(capabilityAssignments).getCapabilityByName(any(String.class)); - doReturn(vfModuleArtifacts).when(vfResourceStructure).getArtifactsMapByUUID(); - when(vfModuleArtifacts.values()).thenReturn(vfModuleArtifactsValues); - when(vfModuleArtifactsValues.iterator()).thenReturn(artifactIterator); - when(artifactIterator.hasNext()).thenReturn(true, false); - when(artifactIterator.next()).thenReturn(vfModuleArtifact); - when(artifactInfo.getArtifactType()).thenReturn(ASDCConfiguration.OTHER); - when(nodeTemplateIterator.hasNext()).thenReturn(true, false); - doReturn(nodeTemplateList).when(sdcCsarHelper).getServiceVfList(); - doReturn(nodeTemplateList).when(sdcCsarHelper).getServiceVlList(); - doReturn(nodeTemplateList).when(sdcCsarHelper).getAllottedResources(); - doReturn(metadata).when(nodeTemplate).getMetaData(); - doReturn("model_instance_name").when(nodeTemplate).getName(); - } - - private void populateToscaResourceStruct() { - - VnfResource vnfResource = new VnfResource(); - vnfResource.setModelName("modelName"); - vnfResource.setModelVersion("1.1"); - vnfResource.setModelUUID("modelUUID"); - vnfResource.setOrchestrationMode("orchestrationMode"); - - VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization(); - vnfResourceCustomization.setVnfResources(vnfResource); - vnfResourceCustomization.setModelCustomizationUUID("vnfResCustModelCustomizationUUID"); - vnfResourceCustomization.setModelInstanceName("modelInstanceName"); - - allottedResource = new AllottedResource(); - allottedResource.setModelUUID("serviceMetadataValue"); - allottedResource.setModelInvariantUUID("modelInvariantUUID"); - allottedResource.setModelName("modelName"); - allottedResource.setModelVersion("1.1"); - - allottedResourceCustomization = new AllottedResourceCustomization(); - allottedResourceCustomization.setAllottedResource(allottedResource); - allottedResourceCustomization.setModelCustomizationUUID("modelCustomizationUUID"); - allottedResourceCustomization.setModelInstanceName("modelInstanceName"); - - catalogService = new Service(); - catalogService.setServiceType("Bonding"); - catalogService.setModelUUID("5df8b6de-2083-11e7-93ae-92361f002672"); - catalogService.setModelInvariantUUID("modelInvariantUUID"); - catalogService.setModelName("modelName"); - catalogService.setModelVersion("modelVersion"); - catalogService.getVnfCustomizations().add(vnfResourceCustomization); - - catalogService.setServiceRole("COLLABORATE"); - - HeatTemplate heatTemplate = new HeatTemplate(); - heatTemplate.setArtifactUuid("ff874603-4222-11e7-9252-005056850d2e"); - heatTemplate.setArtifactChecksum("MANUAL RECORD"); - heatTemplate.setTemplateBody("templateBody"); - heatTemplate.setTemplateName("module_mns_zrdm3frwl01exn_01_rgvm_1.yml"); - heatTemplate.setVersion("1"); - - NetworkResource networkResource = new NetworkResource(); - networkResource.setAicVersionMin("aicVersionMin"); - networkResource.setModelUUID("modelUUID"); - networkResource.setOrchestrationMode("orchestrationMode"); - networkResource.setModelVersion("modelVersion"); - networkResource.setNeutronNetworkType("neutronNetworkType"); - networkResource.setAicVersionMax("aicVersionMax"); - networkResource.setModelName("CONTRAIL30_GNDIRECT"); - networkResource.setModelInvariantUUID("modelInvariantUUID"); - networkResource.setHeatTemplate(heatTemplate); - - NetworkResourceCustomization networkResourceCustomization = new NetworkResourceCustomization(); - networkResourceCustomization.setModelCustomizationUUID("modelCustomizationUUID"); - networkResourceCustomization.setModelInstanceName("modelInstanceName"); - networkResourceCustomization.setNetworkResource(networkResource); - - doReturn(networkResource).when(toscaResourceStruct).getCatalogNetworkResource(); - doReturn(networkResourceCustomization).when(toscaResourceStruct).getCatalogNetworkResourceCustomization(); - doNothing().when(toscaResourceStruct).setSuccessfulDeployment(); - doReturn("serviceVersion").when(toscaResourceStruct).getServiceVersion(); - doReturn(catalogService).when(toscaResourceStruct).getCatalogService(); - doReturn(artifactInfo).when(toscaResourceStruct).getToscaArtifact(); - doReturn("artifactChecksum").when(artifactInfo).getArtifactChecksum(); - doReturn("artifactUUID").when(artifactInfo).getArtifactUUID(); - doReturn("artifactName").when(artifactInfo).getArtifactName(); - doReturn("1.0").when(artifactInfo).getArtifactVersion(); - doReturn("artifactDescription").when(artifactInfo).getArtifactDescription(); - doReturn("artifactURL").when(artifactInfo).getArtifactURL(); - doReturn(metadata).when(toscaResourceStruct).getServiceMetadata(); - doReturn("serviceMetadataValue").when(metadata).getValue(any(String.class)); - doReturn("CONTRAIL30_GNDIRECT").when(metadata).getValue(SdcPropertyNames.PROPERTY_NAME_NAME); - doReturn(vnfResourceCustomization).when(toscaResourceStruct).getCatalogVnfResourceCustomization(); - doReturn(allottedResource).when(toscaResourceStruct).getAllottedResource(); - doReturn(allottedResourceCustomization).when(toscaResourceStruct).getCatalogAllottedResourceCustomization(); - } - - private void populateNotificationData() { - notificationData.setDistributionID("testStatusSuccessTosca"); - notificationData.setServiceVersion("123456"); - notificationData.setServiceUUID("5df8b6de-2083-11e7-93ae-92361f002671"); - notificationData.setWorkloadContext("workloadContext"); - } } diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/Notification_MultipleModules.txt b/asdc-controller/src/test/resources/resource-examples/multipleModules/Notification_MultipleModules.txt deleted file mode 100644 index 5b6d9e4eaf..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/Notification_MultipleModules.txt +++ /dev/null @@ -1,302 +0,0 @@ -DistributionID:a2872f55-8628-4486-8548-7b132c9a47db -ServiceName:Vf zrdm5bpxmc02092017-Service -ServiceVersion:1.0 -ServiceUUID:bad955c3-29b2-4a27-932e-28e942cc6480 -ServiceInvariantUUID:b16a9398-ffa3-4041-b78c-2956b8ad9c7b -ServiceDescription:Demo - - - -Service Artifacts List: -{ -Service Artifacts Info: -ArtifactName:service-VfZrdm5bpxmc02092017Service-csar.csar -ArtifactVersion:1 -ArtifactType:TOSCA_CSAR -ArtifactDescription:TOSCA definition package of the asset -ArtifactTimeout:0 -ArtifactURL:service-VfZrdm5bpxmc02092017Service-csar.csar -ArtifactUUID:396cfd49-0f4b-4fec-9f33-0fd7e90d5a22 -ArtifactChecksum:MWQ3Y2FmMWExNDQyYWI2N2YwNjEwZGUzN2IzMzI3NjE= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - - -} - -Resource Instances List: -{ -Resource Instance Info: -ResourceInstanceName:Vf zrdm5bpxmc02092017-VF 0 -ResourceCustomizationUUID:96c23a4a-6887-4b2c-9cce-1e4ea35eaade -ResourceInvariantUUID:23122c9b-dd7f-483f-bf0a-e069303db2f7 -ResourceName:Vf zrdm5bpxmc02092017-VF -ResourceType:VF -ResourceUUID:14ba5d1e-3862-407c-a236-1cbaebccce77 -ResourceVersion:1.0 -Category:Generic -SubCategory:Network Elements -Resource Artifacts List: -{ -Service Artifacts Info: -ArtifactName:pxmc_mmn_volume.env -ArtifactVersion:2 -ArtifactType:HEAT_ENV -ArtifactDescription:Auto-generated HEAT Environment deployment artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn_volume.env -ArtifactUUID:c1ae6284-48d9-4437-a195-b2cf2ba23070 -ArtifactChecksum:NmEyZjc1Y2UwZDMwYjFhNGRlMTMzN2JhNzdiMThjMGU= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} -, -Service Artifacts Info: -ArtifactName:pxmc_base.env -ArtifactVersion:2 -ArtifactType:HEAT_ENV -ArtifactDescription:Auto-generated HEAT Environment deployment artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_base.env -ArtifactUUID:6dd99c31-c52e-4c45-b99b-d223c877a296 -ArtifactChecksum:OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - -, -Service Artifacts Info: -ArtifactName:vfzrdm5bpxmc02092017vf0_modules.json -ArtifactVersion:1 -ArtifactType:VF_MODULES_METADATA -ArtifactDescription:Auto-generated VF Modules information artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/vfzrdm5bpxmc02092017vf0_modules.json -ArtifactUUID:e3b82cd6-485e-4d56-8d2c-17ccf6a59533 -ArtifactChecksum:MjY0NzcxMjJkZGI4YzQ1MDU2NjhkNWYyM2IwNmYzYmU= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - -, -Service Artifacts Info: -ArtifactName:pxmc_vmt.yaml -ArtifactVersion:1 -ArtifactType:HEAT -ArtifactDescription:created from csar -ArtifactTimeout:120 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_vmt.yaml -ArtifactUUID:ad12ab80-5419-4346-a5d7-dac2fc15575f -ArtifactChecksum:ODE0YTRiYzc2YzkxOTliZjJhNjc0M2RhMWU4M2VlZmE= -GeneratedArtifact:{Service Artifacts Info: -ArtifactName:pxmc_vmt.env -ArtifactVersion:2 -ArtifactType:HEAT_ENV -ArtifactDescription:Auto-generated HEAT Environment deployment artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_vmt.env -ArtifactUUID:bc1640f1-69f0-4760-8fc3-3318ec2ff129 -ArtifactChecksum:MjdkYzY5ZGU0ZTlkZDlhNzI2ZGVhMjk1ODVhZTg1NTY= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} -} -RelatedArtifacts:{ -Service Artifacts Info: -ArtifactName:user_data_zrdm5bpxmc02vmt001.txt -ArtifactVersion:1 -ArtifactType:HEAT_ARTIFACT -ArtifactDescription:created from csar -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/user_data_zrdm5bpxmc02vmt001.txt -ArtifactUUID:53acdabe-689f-45e5-8578-f1514d3529da -ArtifactChecksum:MzJmZjgyZWYwOTBjMTg5M2ExNWZhMmMwNzc1NWY1YjQ= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - - -} - - -, -Service Artifacts Info: -ArtifactName:pxmc_mmn.yaml -ArtifactVersion:1 -ArtifactType:HEAT -ArtifactDescription:created from csar -ArtifactTimeout:120 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn.yaml -ArtifactUUID:b8bca13b-811f-44ab-9d27-45b842c664d8 -ArtifactChecksum:YmNiYTU5YTM4ODVhYTlhODc5NGMwNWZkZjI5MTRmNTE= -GeneratedArtifact:{Service Artifacts Info: -ArtifactName:pxmc_mmn.env -ArtifactVersion:2 -ArtifactType:HEAT_ENV -ArtifactDescription:Auto-generated HEAT Environment deployment artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn.env -ArtifactUUID:e88ce0b9-1496-4d03-ab1d-6d8d79bfc737 -ArtifactChecksum:ZGI1NzI2Y2FmYjFhOTM2ZDYwNzg1YWRhZjBmMTk2OTQ= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} -} -RelatedArtifacts:{ -Service Artifacts Info: -ArtifactName:user_data_zrdm5bpxmc02mmn001.txt -ArtifactVersion:1 -ArtifactType:HEAT_ARTIFACT -ArtifactDescription:created from csar -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/user_data_zrdm5bpxmc02mmn001.txt -ArtifactUUID:5bc62c72-5f7a-40bc-a167-1a4fed9afdef -ArtifactChecksum:OTMxMjk5Mzc1YmIxMzRlYmRlZWJhMjg0MWQ4YTI1NWU= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - - -} - - -, -Service Artifacts Info: -ArtifactName:pxmc_mmn.env -ArtifactVersion:2 -ArtifactType:HEAT_ENV -ArtifactDescription:Auto-generated HEAT Environment deployment artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn.env -ArtifactUUID:e88ce0b9-1496-4d03-ab1d-6d8d79bfc737 -ArtifactChecksum:ZGI1NzI2Y2FmYjFhOTM2ZDYwNzg1YWRhZjBmMTk2OTQ= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - -, -Service Artifacts Info: -ArtifactName:pxmc_vmt.env -ArtifactVersion:2 -ArtifactType:HEAT_ENV -ArtifactDescription:Auto-generated HEAT Environment deployment artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_vmt.env -ArtifactUUID:bc1640f1-69f0-4760-8fc3-3318ec2ff129 -ArtifactChecksum:MjdkYzY5ZGU0ZTlkZDlhNzI2ZGVhMjk1ODVhZTg1NTY= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} -, -Service Artifacts Info: -ArtifactName:user_data_zrdm5bpxmc02mmn001.txt -ArtifactVersion:1 -ArtifactType:HEAT_ARTIFACT -ArtifactDescription:created from csar -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/user_data_zrdm5bpxmc02mmn001.txt -ArtifactUUID:5bc62c72-5f7a-40bc-a167-1a4fed9afdef -ArtifactChecksum:OTMxMjk5Mzc1YmIxMzRlYmRlZWJhMjg0MWQ4YTI1NWU= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - -, -Service Artifacts Info: -ArtifactName:pxmc_base.yaml -ArtifactVersion:1 -ArtifactType:HEAT -ArtifactDescription:created from csar -ArtifactTimeout:120 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_base.yaml -ArtifactUUID:7e7f7356-11bd-4f2f-bbbc-5c10954e3189 -ArtifactChecksum:YThkNGFhZjAwNmM4NzMzODc0YzNhYTUxOTljNGQwNmM= -GeneratedArtifact:{Service Artifacts Info: -ArtifactName:pxmc_base.env -ArtifactVersion:2 -ArtifactType:HEAT_ENV -ArtifactDescription:Auto-generated HEAT Environment deployment artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_base.env -ArtifactUUID:6dd99c31-c52e-4c45-b99b-d223c877a296 -ArtifactChecksum:OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - -} -RelatedArtifacts:{ -} -, -Service Artifacts Info: -ArtifactName:user_data_zrdm5bpxmc02vmt001.txt -ArtifactVersion:1 -ArtifactType:HEAT_ARTIFACT -ArtifactDescription:created from csar -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/user_data_zrdm5bpxmc02vmt001.txt -ArtifactUUID:53acdabe-689f-45e5-8578-f1514d3529da -ArtifactChecksum:MzJmZjgyZWYwOTBjMTg5M2ExNWZhMmMwNzc1NWY1YjQ= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - -, -Service Artifacts Info: -ArtifactName:pxmc_mmn_volume.yaml -ArtifactVersion:2 -ArtifactType:HEAT_VOL -ArtifactDescription:created from csar -ArtifactTimeout:120 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn_volume.yaml -ArtifactUUID:2f372a02-df1b-46ca-b81e-822e3f406965 -ArtifactChecksum:MzA5MGY5ODQ0NDY5MDhiMDM3YjFlNGIwNzJkNjFhOTI= -GeneratedArtifact:{Service Artifacts Info: -ArtifactName:pxmc_mmn_volume.env -ArtifactVersion:2 -ArtifactType:HEAT_ENV -ArtifactDescription:Auto-generated HEAT Environment deployment artifact -ArtifactTimeout:0 -ArtifactURL:/sdc/v1/catalog/services/VfZrdm5bpxmc02092017Service/1.0/resourceInstances/vfzrdm5bpxmc02092017vf0/artifacts/pxmc_mmn_volume.env -ArtifactUUID:c1ae6284-48d9-4437-a195-b2cf2ba23070 -ArtifactChecksum:NmEyZjc1Y2UwZDMwYjFhNGRlMTMzN2JhNzdiMThjMGU= -GeneratedArtifact:{NULL -} -RelatedArtifacts:{ -} - - -} -RelatedArtifacts:{ -} - - - -} - - - -} diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/ServiceResponse.json b/asdc-controller/src/test/resources/resource-examples/multipleModules/ServiceResponse.json deleted file mode 100644 index 37b7987f46..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/ServiceResponse.json +++ /dev/null @@ -1,458 +0,0 @@ -{ - "modelName": "Vf zrdm5bpxmc02092017-Service", - "description": "Demo", - "modelUUID": "bad955c3-29b2-4a27-932e-28e942cc6480", - "modelInvariantUUID": "b16a9398-ffa3-4041-b78c-2956b8ad9c7b", - "serviceType": "", - "serviceRole": "", - "environmentContext": "General_Revenue-Bearing", - "networkCustomizations": [], - "vnfCustomizations": [ - { - "modelCustomizationUuid": "96c23a4a-6887-4b2c-9cce-1e4ea35eaade", - "modelInstanceName": "Vf zrdm5bpxmc02092017-VF 0", - "multiStageDesign": "false", - "vnfResources": { - "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", - "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", - "modelName": "Vf zrdm5bpxmc02092017-VF", - "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", - "description": "Demo", - "orchestrationMode": "HEAT", - "modelVersion": "1.0", - "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" - }, - "vfModuleCustomizations": [ - { - "modelCustomizationUuid": "074c64d0-7e13-4bcc-8bdb-ea922331102d", - "label": "pxmc_base", - "minInstances": 1, - "maxInstances": 1, - "initialCount": 1, - "heatEnvironment": { - "artifactUuid": "6dd99c31-c52e-4c45-b99b-d223c877a296", - "name": "pxmc_base.env", - "description": "Auto-generated HEAT Environment deployment artifact", - "environment": "parameters:\n vnf_name: \n", - "artifactChecksum": "OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg=", - "version": "2" - }, - "vfModule": { - "modelUUID": "eb5de6fb-9ecf-4009-b922-fae3a9ae7d46", - "modelInvariantUUID": "f7a867f2-596b-4f4a-a128-421e825a6190", - "modelName": "VfZrdm5bpxmc02092017Vf..pxmc_base..module-0", - "modelVersion": "1", - "isBase": 1, - "moduleHeatTemplate": { - "artifactUuid": "7e7f7356-11bd-4f2f-bbbc-5c10954e3189", - "templateName": "pxmc_base.yaml", - "templateBody": "heat_template_version: 2015-04-30\n\nparameters:\n\n## GLOBAL//Basic Parameters\n vnf_name:\n type: string\n description: Unique name for this VF instance\n# For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC\n\nresources:\n\n## MSP RSG//Resource:SecurityGroup\n sec_grp_msp_0:\n type: OS::Neutron::SecurityGroup\n properties:\n description: Security Group for PXMC\n name:\n str_replace:\n template: VF_NAME_sec_grp_msp\n params:\n VF_NAME: { get_param: vnf_name }\n rules:\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"132\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"icmp\", \"ethertype\": \"IPv4\"}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"132\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"58\", \"ethertype\": \"IPv6\"}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"132\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"icmp\", \"ethertype\": \"IPv4\"}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"132\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"58\", \"ethertype\": \"IPv6\"}\n\noutputs:\n\n sec_grp_msp_id:\n description: uuid of the security group\n value: {get_resource: sec_grp_msp_0 }\n", - "timeoutMinutes": 120, - "version": "1", - "description": "created from csar", - "artifactChecksum": "YThkNGFhZjAwNmM4NzMzODc0YzNhYTUxOTljNGQwNmM=", - "parameters": [ - { - "heatTemplateArtifactUuid": "7e7f7356-11bd-4f2f-bbbc-5c10954e3189", - "paramName": "vnf_name", - "required": true, - "paramType": "string" - } - ], - "childTemplates": [], - "heatTemplate": "heat_template_version: 2015-04-30\n\nparameters:\n\n## GLOBAL//Basic Parameters\n vnf_name:\n type: string\n description: Unique name for this VF instance\n# For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC\n\nresources:\n\n## MSP RSG//Resource:SecurityGroup\n sec_grp_msp_0:\n type: OS::Neutron::SecurityGroup\n properties:\n description: Security Group for PXMC\n name:\n str_replace:\n template: VF_NAME_sec_grp_msp\n params:\n VF_NAME: { get_param: vnf_name }\n rules:\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"132\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"icmp\", \"ethertype\": \"IPv4\"}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"132\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"egress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"58\", \"ethertype\": \"IPv6\"}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"132\", \"ethertype\": \"IPv4\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"0.0.0.0/0\", \"protocol\": \"icmp\", \"ethertype\": \"IPv4\"}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"tcp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"udp\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"132\", \"ethertype\": \"IPv6\", \"port_range_max\": 65535, \"port_range_min\": 0}\n - {\"direction\": \"ingress\", \"remote_ip_prefix\": \"::/0\", \"protocol\": \"58\", \"ethertype\": \"IPv6\"}\n\noutputs:\n\n sec_grp_msp_id:\n description: uuid of the security group\n value: {get_resource: sec_grp_msp_0 }\n" - }, - "heatFiles": [], - "vnfResources": { - "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", - "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", - "modelName": "Vf zrdm5bpxmc02092017-VF", - "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", - "description": "Demo", - "orchestrationMode": "HEAT", - "modelVersion": "1.0", - "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" - }, - "modelInvariantUuid": "f7a867f2-596b-4f4a-a128-421e825a6190", - "base": true - } - }, - { - "modelCustomizationUuid": "5336a98e-0966-4e59-b6e6-c8162804a024", - "label": "pxmc_vmt", - "minInstances": 0, - "initialCount": 0, - "heatEnvironment": { - "artifactUuid": "bc1640f1-69f0-4760-8fc3-3318ec2ff129", - "name": "pxmc_vmt.env", - "description": "Auto-generated HEAT Environment deployment artifact", - "environment": "parameters:\n cinder_delete_on_termination_false: \n cinder_delete_on_termination_true: \n oam_protected_net_name: \n sec_grp_msp_id: \n vf_module_id: \n vmt_block_device_names: \n vmt_flavor_name: \n vmt_name_0: \n vmt_oam_protected_ip_0: \n vmt_volume_image_name_0: \n vmt_volume_image_name_1: \n vmt_volume_name_0: \n vmt_volume_name_1: \n vmt_volume_size_0: \n vmt_volume_size_1: \n vnf_id: \n", - "artifactChecksum": "MjdkYzY5ZGU0ZTlkZDlhNzI2ZGVhMjk1ODVhZTg1NTY=", - "version": "2" - }, - "vfModule": { - "modelUUID": "4d4423e2-17e8-455a-b9ae-7e4ab71b9cdc", - "modelInvariantUUID": "1e099992-6222-41a9-acde-5a8abb690775", - "modelName": "VfZrdm5bpxmc02092017Vf..pxmc_vmt..module-1", - "modelVersion": "1", - "isBase": 0, - "moduleHeatTemplate": { - "artifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "templateName": "pxmc_vmt.yaml", - "templateBody": "heat_template_version: 2015-04-30\n\ndescription: HOT creates Nimbus MSP VMT stack under MobiSupport Tenant\n\nparameters:\n vmt_name_0:\n type: string\n label: MSP VMT server names\n description: name of the MSP VMT instances\n# vmt_image_name:\n# type: string\n# label: MSP VMT image name\n# description: MSP VMT image name\n vmt_flavor_name:\n type: string\n label: MSP VMT flavor name\n description: MSP VMT flavor name\n# availability_zone_0:\n# type: string\n# label: MSP VMT availability zones\n# description: MSP VMT availability zones\n sec_grp_msp_id:\n type: string\n label: security group id\n description: the id of security group\n vmt_oam_protected_ip_0:\n type: string\n label: MSP VMT OAM IP Addresses\n description: MSP VMT OAM IP Addresses\n oam_protected_net_name:\n type: string\n label: MSP VMT OAM net name\n description: MSP VMT OAM net name\n vmt_block_device_names:\n type: comma_delimited_list\n label: MSP VMT Block Device Names\n description: MSP VMT Block Device Names\n vmt_volume_name_0:\n type: string\n label: Mobisupport MSP VMT Cinder Volume names\n description: Mobisupport MSP VMT Cinder Volume names\n vmt_volume_name_1:\n type: string\n label: Mobisupport MSP VMT Cinder Volume names\n description: Mobisupport MSP VMT Cinder Volume names\n vmt_volume_size_0:\n type: number\n label: Mobisupport MSP VMT Cinder Volume sizes\n description: Mobisupport MSP VMT Cinder Volume sizes\n vmt_volume_size_1:\n type: number\n label: Mobisupport MSP VMT Cinder Volume sizes\n description: Mobisupport MSP VMT Cinder Volume sizes\n vmt_volume_image_name_0:\n type: string\n label: Mobisupport MSP VMT VDA Cinder Volume image name\n description: Mobisupport MSP VMT VDA Cinder Volume image name\n vmt_volume_image_name_1:\n type: string\n label: Mobisupport MSP VMT VDB Cinder Volume image name\n description: Mobisupport MSP VMT VDB Cinder Volume image name\n cinder_delete_on_termination_true:\n type: boolean\n description: delete cinder volume upon instances termination\n cinder_delete_on_termination_false:\n type: boolean\n description: keep cinder volume upon instances termination\n vnf_id:\n type: string\n label: MSP VMT VNF ID\n description: MSP VMT VNF ID\n vf_module_id:\n type: string\n description: Unique ID for this VF Module instance\n\nresources:\n################ Cinder Volumes ##############################\n vmt_volume_0:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: vmt_volume_name_0}\n size: {get_param: vmt_volume_size_0}\n image: {get_param: vmt_volume_image_name_0}\n\n vmt_volume_1:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: vmt_volume_name_1}\n size: {get_param: vmt_volume_size_1}\n image: {get_param: vmt_volume_image_name_1}\n\n################ Ports ##############################\n vmt_oam_protected_0_port:\n type: OS::Neutron::Port\n properties:\n network: {get_param: oam_protected_net_name}\n fixed_ips: [{\"ip_address\": {get_param: vmt_oam_protected_ip_0}}]\n security_groups: [{get_param: sec_grp_msp_id}]\n replacement_policy: AUTO\n\n################### Servers #########################\n vmt_zrdm5bpxmc02vmt_0:\n type: OS::Nova::Server\n properties:\n name: {get_param: vmt_name_0}\n# image: {get_param: vmt_image_name}\n flavor: {get_param: vmt_flavor_name}\n# availability_zone: {get_param: availability_zone_0}\n block_device_mapping_v2: \n - device_name: {get_param: [vmt_block_device_names, 0]}\n volume_id: {get_resource: vmt_volume_0}\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n boot_index: 0\n - device_name: {get_param: [vmt_block_device_names, 1]}\n volume_id: {get_resource: vmt_volume_1}\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n boot_index: -1\n networks:\n - port: {get_resource: vmt_oam_protected_0_port}\n config_drive: \"True\"\n user_data_format: RAW\n user_data:\n get_file: user_data_zrdm5bpxmc02vmt001.txt\n\n metadata:\n vnf_id: {get_param: vnf_id}\n vf_module_id {get_param: vf_module_id}\n \"evacuation_policy\": \"Evacuation\"\n", - "timeoutMinutes": 120, - "version": "1", - "description": "created from csar", - "artifactChecksum": "ODE0YTRiYzc2YzkxOTliZjJhNjc0M2RhMWU4M2VlZmE=", - "parameters": [ - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_name_0", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vf_module_id", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "sec_grp_msp_id", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_volume_name_1", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_volume_name_0", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_block_device_names", - "required": true, - "paramType": "comma_delimited_list" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_flavor_name", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vnf_id", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "oam_protected_net_name", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_volume_image_name_1", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_volume_image_name_0", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_oam_protected_ip_0", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_volume_size_0", - "required": true, - "paramType": "number" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "cinder_delete_on_termination_false", - "required": true, - "paramType": "boolean" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "vmt_volume_size_1", - "required": true, - "paramType": "number" - }, - { - "heatTemplateArtifactUuid": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "paramName": "cinder_delete_on_termination_true", - "required": true, - "paramType": "boolean" - } - ], - "childTemplates": [], - "heatTemplate": "heat_template_version: 2015-04-30\n\ndescription: HOT creates Nimbus MSP VMT stack under MobiSupport Tenant\n\nparameters:\n vmt_name_0:\n type: string\n label: MSP VMT server names\n description: name of the MSP VMT instances\n# vmt_image_name:\n# type: string\n# label: MSP VMT image name\n# description: MSP VMT image name\n vmt_flavor_name:\n type: string\n label: MSP VMT flavor name\n description: MSP VMT flavor name\n# availability_zone_0:\n# type: string\n# label: MSP VMT availability zones\n# description: MSP VMT availability zones\n sec_grp_msp_id:\n type: string\n label: security group id\n description: the id of security group\n vmt_oam_protected_ip_0:\n type: string\n label: MSP VMT OAM IP Addresses\n description: MSP VMT OAM IP Addresses\n oam_protected_net_name:\n type: string\n label: MSP VMT OAM net name\n description: MSP VMT OAM net name\n vmt_block_device_names:\n type: comma_delimited_list\n label: MSP VMT Block Device Names\n description: MSP VMT Block Device Names\n vmt_volume_name_0:\n type: string\n label: Mobisupport MSP VMT Cinder Volume names\n description: Mobisupport MSP VMT Cinder Volume names\n vmt_volume_name_1:\n type: string\n label: Mobisupport MSP VMT Cinder Volume names\n description: Mobisupport MSP VMT Cinder Volume names\n vmt_volume_size_0:\n type: number\n label: Mobisupport MSP VMT Cinder Volume sizes\n description: Mobisupport MSP VMT Cinder Volume sizes\n vmt_volume_size_1:\n type: number\n label: Mobisupport MSP VMT Cinder Volume sizes\n description: Mobisupport MSP VMT Cinder Volume sizes\n vmt_volume_image_name_0:\n type: string\n label: Mobisupport MSP VMT VDA Cinder Volume image name\n description: Mobisupport MSP VMT VDA Cinder Volume image name\n vmt_volume_image_name_1:\n type: string\n label: Mobisupport MSP VMT VDB Cinder Volume image name\n description: Mobisupport MSP VMT VDB Cinder Volume image name\n cinder_delete_on_termination_true:\n type: boolean\n description: delete cinder volume upon instances termination\n cinder_delete_on_termination_false:\n type: boolean\n description: keep cinder volume upon instances termination\n vnf_id:\n type: string\n label: MSP VMT VNF ID\n description: MSP VMT VNF ID\n vf_module_id:\n type: string\n description: Unique ID for this VF Module instance\n\nresources:\n################ Cinder Volumes ##############################\n vmt_volume_0:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: vmt_volume_name_0}\n size: {get_param: vmt_volume_size_0}\n image: {get_param: vmt_volume_image_name_0}\n\n vmt_volume_1:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: vmt_volume_name_1}\n size: {get_param: vmt_volume_size_1}\n image: {get_param: vmt_volume_image_name_1}\n\n################ Ports ##############################\n vmt_oam_protected_0_port:\n type: OS::Neutron::Port\n properties:\n network: {get_param: oam_protected_net_name}\n fixed_ips: [{\"ip_address\": {get_param: vmt_oam_protected_ip_0}}]\n security_groups: [{get_param: sec_grp_msp_id}]\n replacement_policy: AUTO\n\n################### Servers #########################\n vmt_zrdm5bpxmc02vmt_0:\n type: OS::Nova::Server\n properties:\n name: {get_param: vmt_name_0}\n# image: {get_param: vmt_image_name}\n flavor: {get_param: vmt_flavor_name}\n# availability_zone: {get_param: availability_zone_0}\n block_device_mapping_v2: \n - device_name: {get_param: [vmt_block_device_names, 0]}\n volume_id: {get_resource: vmt_volume_0}\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n boot_index: 0\n - device_name: {get_param: [vmt_block_device_names, 1]}\n volume_id: {get_resource: vmt_volume_1}\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n boot_index: -1\n networks:\n - port: {get_resource: vmt_oam_protected_0_port}\n config_drive: \"True\"\n user_data_format: RAW\n user_data:\n get_file: user_data_zrdm5bpxmc02vmt001.txt\n\n metadata:\n vnf_id: {get_param: vnf_id}\n vf_module_id {get_param: vf_module_id}\n \"evacuation_policy\": \"Evacuation\"\n" - }, - "heatFiles": [], - "vnfResources": { - "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", - "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", - "modelName": "Vf zrdm5bpxmc02092017-VF", - "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", - "description": "Demo", - "orchestrationMode": "HEAT", - "modelVersion": "1.0", - "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" - }, - "modelInvariantUuid": "1e099992-6222-41a9-acde-5a8abb690775", - "base": false - } - }, - { - "modelCustomizationUuid": "e38906fa-717c-49b0-b391-e6ec12b50c4a", - "label": "pxmc_mmn", - "minInstances": 0, - "initialCount": 0, - "heatEnvironment": { - "artifactUuid": "e88ce0b9-1496-4d03-ab1d-6d8d79bfc737", - "name": "pxmc_mmn.env", - "description": "Auto-generated HEAT Environment deployment artifact", - "environment": "parameters:\n cinder_delete_on_termination_false: \n cinder_delete_on_termination_true: \n mmn_arch_volume_id_2: \n mmn_backup_volume_id_3: \n mmn_block_device_names: \n mmn_data_volume_id_1: \n mmn_flavor_name: \n mmn_misc_volume_id_4: \n mmn_name_0: \n mmn_oam_protected_ip_0: \n mmn_volume_image_name_0: \n mmn_volume_name_0: \n mmn_volume_size_0: \n oam_protected_net_name: \n sec_grp_msp_id: \n vf_module_id: \n vnf_id: \n", - "artifactChecksum": "ZGI1NzI2Y2FmYjFhOTM2ZDYwNzg1YWRhZjBmMTk2OTQ=", - "version": "2" - }, - "vfModule": { - "modelUUID": "a8cb1182-9b6d-46f8-b06b-ded4fe69e10d", - "modelInvariantUUID": "8e53c069-b2f0-437a-9c00-21cbc5c8f081", - "modelName": "VfZrdm5bpxmc02092017Vf..pxmc_mmn..module-2", - "modelVersion": "1", - "isBase": 0, - "volumeHeatTemplate": { - "artifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "templateName": "pxmc_mmn_volume.yaml", - "templateBody": "heat_template_version: 2015-04-30\n\ndescription: HOT creates MSP MMN Cinder Volumes under MobiSupport Tenant\n\nparameters:\n mmn_volume_name_1:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_2:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_3:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_4:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_size_1:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_2:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_3:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_4:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\nresources:\n mmn_data_volume_1:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_1}\n size: {get_param: mmn_volume_size_1}\n \n mmn_arch_volume_2:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_2}\n size: {get_param: mmn_volume_size_2}\n \n mmn_backup_volume_3:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_3}\n size: {get_param: mmn_volume_size_3}\n \n mmn_misc_volume_4:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_4}\n size: {get_param: mmn_volume_size_4}\n\noutputs:\n mmn_data_volume_id_1:\n description: msp mmn data volume 1\n value: {get_resource: mmn_data_volume_1}\n \n mmn_arch_volume_id_2:\n description: msp mn arch volume 2\n value: {get_resource: mmn_arch_volume_2}\n \n mmn_backup_volume_id_3:\n description: msp mn backup volume 3\n value: {get_resource: mmn_backup_volume_3}\n \n mmn_misc_volume_id_4:\n description: msp mn volume 4\n value: {get_resource: mmn_misc_volume_4}\n", - "timeoutMinutes": 120, - "version": "2", - "description": "created from csar", - "artifactChecksum": "MzA5MGY5ODQ0NDY5MDhiMDM3YjFlNGIwNzJkNjFhOTI=", - "parameters": [ - { - "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "paramName": "mmn_volume_name_2", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "paramName": "mmn_volume_size_2", - "required": true, - "paramType": "number" - }, - { - "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "paramName": "mmn_volume_name_1", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "paramName": "mmn_volume_size_1", - "required": true, - "paramType": "number" - }, - { - "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "paramName": "mmn_volume_name_4", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "paramName": "mmn_volume_name_3", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "paramName": "mmn_volume_size_4", - "required": true, - "paramType": "number" - }, - { - "heatTemplateArtifactUuid": "2f372a02-df1b-46ca-b81e-822e3f406965", - "paramName": "mmn_volume_size_3", - "required": true, - "paramType": "number" - } - ], - "childTemplates": [], - "heatTemplate": "heat_template_version: 2015-04-30\n\ndescription: HOT creates MSP MMN Cinder Volumes under MobiSupport Tenant\n\nparameters:\n mmn_volume_name_1:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_2:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_3:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_name_4:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n\n mmn_volume_size_1:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_2:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_3:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\n mmn_volume_size_4:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n\nresources:\n mmn_data_volume_1:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_1}\n size: {get_param: mmn_volume_size_1}\n \n mmn_arch_volume_2:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_2}\n size: {get_param: mmn_volume_size_2}\n \n mmn_backup_volume_3:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_3}\n size: {get_param: mmn_volume_size_3}\n \n mmn_misc_volume_4:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_4}\n size: {get_param: mmn_volume_size_4}\n\noutputs:\n mmn_data_volume_id_1:\n description: msp mmn data volume 1\n value: {get_resource: mmn_data_volume_1}\n \n mmn_arch_volume_id_2:\n description: msp mn arch volume 2\n value: {get_resource: mmn_arch_volume_2}\n \n mmn_backup_volume_id_3:\n description: msp mn backup volume 3\n value: {get_resource: mmn_backup_volume_3}\n \n mmn_misc_volume_id_4:\n description: msp mn volume 4\n value: {get_resource: mmn_misc_volume_4}\n" - }, - "moduleHeatTemplate": { - "artifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "templateName": "pxmc_mmn.yaml", - "templateBody": "heat_template_version: 2015-04-30\n\ndescription: HOT creates Nimbus vMSP MMN stack.\n\nparameters:\n mmn_name_0:\n type: string\n label: MSP MMN server names\n description: name of the MSP MMN instances\n mmn_flavor_name:\n type: string\n label: MSP MMN flavor name\n description: MSP MMN flavor name\n# mmn_image_name:\n# type: string\n# label: MSP MMN image name\n# description: MSP MMN image name\n# availability_zone_0:\n# type: string\n# label: MSP MMN availability zones\n# description: MSP MMN availability zones\n sec_grp_msp_id:\n type: string\n label: security group id\n description: the id of security group\n mmn_oam_protected_ip_0:\n type: string\n label: MSP MMN OAM IP Addresses\n description: MSP MMN OAM IP Addresses\n oam_protected_net_name:\n type: string\n label: MSP MMN OAM net name\n description: MSP MMN OAM net name\n mmn_volume_name_0:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n mmn_volume_size_0:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n mmn_volume_image_name_0:\n type: string\n label: Mobisupport MSP MMN Cinder Volume image name\n description: Mobisupport MSP MMN Cinder Volume image name\n mmn_data_volume_id_1:\n type: string\n label: MSP MMN Volume id 1\n description: MSP MMN Volume id 1\n mmn_arch_volume_id_2:\n type: string\n label: MSP MMN Volume id 2\n description: MSP MMN Volume id 2\n mmn_backup_volume_id_3:\n type: string\n label: MSP MMN Volume id 3\n description: MSP MMN Volume id 3\n mmn_misc_volume_id_4:\n type: string\n label: MSP MMN Volume id 4\n description: MSP MMN Volume id 4\n mmn_block_device_names:\n type: comma_delimited_list\n label: MSP MMN Block Device Names\n description: MSP MMN Block Device Names\n cinder_delete_on_termination_true:\n type: boolean\n description: delete cinder volume upon instances termination\n cinder_delete_on_termination_false:\n type: boolean\n description: keep cinder volume upon instances termination\n vnf_id:\n type: string\n label: MSP MMN VNF ID\n description: MSP MMN VNF ID\n vf_module_id:\n type: string\n description: Unique ID for this VF module instance\n\nresources:\n################ Cinder Volume ########################\n mmn_volume_0:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_0}\n size: {get_param: mmn_volume_size_0}\n image: {get_param: mmn_volume_image_name_0}\n\n################ Server ##############################\n mmn_zrdm5bpxmc02mmn_0:\n type: OS::Nova::Server\n properties:\n name: {get_param: mmn_name_0}\n# image: {get_param: mmn_image_name}\n flavor: {get_param: mmn_flavor_name}\n# availability_zone: {get_param: availability_zone_0}\n block_device_mapping_v2:\n - device_name: { get_param: [mmn_block_device_names, 0] }\n volume_id: { get_resource: mmn_volume_0 }\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n networks:\n - port: { get_resource: mmn_oam_protected_0_port }\n config_drive: \"True\"\n user_data_format: RAW\n user_data:\n get_file: user_data_zrdm5bpxmc02mmn001.txt\n metadata:\n vnf_id: {get_param: vnf_id}\n vf_module_id {get_param: vf_module_id}\n \"evacuation_policy\": \"Evacuation\"\n\n################ Ports ##############################\n mmn_oam_protected_0_port:\n type: OS::Neutron::Port\n properties:\n network: {get_param: oam_protected_net_name}\n fixed_ips: [{\"ip_address\": {get_param: mmn_oam_protected_ip_0}}]\n security_groups: [{ get_param: sec_grp_msp_id }]\n replacement_policy: AUTO\n\n################ Volume Attachment ##############################\n volume_attachment_vdb:\n type: OS::Cinder::VolumeAttachment\n depends_on: mmn_zrdm5bpxmc02mmn_0\n properties:\n volume_id: { get_param: mmn_data_volume_id_1 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdb\n\n volume_attachment_vdc:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdb\n properties:\n volume_id: { get_param: mmn_arch_volume_id_2 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdc\n\n volume_attachment_vdd:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdc\n properties:\n volume_id: { get_param: mmn_backup_volume_id_3 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdd\n\n volume_attachment_vde:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdd\n properties:\n volume_id: { get_param: mmn_misc_volume_id_4 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vde\n", - "timeoutMinutes": 120, - "version": "1", - "description": "created from csar", - "artifactChecksum": "YmNiYTU5YTM4ODVhYTlhODc5NGMwNWZkZjI5MTRmNTE=", - "parameters": [ - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "vnf_id", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_block_device_names", - "required": true, - "paramType": "comma_delimited_list" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_name_0", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_arch_volume_id_2", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_volume_image_name_0", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "cinder_delete_on_termination_false", - "required": true, - "paramType": "boolean" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_oam_protected_ip_0", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_data_volume_id_1", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_backup_volume_id_3", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "vf_module_id", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "sec_grp_msp_id", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_volume_size_0", - "required": true, - "paramType": "number" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "cinder_delete_on_termination_true", - "required": true, - "paramType": "boolean" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_volume_name_0", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "oam_protected_net_name", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_misc_volume_id_4", - "required": true, - "paramType": "string" - }, - { - "heatTemplateArtifactUuid": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "paramName": "mmn_flavor_name", - "required": true, - "paramType": "string" - } - ], - "childTemplates": [], - "heatTemplate": "heat_template_version: 2015-04-30\n\ndescription: HOT creates Nimbus vMSP MMN stack.\n\nparameters:\n mmn_name_0:\n type: string\n label: MSP MMN server names\n description: name of the MSP MMN instances\n mmn_flavor_name:\n type: string\n label: MSP MMN flavor name\n description: MSP MMN flavor name\n# mmn_image_name:\n# type: string\n# label: MSP MMN image name\n# description: MSP MMN image name\n# availability_zone_0:\n# type: string\n# label: MSP MMN availability zones\n# description: MSP MMN availability zones\n sec_grp_msp_id:\n type: string\n label: security group id\n description: the id of security group\n mmn_oam_protected_ip_0:\n type: string\n label: MSP MMN OAM IP Addresses\n description: MSP MMN OAM IP Addresses\n oam_protected_net_name:\n type: string\n label: MSP MMN OAM net name\n description: MSP MMN OAM net name\n mmn_volume_name_0:\n type: string\n label: Mobisupport MSP MMN Cinder Volume names\n description: Mobisupport MSP MMN Cinder Volume names\n mmn_volume_size_0:\n type: number\n label: Mobisupport MSP MMN Cinder Volume sizes\n description: Mobisupport MSP MMN Cinder Volume sizes\n mmn_volume_image_name_0:\n type: string\n label: Mobisupport MSP MMN Cinder Volume image name\n description: Mobisupport MSP MMN Cinder Volume image name\n mmn_data_volume_id_1:\n type: string\n label: MSP MMN Volume id 1\n description: MSP MMN Volume id 1\n mmn_arch_volume_id_2:\n type: string\n label: MSP MMN Volume id 2\n description: MSP MMN Volume id 2\n mmn_backup_volume_id_3:\n type: string\n label: MSP MMN Volume id 3\n description: MSP MMN Volume id 3\n mmn_misc_volume_id_4:\n type: string\n label: MSP MMN Volume id 4\n description: MSP MMN Volume id 4\n mmn_block_device_names:\n type: comma_delimited_list\n label: MSP MMN Block Device Names\n description: MSP MMN Block Device Names\n cinder_delete_on_termination_true:\n type: boolean\n description: delete cinder volume upon instances termination\n cinder_delete_on_termination_false:\n type: boolean\n description: keep cinder volume upon instances termination\n vnf_id:\n type: string\n label: MSP MMN VNF ID\n description: MSP MMN VNF ID\n vf_module_id:\n type: string\n description: Unique ID for this VF module instance\n\nresources:\n################ Cinder Volume ########################\n mmn_volume_0:\n type: OS::Cinder::Volume\n properties:\n name: {get_param: mmn_volume_name_0}\n size: {get_param: mmn_volume_size_0}\n image: {get_param: mmn_volume_image_name_0}\n\n################ Server ##############################\n mmn_zrdm5bpxmc02mmn_0:\n type: OS::Nova::Server\n properties:\n name: {get_param: mmn_name_0}\n# image: {get_param: mmn_image_name}\n flavor: {get_param: mmn_flavor_name}\n# availability_zone: {get_param: availability_zone_0}\n block_device_mapping_v2:\n - device_name: { get_param: [mmn_block_device_names, 0] }\n volume_id: { get_resource: mmn_volume_0 }\n delete_on_termination: {get_param: cinder_delete_on_termination_true}\n networks:\n - port: { get_resource: mmn_oam_protected_0_port }\n config_drive: \"True\"\n user_data_format: RAW\n user_data:\n get_file: user_data_zrdm5bpxmc02mmn001.txt\n metadata:\n vnf_id: {get_param: vnf_id}\n vf_module_id {get_param: vf_module_id}\n \"evacuation_policy\": \"Evacuation\"\n\n################ Ports ##############################\n mmn_oam_protected_0_port:\n type: OS::Neutron::Port\n properties:\n network: {get_param: oam_protected_net_name}\n fixed_ips: [{\"ip_address\": {get_param: mmn_oam_protected_ip_0}}]\n security_groups: [{ get_param: sec_grp_msp_id }]\n replacement_policy: AUTO\n\n################ Volume Attachment ##############################\n volume_attachment_vdb:\n type: OS::Cinder::VolumeAttachment\n depends_on: mmn_zrdm5bpxmc02mmn_0\n properties:\n volume_id: { get_param: mmn_data_volume_id_1 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdb\n\n volume_attachment_vdc:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdb\n properties:\n volume_id: { get_param: mmn_arch_volume_id_2 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdc\n\n volume_attachment_vdd:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdc\n properties:\n volume_id: { get_param: mmn_backup_volume_id_3 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vdd\n\n volume_attachment_vde:\n type: OS::Cinder::VolumeAttachment\n depends_on: volume_attachment_vdd\n properties:\n volume_id: { get_param: mmn_misc_volume_id_4 }\n instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0}\n mountpoint: /dev/vde\n" - }, - "heatFiles": [], - "vnfResources": { - "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", - "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", - "modelName": "Vf zrdm5bpxmc02092017-VF", - "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", - "description": "Demo", - "orchestrationMode": "HEAT", - "modelVersion": "1.0", - "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" - }, - "modelInvariantUuid": "8e53c069-b2f0-437a-9c00-21cbc5c8f081", - "base": false - } - } - ], - "vnfResource": { - "modelUuid": "d326f424-2312-4dd6-b7fe-364fadbd1ef5", - "modelInvariantUuid": "23122c9b-dd7f-483f-bf0a-e069303db2f7", - "modelName": "Vf zrdm5bpxmc02092017-VF", - "toscaNodeType": "org.openecomp.resource.vf.VfZrdm5bpxmc02092017Vf", - "description": "Demo", - "orchestrationMode": "HEAT", - "modelVersion": "1.0", - "modelInvariantId": "23122c9b-dd7f-483f-bf0a-e069303db2f7" - } - } - ], - "allotedCustomizations": [], - "recipes": { - - }, - "csar": { - "artifactUUID": "396cfd49-0f4b-4fec-9f33-0fd7e90d5a22", - "name": "service-VfZrdm5bpxmc02092017Service-csar.csar", - "artifactChecksum": "MWQ3Y2FmMWExNDQyYWI2N2YwNjEwZGUzN2IzMzI3NjE=", - "url": "service-VfZrdm5bpxmc02092017Service-csar.csar", - "description": "TOSCA definition package of the asset", - "version": "1" - } -} diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/notif-structure.json b/asdc-controller/src/test/resources/resource-examples/multipleModules/notif-structure.json deleted file mode 100644 index 3a7b361f89..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/notif-structure.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "serviceName": "Vf zrdm5bpxmc02092017-Service", - "serviceInvariantUUID": "b16a9398-ffa3-4041-b78c-2956b8ad9c7b", - "serviceUUID": "bad955c3-29b2-4a27-932e-28e942cc6480", - "serviceVersion": "1.0", - "serviceArtifacts": - [{ - "artifactName": "service-VfZrdm5bpxmc02092017Service-csar.csar", - "artifactType": "TOSCA_CSAR", - "artifactURL": "service-VfZrdm5bpxmc02092017Service-csar.csar", - "artifactChecksum": "MWQ3Y2FmMWExNDQyYWI2N2YwNjEwZGUzN2IzMzI3NjE=", - "artifactDescription": "TOSCA definition package of the asset", - "artifactTimeout": 0, - "artifactUUID": "396cfd49-0f4b-4fec-9f33-0fd7e90d5a22", - "artifactVersion": "1" - }], - "resources": - [ - { - "resourceInstanceName": "Vf zrdm5bpxmc02092017-VF 0", - "resourceInvariantUUID": "23122c9b-dd7f-483f-bf0a-e069303db2f7", - "resourceCustomizationUUID": "96c23a4a-6887-4b2c-9cce-1e4ea35eaade", - "resourceName": "Vf zrdm5bpxmc02092017-VF", - "resourceType": "VF", - "resourceUUID": "14ba5d1e-3862-407c-a236-1cbaebccce77", - "resourceVersion": "1.0", - "category": "Generic", - "subcategory": "Network Elements", - "artifacts": - [ - { - "artifactChecksum": "NmEyZjc1Y2UwZDMwYjFhNGRlMTMzN2JhNzdiMThjMGU=", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactName": "pxmc_mmn_volume.env", - "artifactType": "HEAT_ENV", - "artifactURL": "pxmc_mmn_volume.env", - "artifactUUID": "c1ae6284-48d9-4437-a195-b2cf2ba23070", - "artifactTimeout": 0, - "artifactVersion": "2" - }, - { - "artifactChecksum": "OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg==", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactName": "pxmc_base.env", - "artifactTimeout": 0, - "artifactType": "HEAT_ENV", - "artifactURL": "pxmc_base.env", - "artifactUUID": "6dd99c31-c52e-4c45-b99b-d223c877a296", - "artifactVersion": "2.0" - }, - { - "artifactChecksum": "MzJmZjgyZWYwOTBjMTg5M2ExNWZhMmMwNzc1NWY1YjQ=", - "artifactDescription": "created from csar", - "artifactName": "user_data_zrdm5bpxmc02vmt001.txt", - "artifactTimeout": 0, - "artifactType": "HEAT_ARTIFACT", - "artifactURL": "user_data_zrdm5bpxmc02vmt001.txt", - "artifactUUID": "53acdabe-689f-45e5-8578-f1514d3529da", - "artifactVersion": "1" - }, - { - "artifactChecksum": "MjY0NzcxMjJkZGI4YzQ1MDU2NjhkNWYyM2IwNmYzYmU=", - "artifactDescription": "Auto-generated VF Modules information artifact", - "artifactName": "vfzrdm5bpxmc02092017vf0_modules.json", - "artifactTimeout": 0, - "artifactType": "VF_MODULES_METADATA", - "artifactURL": "vfzrdm5bpxmc02092017vf0_modules.json", - "artifactUUID": "e3b82cd6-485e-4d56-8d2c-17ccf6a59533", - "artifactVersion": "1" - }, - { - "artifactChecksum": "YWQ2MmE0Y2NjNGE4YmJlOTk0YmZhYmIxYTc1YWZkY2M=", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactName": "base_TEST.env", - "artifactTimeout": 0, - "artifactType": "HEAT_ENV", - "artifactURL": "base_TEST.env", - "artifactUUID": "57f6520b-fa65-4544-90de-95c8190c2e6c", - "artifactVersion": "1.0" - }, - { - "artifactChecksum": "YWQ2MmE0Y2NjNGE4YmJlOTk0YmZhYmIxYTc1YWZkY2M=", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactName": "base_TEST.env", - "artifactTimeout": 0, - "artifactType": "HEAT_ENV", - "artifactURL": "base_TEST.env", - "artifactUUID": "57f6520b-fa65-4544-90de-95c8190c2e6c", - "artifactVersion": "1.0" - } - ] - } - ], - "serviceDescription": "Demo", - "distributionID": "a2872f55-8628-4486-8548-7b132c9a47db" -}
\ No newline at end of file diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_base.env b/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_base.env deleted file mode 100644 index 42d736ef59..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_base.env +++ /dev/null @@ -1,2 +0,0 @@ -parameters: - vnf_name: diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_base.yaml b/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_base.yaml deleted file mode 100644 index 3e98047ffd..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_base.yaml +++ /dev/null @@ -1,45 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - -## GLOBAL//Basic Parameters - vnf_name: - type: string - description: Unique name for this VF instance -# For manual spinups, value must be in the ENV file. Must be removed from ENV before uploading to ASDC - -resources: - -## MSP RSG//Resource:SecurityGroup - sec_grp_msp_0: - type: OS::Neutron::SecurityGroup - properties: - description: Security Group for PXMC - name: - str_replace: - template: VF_NAME_sec_grp_msp - params: - VF_NAME: { get_param: vnf_name } - rules: - - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "132", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"} - - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "132", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "58", "ethertype": "IPv6"} - - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "132", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"} - - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "132", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 0} - - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "58", "ethertype": "IPv6"} - -outputs: - - sec_grp_msp_id: - description: uuid of the security group - value: {get_resource: sec_grp_msp_0 } diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn.env b/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn.env deleted file mode 100644 index 42599e6034..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn.env +++ /dev/null @@ -1,18 +0,0 @@ -parameters: - cinder_delete_on_termination_false: - cinder_delete_on_termination_true: - mmn_arch_volume_id_2: - mmn_backup_volume_id_3: - mmn_block_device_names: - mmn_data_volume_id_1: - mmn_flavor_name: - mmn_misc_volume_id_4: - mmn_name_0: - mmn_oam_protected_ip_0: - mmn_volume_image_name_0: - mmn_volume_name_0: - mmn_volume_size_0: - oam_protected_net_name: - sec_grp_msp_id: - vf_module_id: - vnf_id: diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn.yaml b/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn.yaml deleted file mode 100644 index d1b0ce883b..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn.yaml +++ /dev/null @@ -1,152 +0,0 @@ -heat_template_version: 2015-04-30 - -description: HOT creates Nimbus vMSP MMN stack. - -parameters: - mmn_name_0: - type: string - label: MSP MMN server names - description: name of the MSP MMN instances - mmn_flavor_name: - type: string - label: MSP MMN flavor name - description: MSP MMN flavor name -# mmn_image_name: -# type: string -# label: MSP MMN image name -# description: MSP MMN image name -# availability_zone_0: -# type: string -# label: MSP MMN availability zones -# description: MSP MMN availability zones - sec_grp_msp_id: - type: string - label: security group id - description: the id of security group - mmn_oam_protected_ip_0: - type: string - label: MSP MMN OAM IP Addresses - description: MSP MMN OAM IP Addresses - oam_protected_net_name: - type: string - label: MSP MMN OAM net name - description: MSP MMN OAM net name - mmn_volume_name_0: - type: string - label: Mobisupport MSP MMN Cinder Volume names - description: Mobisupport MSP MMN Cinder Volume names - mmn_volume_size_0: - type: number - label: Mobisupport MSP MMN Cinder Volume sizes - description: Mobisupport MSP MMN Cinder Volume sizes - mmn_volume_image_name_0: - type: string - label: Mobisupport MSP MMN Cinder Volume image name - description: Mobisupport MSP MMN Cinder Volume image name - mmn_data_volume_id_1: - type: string - label: MSP MMN Volume id 1 - description: MSP MMN Volume id 1 - mmn_arch_volume_id_2: - type: string - label: MSP MMN Volume id 2 - description: MSP MMN Volume id 2 - mmn_backup_volume_id_3: - type: string - label: MSP MMN Volume id 3 - description: MSP MMN Volume id 3 - mmn_misc_volume_id_4: - type: string - label: MSP MMN Volume id 4 - description: MSP MMN Volume id 4 - mmn_block_device_names: - type: comma_delimited_list - label: MSP MMN Block Device Names - description: MSP MMN Block Device Names - cinder_delete_on_termination_true: - type: boolean - description: delete cinder volume upon instances termination - cinder_delete_on_termination_false: - type: boolean - description: keep cinder volume upon instances termination - vnf_id: - type: string - label: MSP MMN VNF ID - description: MSP MMN VNF ID - vf_module_id: - type: string - description: Unique ID for this VF module instance - -resources: -################ Cinder Volume ######################## - mmn_volume_0: - type: OS::Cinder::Volume - properties: - name: {get_param: mmn_volume_name_0} - size: {get_param: mmn_volume_size_0} - image: {get_param: mmn_volume_image_name_0} - -################ Server ############################## - mmn_zrdm5bpxmc02mmn_0: - type: OS::Nova::Server - properties: - name: {get_param: mmn_name_0} -# image: {get_param: mmn_image_name} - flavor: {get_param: mmn_flavor_name} -# availability_zone: {get_param: availability_zone_0} - block_device_mapping_v2: - - device_name: { get_param: [mmn_block_device_names, 0] } - volume_id: { get_resource: mmn_volume_0 } - delete_on_termination: {get_param: cinder_delete_on_termination_true} - networks: - - port: { get_resource: mmn_oam_protected_0_port } - config_drive: "True" - user_data_format: RAW - user_data: - get_file: user_data_zrdm5bpxmc02mmn001.txt - metadata: - vnf_id: {get_param: vnf_id} - vf_module_id {get_param: vf_module_id} - "evacuation_policy": "Evacuation" - -################ Ports ############################## - mmn_oam_protected_0_port: - type: OS::Neutron::Port - properties: - network: {get_param: oam_protected_net_name} - fixed_ips: [{"ip_address": {get_param: mmn_oam_protected_ip_0}}] - security_groups: [{ get_param: sec_grp_msp_id }] - replacement_policy: AUTO - -################ Volume Attachment ############################## - volume_attachment_vdb: - type: OS::Cinder::VolumeAttachment - depends_on: mmn_zrdm5bpxmc02mmn_0 - properties: - volume_id: { get_param: mmn_data_volume_id_1 } - instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0} - mountpoint: /dev/vdb - - volume_attachment_vdc: - type: OS::Cinder::VolumeAttachment - depends_on: volume_attachment_vdb - properties: - volume_id: { get_param: mmn_arch_volume_id_2 } - instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0} - mountpoint: /dev/vdc - - volume_attachment_vdd: - type: OS::Cinder::VolumeAttachment - depends_on: volume_attachment_vdc - properties: - volume_id: { get_param: mmn_backup_volume_id_3 } - instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0} - mountpoint: /dev/vdd - - volume_attachment_vde: - type: OS::Cinder::VolumeAttachment - depends_on: volume_attachment_vdd - properties: - volume_id: { get_param: mmn_misc_volume_id_4 } - instance_uuid: { get_resource: mmn_zrdm5bpxmc02mmn_0} - mountpoint: /dev/vde diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn_volume.env b/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn_volume.env deleted file mode 100644 index d5f16289b1..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn_volume.env +++ /dev/null @@ -1,9 +0,0 @@ -parameters: - mmn_volume_name_1: "data-mn-v-vdb" - mmn_volume_name_2: "arch-mn-v-vdc" - mmn_volume_name_3: "backup-mn-v-vdd" - mmn_volume_name_4: "misc-mn-v-vde" - mmn_volume_size_1: 20 - mmn_volume_size_2: 20 - mmn_volume_size_3: 50 - mmn_volume_size_4: 20 diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn_volume.yaml b/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn_volume.yaml deleted file mode 100644 index debb8a96db..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_mmn_volume.yaml +++ /dev/null @@ -1,86 +0,0 @@ -heat_template_version: 2015-04-30 - -description: HOT creates MSP MMN Cinder Volumes under MobiSupport Tenant - -parameters: - mmn_volume_name_1: - type: string - label: Mobisupport MSP MMN Cinder Volume names - description: Mobisupport MSP MMN Cinder Volume names - - mmn_volume_name_2: - type: string - label: Mobisupport MSP MMN Cinder Volume names - description: Mobisupport MSP MMN Cinder Volume names - - mmn_volume_name_3: - type: string - label: Mobisupport MSP MMN Cinder Volume names - description: Mobisupport MSP MMN Cinder Volume names - - mmn_volume_name_4: - type: string - label: Mobisupport MSP MMN Cinder Volume names - description: Mobisupport MSP MMN Cinder Volume names - - mmn_volume_size_1: - type: number - label: Mobisupport MSP MMN Cinder Volume sizes - description: Mobisupport MSP MMN Cinder Volume sizes - - mmn_volume_size_2: - type: number - label: Mobisupport MSP MMN Cinder Volume sizes - description: Mobisupport MSP MMN Cinder Volume sizes - - mmn_volume_size_3: - type: number - label: Mobisupport MSP MMN Cinder Volume sizes - description: Mobisupport MSP MMN Cinder Volume sizes - - mmn_volume_size_4: - type: number - label: Mobisupport MSP MMN Cinder Volume sizes - description: Mobisupport MSP MMN Cinder Volume sizes - -resources: - mmn_data_volume_1: - type: OS::Cinder::Volume - properties: - name: {get_param: mmn_volume_name_1} - size: {get_param: mmn_volume_size_1} - - mmn_arch_volume_2: - type: OS::Cinder::Volume - properties: - name: {get_param: mmn_volume_name_2} - size: {get_param: mmn_volume_size_2} - - mmn_backup_volume_3: - type: OS::Cinder::Volume - properties: - name: {get_param: mmn_volume_name_3} - size: {get_param: mmn_volume_size_3} - - mmn_misc_volume_4: - type: OS::Cinder::Volume - properties: - name: {get_param: mmn_volume_name_4} - size: {get_param: mmn_volume_size_4} - -outputs: - mmn_data_volume_id_1: - description: msp mmn data volume 1 - value: {get_resource: mmn_data_volume_1} - - mmn_arch_volume_id_2: - description: msp mn arch volume 2 - value: {get_resource: mmn_arch_volume_2} - - mmn_backup_volume_id_3: - description: msp mn backup volume 3 - value: {get_resource: mmn_backup_volume_3} - - mmn_misc_volume_id_4: - description: msp mn volume 4 - value: {get_resource: mmn_misc_volume_4} diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_vmt.env b/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_vmt.env deleted file mode 100644 index 0f0e6daac0..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_vmt.env +++ /dev/null @@ -1,17 +0,0 @@ -parameters: - cinder_delete_on_termination_false: - cinder_delete_on_termination_true: - oam_protected_net_name: - sec_grp_msp_id: - vf_module_id: - vmt_block_device_names: - vmt_flavor_name: - vmt_name_0: - vmt_oam_protected_ip_0: - vmt_volume_image_name_0: - vmt_volume_image_name_1: - vmt_volume_name_0: - vmt_volume_name_1: - vmt_volume_size_0: - vmt_volume_size_1: - vnf_id: diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_vmt.yaml b/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_vmt.yaml deleted file mode 100644 index 2e04c6130e..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/pxmc_vmt.yaml +++ /dev/null @@ -1,128 +0,0 @@ -heat_template_version: 2015-04-30 - -description: HOT creates Nimbus MSP VMT stack under MobiSupport Tenant - -parameters: - vmt_name_0: - type: string - label: MSP VMT server names - description: name of the MSP VMT instances -# vmt_image_name: -# type: string -# label: MSP VMT image name -# description: MSP VMT image name - vmt_flavor_name: - type: string - label: MSP VMT flavor name - description: MSP VMT flavor name -# availability_zone_0: -# type: string -# label: MSP VMT availability zones -# description: MSP VMT availability zones - sec_grp_msp_id: - type: string - label: security group id - description: the id of security group - vmt_oam_protected_ip_0: - type: string - label: MSP VMT OAM IP Addresses - description: MSP VMT OAM IP Addresses - oam_protected_net_name: - type: string - label: MSP VMT OAM net name - description: MSP VMT OAM net name - vmt_block_device_names: - type: comma_delimited_list - label: MSP VMT Block Device Names - description: MSP VMT Block Device Names - vmt_volume_name_0: - type: string - label: Mobisupport MSP VMT Cinder Volume names - description: Mobisupport MSP VMT Cinder Volume names - vmt_volume_name_1: - type: string - label: Mobisupport MSP VMT Cinder Volume names - description: Mobisupport MSP VMT Cinder Volume names - vmt_volume_size_0: - type: number - label: Mobisupport MSP VMT Cinder Volume sizes - description: Mobisupport MSP VMT Cinder Volume sizes - vmt_volume_size_1: - type: number - label: Mobisupport MSP VMT Cinder Volume sizes - description: Mobisupport MSP VMT Cinder Volume sizes - vmt_volume_image_name_0: - type: string - label: Mobisupport MSP VMT VDA Cinder Volume image name - description: Mobisupport MSP VMT VDA Cinder Volume image name - vmt_volume_image_name_1: - type: string - label: Mobisupport MSP VMT VDB Cinder Volume image name - description: Mobisupport MSP VMT VDB Cinder Volume image name - cinder_delete_on_termination_true: - type: boolean - description: delete cinder volume upon instances termination - cinder_delete_on_termination_false: - type: boolean - description: keep cinder volume upon instances termination - vnf_id: - type: string - label: MSP VMT VNF ID - description: MSP VMT VNF ID - vf_module_id: - type: string - description: Unique ID for this VF Module instance - -resources: -################ Cinder Volumes ############################## - vmt_volume_0: - type: OS::Cinder::Volume - properties: - name: {get_param: vmt_volume_name_0} - size: {get_param: vmt_volume_size_0} - image: {get_param: vmt_volume_image_name_0} - - vmt_volume_1: - type: OS::Cinder::Volume - properties: - name: {get_param: vmt_volume_name_1} - size: {get_param: vmt_volume_size_1} - image: {get_param: vmt_volume_image_name_1} - -################ Ports ############################## - vmt_oam_protected_0_port: - type: OS::Neutron::Port - properties: - network: {get_param: oam_protected_net_name} - fixed_ips: [{"ip_address": {get_param: vmt_oam_protected_ip_0}}] - security_groups: [{get_param: sec_grp_msp_id}] - replacement_policy: AUTO - -################### Servers ######################### - vmt_zrdm5bpxmc02vmt_0: - type: OS::Nova::Server - properties: - name: {get_param: vmt_name_0} -# image: {get_param: vmt_image_name} - flavor: {get_param: vmt_flavor_name} -# availability_zone: {get_param: availability_zone_0} - block_device_mapping_v2: - - device_name: {get_param: [vmt_block_device_names, 0]} - volume_id: {get_resource: vmt_volume_0} - delete_on_termination: {get_param: cinder_delete_on_termination_true} - boot_index: 0 - - device_name: {get_param: [vmt_block_device_names, 1]} - volume_id: {get_resource: vmt_volume_1} - delete_on_termination: {get_param: cinder_delete_on_termination_true} - boot_index: -1 - networks: - - port: {get_resource: vmt_oam_protected_0_port} - config_drive: "True" - user_data_format: RAW - user_data: - get_file: user_data_zrdm5bpxmc02vmt001.txt - - metadata: - vnf_id: {get_param: vnf_id} - vf_module_id {get_param: vf_module_id} - "evacuation_policy": "Evacuation" diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/service-VfZrdm5bpxmc02092017Service-csar.csar b/asdc-controller/src/test/resources/resource-examples/multipleModules/service-VfZrdm5bpxmc02092017Service-csar.csar Binary files differdeleted file mode 100644 index 69b1c23404..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/service-VfZrdm5bpxmc02092017Service-csar.csar +++ /dev/null diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/testStructure.json b/asdc-controller/src/test/resources/resource-examples/multipleModules/testStructure.json deleted file mode 100644 index 0dd1193e67..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/testStructure.json +++ /dev/null @@ -1,217 +0,0 @@ -{ - "distributionID": "a2872f55-8628-4486-8548-7b132c9a47db", - "serviceName": "Vf zrdm5bpxmc02092017-Service", - "serviceVersion": "1.0", - "serviceUUID": "bad955c3-29b2-4a27-932e-28e942cc6480", - "serviceInvariantUUID": "b16a9398-ffa3-4041-b78c-2956b8ad9c7b", - "serviceDescription": "Demo", - "serviceArtifacts": [ - { - "artifactName": "service-VfZrdm5bpxmc02092017Service-csar.csar", - "artifactVersion": "1", - "artifactType": "TOSCA_CSAR", - "artifactDescription": "TOSCA definition package of the asset", - "artifactTimeout": "0", - "artifactURL": "service-VfZrdm5bpxmc02092017Service-csar.csar", - "artifactUUID": "396cfd49-0f4b-4fec-9f33-0fd7e90d5a22", - "artifactChecksum": "MWQ3Y2FmMWExNDQyYWI2N2YwNjEwZGUzN2IzMzI3NjE=" - } - ], - "resources": [ - { - "resourceInstanceName": "Vf zrdm5bpxmc02092017-VF 0", - "resourceCustomizationUUID": "96c23a4a-6887-4b2c-9cce-1e4ea35eaade", - "resourceInvariantUUID": "23122c9b-dd7f-483f-bf0a-e069303db2f7", - "resourceName": "Vf zrdm5bpxmc02092017-VF", - "resourceType": "VF", - "resourceUUID": "14ba5d1e-3862-407c-a236-1cbaebccce77", - "resourceVersion": "1.0", - "category": "Generic", - "subCategory": "Network Elements", - "artifacts": [ - { - "artifactName": "pxmc_mmn_volume.env", - "artifactVersion": "2", - "artifactType": "HEAT_ENV", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactTimeout": "0", - "artifactURL": "pxmc_mmn_volume.env", - "artifactUUID": "c1ae6284-48d9-4437-a195-b2cf2ba23070", - "artifactChecksum": "NmEyZjc1Y2UwZDMwYjFhNGRlMTMzN2JhNzdiMThjMGU=" - }, - { - "artifactName": "pxmc_base.env", - "artifactVersion": "2", - "artifactType": "HEAT_ENV", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactTimeout": "0", - "artifactURL": "pxmc_base.env", - "artifactUUID": "6dd99c31-c52e-4c45-b99b-d223c877a296", - "artifactChecksum": "OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg=" - }, - { - "artifactName": "vfzrdm5bpxmc02092017vf0_modules.json", - "artifactVersion": "1", - "artifactType": "VF_MODULES_METADATA", - "artifactDescription": "Auto-generated VF Modules information artifact", - "artifactTimeout": "0", - "artifactURL": "vfzrdm5bpxmc02092017vf0_modules.json", - "artifactUUID": "e3b82cd6-485e-4d56-8d2c-17ccf6a59533", - "artifactChecksum": "MjY0NzcxMjJkZGI4YzQ1MDU2NjhkNWYyM2IwNmYzYmU=" - }, - { - "artifactName": "pxmc_vmt.yaml", - "artifactVersion": "1", - "artifactType": "HEAT", - "artifactDescription": "created from csar", - "artifactTimeout": "120", - "artifactURL": "pxmc_vmt.yaml", - "artifactUUID": "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "artifactChecksum": "ODE0YTRiYzc2YzkxOTliZjJhNjc0M2RhMWU4M2VlZmE=", - "generatedArtifact": { - "artifactInfo": { - "artifactName": "pxmc_vmt.env", - "artifactVersion": "2", - "artifactType": "HEAT_ENV", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactTimeout": "0", - "artifactURL": "pxmc_vmt.env", - "artifactUUID": "bc1640f1-69f0-4760-8fc3-3318ec2ff129", - "artifactChecksum": "MjdkYzY5ZGU0ZTlkZDlhNzI2ZGVhMjk1ODVhZTg1NTY=" - } - }, - "relatedArtifacts": [{ - "artifactInfo": { - "artifactName": "user_data_zrdm5bpxmc02vmt001.txt", - "artifactVersion": "1", - "artifactType": "HEAT_ARTIFACT", - "artifactDescription": "created from csar", - "artifactTimeout": "0", - "artifactURL": "user_data_zrdm5bpxmc02vmt001.txt", - "artifactUUID": "53acdabe-689f-45e5-8578-f1514d3529da", - "artifactChecksum": "MzJmZjgyZWYwOTBjMTg5M2ExNWZhMmMwNzc1NWY1YjQ=" - } - }] - }, - { - "artifactName": "pxmc_mmn.yaml", - "artifactVersion": "1", - "artifactType": "HEAT", - "artifactDescription": "created from csar", - "artifactTimeout": "120", - "artifactURL": "pxmc_mmn.yaml", - "artifactUUID": "b8bca13b-811f-44ab-9d27-45b842c664d8", - "artifactChecksum": "YmNiYTU5YTM4ODVhYTlhODc5NGMwNWZkZjI5MTRmNTE=", - "generatedArtifact": { - "artifactInfo": { - "artifactName": "pxmc_mmn.env", - "artifactVersion": "2", - "artifactType": "HEAT_ENV", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactTimeout": "0", - "artifactURL": "pxmc_mmn.env", - "artifactUUID": "e88ce0b9-1496-4d03-ab1d-6d8d79bfc737", - "artifactChecksum": "ZGI1NzI2Y2FmYjFhOTM2ZDYwNzg1YWRhZjBmMTk2OTQ=" - } - }, - "relatedArtifacts": [{ - "artifactInfo": { - "artifactName": "user_data_zrdm5bpxmc02mmn001.txt", - "artifactVersion": "1", - "artifactType": "HEAT_ARTIFACT", - "artifactDescription": "created from csar", - "artifactTimeout": "0", - "artifactURL": "user_data_zrdm5bpxmc02mmn001.txt", - "artifactUUID": "5bc62c72-5f7a-40bc-a167-1a4fed9afdef", - "artifactChecksum": "OTMxMjk5Mzc1YmIxMzRlYmRlZWJhMjg0MWQ4YTI1NWU=" - } - }] - }, - { - "artifactName": "pxmc_mmn.env", - "artifactVersion": "2", - "artifactType": "HEAT_ENV", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactTimeout": "0", - "artifactURL": "pxmc_mmn.env", - "artifactUUID": "e88ce0b9-1496-4d03-ab1d-6d8d79bfc737", - "artifactChecksum": "ZGI1NzI2Y2FmYjFhOTM2ZDYwNzg1YWRhZjBmMTk2OTQ=" - }, - { - "artifactName": "pxmc_vmt.env", - "artifactVersion": "2", - "artifactType": "HEAT_ENV", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactTimeout": "0", - "artifactURL": "pxmc_vmt.env", - "artifactUUID": "bc1640f1-69f0-4760-8fc3-3318ec2ff129", - "artifactChecksum": "MjdkYzY5ZGU0ZTlkZDlhNzI2ZGVhMjk1ODVhZTg1NTY=" - }, - { - "artifactName": "user_data_zrdm5bpxmc02mmn001.txt", - "artifactVersion": "1", - "artifactType": "HEAT_ARTIFACT", - "artifactDescription": "created from csar", - "artifactTimeout": "0", - "artifactURL": "user_data_zrdm5bpxmc02mmn001.txt", - "artifactUUID": "5bc62c72-5f7a-40bc-a167-1a4fed9afdef", - "artifactChecksum": "OTMxMjk5Mzc1YmIxMzRlYmRlZWJhMjg0MWQ4YTI1NWU=" - }, - { - "artifactName": "pxmc_base.yaml", - "artifactVersion": "1", - "artifactType": "HEAT", - "artifactDescription": "created from csar", - "artifactTimeout": "120", - "artifactURL": "pxmc_base.yaml", - "artifactUUID": "7e7f7356-11bd-4f2f-bbbc-5c10954e3189", - "artifactChecksum": "YThkNGFhZjAwNmM4NzMzODc0YzNhYTUxOTljNGQwNmM=", - "generatedArtifact": { - "artifactInfo": { - "artifactName": "pxmc_base.env", - "artifactVersion": "2", - "artifactType": "HEAT_ENV", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactTimeout": "0", - "artifactURL": "pxmc_base.env", - "artifactUUID": "6dd99c31-c52e-4c45-b99b-d223c877a296", - "artifactChecksum": "OGM2MWIzZTA2OTc5YjQwNTM1NGVhODA0YTFkNzM4ZTg=" - } - } - }, - { - "artifactName": "user_data_zrdm5bpxmc02vmt001.txt", - "artifactVersion": "1", - "artifactType": "HEAT_ARTIFACT", - "artifactDescription": "created from csar", - "artifactTimeout": "0", - "artifactURL": "user_data_zrdm5bpxmc02vmt001.txt", - "artifactUUID": "53acdabe-689f-45e5-8578-f1514d3529da", - "artifactChecksum": "MzJmZjgyZWYwOTBjMTg5M2ExNWZhMmMwNzc1NWY1YjQ=" - }, - { - "artifactName": "pxmc_mmn_volume.yaml", - "artifactVersion": "2", - "artifactType": "HEAT_VOL", - "artifactDescription": "created from csar", - "artifactTimeout": "120", - "artifactURL": "pxmc_mmn_volume.yaml", - "artifactUUID": "2f372a02-df1b-46ca-b81e-822e3f406965", - "artifactChecksum": "MzA5MGY5ODQ0NDY5MDhiMDM3YjFlNGIwNzJkNjFhOTI=", - "generatedArtifact": { - "artifactInfo": { - "artifactName": "pxmc_mmn_volume.env", - "artifactVersion": "2", - "artifactType": "HEAT_ENV", - "artifactDescription": "Auto-generated HEAT Environment deployment artifact", - "artifactTimeout": "0", - "artifactURL": "pxmc_mmn_volume.env", - "artifactUUID": "c1ae6284-48d9-4437-a195-b2cf2ba23070", - "artifactChecksum": "NmEyZjc1Y2UwZDMwYjFhNGRlMTMzN2JhNzdiMThjMGU=" - } - } - } - ] - } - ] -} diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/user_data_zrdm5bpxmc02mmn001.txt b/asdc-controller/src/test/resources/resource-examples/multipleModules/user_data_zrdm5bpxmc02mmn001.txt deleted file mode 100644 index 93a8ab9ae3..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/user_data_zrdm5bpxmc02mmn001.txt +++ /dev/null @@ -1,412 +0,0 @@ -#cloud-config -# \hbrief cloud-init main template for MSP config -# \hversion 0.0.11 -# \hdate 2016-05-09 -# \brief cloud-init template for MSP config -# \version 0.2.57 -# \date 2016-09-19 -# Configuration created for MSP SLES_12 MMN - -chpasswd: - list: | - root:Ericsson - miepadm:miep1234 - - expire: False - -users: - -bootcmd: - - - [ sh, -xc, "echo \"#################################################################\" > /etc/issue.ci" ] - - [ sh, -xc, "echo \"# #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"# * * * Cloud-init configuration is in progress * * * #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"# #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"# The system will reboot shortly and then be accessible #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"# #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"#################################################################\" >> /etc/issue.ci" ] - - [ sh, -xc, "if [ -f /etc/issue.orig ]; then cp /etc/issue.orig /etc/issue; fi" ] - - [ sh, -xc, "if [ ! -f /etc/issue.orig ]; then cp /etc/issue /etc/issue.orig; cp /etc/issue.ci /etc/issue; fi" ] - - [ sh, -xc, "/bin/sed -i 's/^DHCLIENT_SET_DEFAULT_ROUTE=\"yes\".*/DHCLIENT_SET_DEFAULT_ROUTE=\"no\"/' /etc/sysconfig/network/dhcp" ] - - [ sh, -xc, "/bin/sed -i 's/^NETCONFIG_DNS_POLICY=.*/NETCONFIG_DNS_POLICY=\"STATIC\"/' /etc/sysconfig/network/config" ] - -runcmd: - - [ sh, -xc, "chage -M 99999 root;rm -f /etc/shadow-" ] - - [ sh, -xc, "chage -M 99999 miepadm;rm -f /etc/shadow-" ] - - [ sh, -xc, "sed -i 's/^GRUB_TIMEOUT.*/GRUB_TIMEOUT=0/' /etc/default/grub" ] - - [ sh, -xc, "echo GRUB_FORCE_HIDDEN_MENU=true >> /etc/default/grub" ] - - [ sh, -xc, "/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg" ] - - [ sh, -xc, "sed -i 's/^.*:.*/admin:6041A28W2rLq6/' /opt/miep/tools/lighttpd/lighttpd_auth.properties" ] - - [ sh, -xc, "sed -i 's/^.*=.*/admin=709e17d2a62751a051fa2072f0976334/' /opt/miep/register/conf/auth.properties" ] - - [ sh, -xc, "sed -i 's/kernel\\.unknown_nmi_panic.*//' /etc/sysctl.conf" ] - - [ sh, -xc, "sed -i 's/kernel\\.panic_on_unrecovered_nmi.*//' /etc/sysctl.conf" ] - - [ sh, -xc, "echo \" kernel.unknown_nmi_panic=1\n kernel.panic_on_unrecovered_nmi=1\n\n\" >> /etc/sysctl.conf" ] - - [ sh, -xc, "sed -i 's/^\\(IRQBALANCE_ARGS=\\).*$/\\1\"--hintpolicy ignore\"/' /etc/sysconfig/irqbalance" ] - - [ sh, -xc, "sed -i 's/^ListenAddress.*/ListenAddress 107.112.138.70/' /etc/ssh/sshd_config" ] - - [ sh, -xc, "sed -i 's/^ClientAliveCountMax.*/ClientAliveCountMax '0'/g' /etc/ssh/sshd_config" ] - - [ sh, -xc, "sed -i 's/^PermitRootLogin.*/PermitRootLogin 'no'/g' /etc/ssh/sshd_config" ] - - [ sh, -xc, "sed -i 's/^#UseDNS.*/UseDNS 'no'/g' /etc/ssh/sshd_config" ] - - [ sh, -xc, "echo auth optional pam_faildelay.so delay=5000000 >> /etc/pam.d/sshd" ] - - [ sh, -xc, "echo trap2sink 127.0.0.1 >> /etc/snmp/snmpd.conf" ] - - [ sh, -xc, "sed -i 's/^agentaddress.*/agentaddress 107.112.138.70/' /etc/snmp/snmpd.conf" ] - - [ sh, -xc, "sed -i 's/^ IP=.*/ IP=\"107.112.138.70\"/' /opt/miep/snmp/tools/agentmonitor.sh" ] - - [ sh, -xc, "sed -i 's/^ SNMPCOMMUNITY=.*/ SNMPCOMMUNITY=\"SNOS-PE\"/' /opt/miep/snmp/tools/agentmonitor.sh" ] - - [ sh, -xc, "sed -i 's/^ IP=.*/ IP=\"107.112.138.70\"/' /opt/miep/snmp/tools/agentmonitor_sle12.sh" ] - - [ sh, -xc, "sed -i 's/^ SNMPCOMMUNITY=.*/ SNMPCOMMUNITY=\"SNOS-PE\"/' /opt/miep/snmp/tools/agentmonitor_sle12.sh" ] - - [ sh, -xc, "/sbin/yast2 dns edit nameserver1=155.165.194.100" ] - - [ sh, -xc, "/usr/sbin/wicked ifdown all; /usr/sbin/wicked ifup --timeout 60 eth0; /usr/sbin/wicked ifup --timeout 60 all" ] - - [ sh, -xc, "mkdir -p /opt/miep/tools" ] - - [ sh, -xc, "wget --directory-prefix=/opt/miep/tools http://107.112.138.71/miit/zrdm5bpxtc02/custom-files/zrdm5bpxtc02/AttMspCust.tgz" ] - - [ sh, -xc, "export TERM=vt220 ; yast keyboard set layout=english-us" ] - - [ sh, -xc, "sed -i 's/YPSAddress.*/YPSAddress\"\tvalue=\"https:\\/\\/yps.ericsson.net\\/YPServer\" \\/>/' /opt/miep/etc/license/SentinelCloudRuntime.properties" ] - - - [ sh, -xc, "umask 027 ; /opt/miep/tools/mnsetup/initmn.sh firstinstall 2>&1 | tee /opt/miep/tools/mnsetup/firstinstall.log" ] - - [ sh, -xc, "chown root:root /opt/miep/tools/AttMspCust.tgz" ] - - [ sh, -xc, "chmod 440 /opt/miep/tools/AttMspCust.tgz" ] - - [ sh, -xc, "mkdir -p /opt/miep/tools/AttMspCust" ] - - [ sh, -xc, "chown root:root /opt/miep/tools/AttMspCust" ] - - [ sh, -xc, "tar xfz /opt/miep/tools/AttMspCust.tgz -C /opt/miep/tools/AttMspCust" ] - - [ sh, -xc, "/opt/miep/tools/AttMspCust/CloudInit/cloudCron.sh 107.112.138.71" ] - - [ sh, -xc, "mkdir -p /opt/miep/etc/certs/manifest/ca/" ] - - [ sh, -xc, "chown -R miepadm:miepgrp /opt/miep/etc/certs/manifest/" ] - - [ sh, -xc, "mkdir -p /opt/miep/etc/certs/origin_server_ssl/server_cert" ] - - [ sh, -xc, "chown -R miepadm:miepgrp /opt/miep/etc/certs/origin_server_ssl/server_cert" ] - - [ sh, -xc, "sed -i 's/KexAlgorithms/#KexAlgorithms/g' /etc/ssh/sshd_config" ] - - [ sh, -xc, "wget --directory-prefix=/opt/miep/tools/AttMspCust/CloudInit/msacerts -e robots=off -r -l1 --no-parent -R '*html*' http://107.112.138.71/miit/zrdm5bpxtc02/custom-files/zrdm5bpxtc02/msacerts" ] - - [ sh, -xc, "mv /opt/miep/tools/AttMspCust/CloudInit/msacerts/107.112.138.71/miit/zrdm5bpxtc02/custom-files/zrdm5bpxtc02/msacerts/* /opt/miep/tools/AttMspCust/CloudInit/msacerts/" ] - - [ sh, -xc, "mv /opt/miep/tools/AttMspCust/CloudInit/msacerts/keystore* /opt/miep/tools/AttMspCust/CloudInit/msacerts/.keystore_`hostname`_gno" ] - - [ sh, -xc, "rm -rf /opt/miep/tools/AttMspCust/CloudInit/msacerts/107.112.138.71" ] - - [ sh, -xc, "sed -i 's/PASS_MAX_DAYS 60/PASS_MAX_DAYS 99999/' /etc/login.defs" ] - - [ sh, -xc, "sleep 61s" ] - - [ sh, -xc, "mkdir -p /usr/java/default/bin/ && ln -s /usr/bin/java /usr/java/default/bin/" ] - -timezone: 'PST8PDT' - -write_files: - - content: | - H4sIANk1vFkAA41Sy27bMBC88ysW8TViKaWNC92MAkV9KOIi+QFKWllE+RBIyo9+fZeW7DqxDHR10c4OZ3aXXEDnQgxwjrdOBWiVRmgw1F5VGECCHUyFHlx7YltpMIsuk03jMQS2gPdhZN8ruyUd5yF2CG/fNp/WGwhDFY4houEA6whkZEhNH28EhoANyAiVcxGiMvgI+w4tWAfJGwL6HXpqzCP4wVoy4zciLxaCkVrD6BkeqZXzbLW0UOHooyyVZZOGkzciD8mvebi2TU6vRxvloWQL+l9vstW4CIDvg9bZr0Fq1Spssh/TsgBeO+fjJadzLC+WXNCXT07a1VKn7V7ybcoYOYQeayU1Oe2eYVo6BlaW+exJ1e+esytwyl1fyfo3Yy0KUZbiimaRbNr2Cja1DLH32KpDKhTJ6lSgfVpHL2NCiwvq3RDpSib86YKfXhdLU2QzAS+rn2msz7A6jzXLo3WJJc/zgudPX/lSAPzxjflS9QdTi8IYK0TO97Lf7rlxFd1w3zmLnAabY85hmZPmHn5PeWS8b+2D+M7E/2xtZM5ht639w+8pjwzG/gJrL8X/3wMAAA== - path: /etc/hosts - owner: root:root - permissions: '0644' - encoding: 'gzip+base64' - - content: | - ################################################################################ - ## /etc/ntp.conf - ## - ## Sample NTP configuration file. - ## See package 'ntp-doc' for documentation, Mini-HOWTO and FAQ. - ## Copyright (c) 1998 S.u.S.E. GmbH Fuerth, Germany. - ## - ## Author: Michael Andres, <ma@suse.de> - ## Michael Skibbe, <mskibbe@suse.de> - ## - ################################################################################ - - ## - ## Radio and modem clocks by convention have addresses in the - ## form 127.127.t.u, where t is the clock type and u is a unit - ## number in the range 0-3. - ## - ## Most of these clocks require support in the form of a - ## serial port or special bus peripheral. The particular - ## device is normally specified by adding a soft link - ## /dev/device-u to the particular hardware device involved, - ## where u correspond to the unit number above. - ## - ## Generic DCF77 clock on serial port (Conrad DCF77) - ## Address: 127.127.8.u - ## Serial Port: /dev/refclock-u - ## - ## (create soft link /dev/refclock-0 to the particular ttyS?) - ## - # server 127.127.8.0 mode 5 prefer - server 135.144.38.211 prefer - server 155.165.201.253 prefer - - ## - ## Undisciplined Local Clock. This is a fake driver intended for backup - ## and when no outside source of synchronized time is available. - ## - server 127.127.1.0 # local clock (LCL) - fudge 127.127.1.0 stratum 10 # LCL is unsynchronized - - ## - ## Add external Servers using - ## # rcntp addserver <yourserver> - ## - - ## - ## Miscellaneous stuff - ## - - driftfile /var/lib/ntp/drift/ntp.drift # path for drift file - - logfile /var/log/ntp # alternate log file - # logconfig =syncstatus + sysevents - # logconfig =all - - # statsdir /tmp/ # directory for statistics files - # filegen peerstats file peerstats type day enable - # filegen loopstats file loopstats type day enable - # filegen clockstats file clockstats type day enable - - # - # Authentication stuff - # - keys /etc/ntp.keys # path for keys file - trustedkey 1 # define trusted keys - requestkey 1 # key (7) for accessing server variables - controlkey 1 - - # by default act only as a basic NTP client - restrict default kod nomodify notrap nopeer noquery - restrict -6 default kod nomodify notrap nopeer noquery - # - # allow NTP messages only from the loopback - restrict 127.0.0.1 - restrict ::1 - path: /etc/ntp.conf - owner: root:root - permissions: '0644' - - content: | - # default <OAM GW> - - - default 107.112.136.1 - - - path: /etc/sysconfig/network/routes - owner: root:root - permissions: '0644' - - content: | - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> - <trapDestCfg xmlns="http://www.ericsson.com/esa"> - <managerDefinition snmpVersion="v2c" active="yes"> - <ip>107.239.72.10</ip> - <port>162</port> - <securityName>v1v2ReadWriteSecName</securityName> - <securityLevel>noAuthNoPriv</securityLevel> - </managerDefinition> - <managerDefinition snmpVersion="v2c" active="yes"> - <ip>135.207.171.152</ip> - <port>162</port> - <securityName>v1v2ReadWriteSecName</securityName> - <securityLevel>noAuthNoPriv</securityLevel> - </managerDefinition> - </trapDestCfg> - path: /opt/miep/tools/AttMspCust/CloudInit/trapDestCfg.xml - owner: root:root - permissions: '0755' - - content: | - [ - { - "networkname": "OAM" - }, - { - "networkname": "Internal" - }, - { - "networkname": "Access" - }, - { - "networkname": "dmz_untrust" - }, - { - "networkname": "dmz_trust" - }, - { - "networkname": "dmz_trust1" - }, - { - "networkname": "dmz_untrust1" - }, - { - "networkname": "Internet" - }, - { - "networkname": "ControlPlaneSig" - }, - { - "networkname": "AccessIngress" - }, - { - "networkname": "InternetIngress" - } - ] - path: /opt/miep/init/networknames.json - owner: miepadm:miepgrp - permissions: '0644' - - content: | - BOOTPROTO='static' - IPADDR='107.112.138.70' - BROADCAST='107.112.143.255' - NETMASK='255.255.248.0' - NETWORK='107.112.136.0' - STARTMODE='onboot' - DEVICE='eth0' - USERCONTROL='no' - NAME='OAM' - DEFROUTE='yes' - CHECK_DUPLICATE_IP='yes' - SEND_GRATUITOUS_ARP='yes' - path: /etc/sysconfig/network/ifcfg-eth0 - owner: root:root - permissions: '0644' - - content: | - path: /etc/udev/rules.d/10-local.rules - encoding: b64 - owner: root:root - permissions: '0640' - - content: | - # - # VERSION: <Auto generated by 1.0.2.3> - # - # This file contains the variable definitions to pull RMS Input Files from the PCRF. - - # The PCRF_PRIMARY variable specifies the Primary IP the MSP should use to connect to the PCRF. - - PCRF_PRIMARY=107.122.136.120 - - # The PCRF_SECONDARY variable specifies the Secondary IP the MSP should use to connect to the PCRF. - - PCRF_SECONDARY=107.122.136.121 - - # The PCRF_USER variable specifies the user value to use when performing the secure ftp transfer. - - PCRF_USER=msp - - # The PCRF_PASS variable specifies the password value to use when performing the secure ftp transfer. - - PCRF_PASS=@TTmsp123 - - # The PCRF_DIR variable specifies the directory on the PCRF server where the RMS Input Files are located. - # This is the directory the secure ftp transfer will change to before pulling the RPM Input File. - - PCRF_DIR=/home/msp/downloads - - # The PCRF_PROMPT variable specifies the sftp prompt string that MSP can expect the PCRF server to - # display as a prompt when remotely connecting to the PCRF server using sftp. - - PCRF_PROMPT=sftp> - MSA_GROUP_NAME= - path: /appl/rms/cfg/pcrf.cfg - owner: root:root - permissions: '0755' - - content: | - # - # reserved values - # - 255 local - 254 main - 253 default - 0 unspec - # - # local - # - #1 inr.ruhep - path: /etc/iproute2/rt_tables - owner: root:root - permissions: '0644' - - content: | - ### /etc/resolv.conf file autogenerated by netconfig! - # - # Before you change this file manually, consider to define the - # static DNS configuration using the following variables in the - # /etc/sysconfig/network/config file: - # NETCONFIG_DNS_STATIC_SEARCHLIST - # NETCONFIG_DNS_STATIC_SERVERS - # NETCONFIG_DNS_FORWARDER - # or disable DNS configuration updates via netconfig by setting: - # NETCONFIG_DNS_POLICY='' - # - # See also the netconfig(8) manual page and other documentation. - # - # Note: Manual change of this file disables netconfig too, but - # may get lost when this file contains comments or empty lines - # only, the netconfig settings are same with settings in this - # file and in case of a "netconfig update -f" call. - # - ### Please remove (at least) this line when you modify the file! - nameserver 155.165.194.100 - nameserver 155.165.201.100 - search wapgw.mobilephone.net - options attempts:1 - options timeout:6 - path: /etc/resolv.conf - owner: root:root - permissions: '0644' - - content: | - MN_OAM_IPADDR=107.112.138.70 - SNMP_IPADDR=107.239.72.10 - SNMP_PORT=162 - MN_SERVER_GROUPNAME=rdm5b - STORAGE_TYPE=CINDER - SUPPORT_LANG_LIST={"en":"English"} - AUTOSTART=Y - AUTODBPATCH=Y - PRODUCT=MSP - MN_TO_OTHER_NODE_NETWORK=OAM - path: /opt/miep/tools/mnsetup/init.properties - owner: root:root - permissions: '0640' - - content: | - CAE_PASSWORD=wapwap12 - MSA_PASSWORD=wapwap12 - CAPLOG_PASSWORD=wapwap12 - TRACELOG_PASSWORD=wapwap12 - path: /opt/miep/tools/mnsetup/init.properties.sec - owner: root:root - permissions: '0640' - - content: | - 107.112.138.59 zrdm5bpxtc02adm001 zrdm5bpxtc02adm001-oam - path: /var/tmp/adm_hosts - owner: root:root - permissions: '0644' - - content: WwogewogICJwYXJlbnQiIDogInJkbTViIiwKICAiZ3JvdXBzIiA6IFsKICAgewogICAgImdyb3VwbmFtZSIgOiAienJkbTVicHh0YzAyIiwKICAgICJkaXNwbGF5bmFtZSIgOiAienJkbTVicHh0YzAyIiwKICAgICJkZXNjcmlwdGlvbiIgOiAienJkbTVicHh0YzAyIgogICB9CiAgXQogfSwKIHsKICAicGFyZW50IiA6ICJ6cmRtNWJweHRjMDIiLAogICJncm91cHMiIDogWwogICB7CiAgICAiZ3JvdXBuYW1lIiA6ICJ6cmRtNWJweHRjMDItVFMiLAogICAgImRpc3BsYXluYW1lIiA6ICJ6cmRtNWJweHRjMDItVFMiLAogICAgImRlc2NyaXB0aW9uIiA6ICJ6cmRtNWJweHRjMDItVFMiCiAgIH0KICBdCiB9Cl0K - path: /opt/miep/msaapp/apps/clusteradmin/clusters.json - encoding: b64 - owner: msausr:msagrp - permissions: '0640' - - content: | - . /opt/miep/tools/AttMspCust/CloudInit/helpers.sh - cd /opt/miep/tools/msa - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set apsLicenseCustomerId '946935' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set apsLicenseUserId 'AT&T_Customer_Test_Lab2_vMSP_Nimbus' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set prsPrefixLookupTable '2606:ae00:af00::/41=64' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set prsDiamRealm 'zrdm5bpxtc02.msp.sd' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set htsHttpClientIpRangesBlacklist '172.26.14.0/25,172.26.17.0/24,107.103.114.0/25,107.103.113.0/25,107.103.112.160/29,107.103.121.0/24,107.103.122.0/24,fd00:2600:2600:100::/64,2606:ae00:b800:3441::/64,2606:ae00:b800:3442::/64' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set attLdapPool_host '172.21.196.7' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set attLdapPool_user 'cn=virNimbusV2L,ou=Users,ou=Administration,o=Cingular' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set attLdapPool_pwd 'MSPLab' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set attLdapPool_secondhost '155.165.172.23' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set attLdapPool_seconduser 'cn=virNimbusV2L,ou=Users,ou=Administration,o=Cingular' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set attLdapPool_secondpwd 'MSPLab' - ./msaconfigctrl.sh -g zrdm5bpxtc02 -m cast set idfMspIpAddr '' - ./msaconfigctrl.sh -g zrdm5bpxtc02-TS -m cast set prsDiamMessageTimeout 16000 - ./msaconfigctrl.sh -g zrdm5bpxtc02-TS -m cast set prsDiamSlowPeerAlarmLimit 16000 - ./msaconfigctrl.sh -g zrdm5bpxtc02-TS -m cast set prsDiameterServerListenerAddressList '0.0.0.0:3868' - ./msaconfigctrl.sh -g zrdm5bpxtc02-TS -m cast set ltmi.keyServerUpdateHostList 'zrdm5bpxtc02mts001,zrdm5bpxtc02mts002' - ./msaconfigctrl.sh -g zrdm5bpxtc02-TS -m cast set omsNsIntrusionDetection 1 - ./msaconfigctrl.sh -g zrdm5bpxtc02-TS -m cast set telGroup1FTPTargetServerName zrdm5bpxtc02adm001.wapgw.mobilephone.net - $SU -s $BASH - postgres -c "psql -d msa -c \"set search_path = msa,msp; update msp.virtualgateway set externalnodeip='172.26.39.6' where servergrpid= '0' and vgindex= 'VG011'\"" - $SU -s $BASH - postgres -c "psql -d msa -c \"set search_path = msa,msp; update msp.virtualgateway set servingdestaddrranges='172.26.39.6/32' where servergrpid= '0' and vgindex= 'VG011'\"" - $SU -s $BASH - postgres -c "psql -d msa -c \"set search_path = msa,msp; update msp.virtualgateway set externalnodeip='fc00:a:a::700' where servergrpid= '0' and vgindex= 'VG013'\"" - $SU -s $BASH - postgres -c "psql -d msa -c \"set search_path = msa,msp; update msp.virtualgateway set servingdestaddrranges='fc00:a:a::700/128' where servergrpid= '0' and vgindex= 'VG013'\"" - path: /opt/miep/tools/AttMspCust/CloudInit/install_msa_zone.sh - owner: root:root - permissions: '0755' - - content: | - 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 - path: /opt/miep/etc/license/Cloud_Entitlement.combine - owner: msausr:msagrp - permissions: '0755' - encoding: 'gzip+base64' - - content: | - *.* @135.207.171.57:1538 - *.* @155.165.162.48:1532 - path: /etc/rsyslog.d/remote.conf - owner: root:root - permissions: '0600' - -scripts_per_once: - -power_state: - mode: reboot - message: Server will reboot now - timeout: 5 diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/user_data_zrdm5bpxmc02vmt001.txt b/asdc-controller/src/test/resources/resource-examples/multipleModules/user_data_zrdm5bpxmc02vmt001.txt deleted file mode 100644 index 4c8f7c06ea..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/user_data_zrdm5bpxmc02vmt001.txt +++ /dev/null @@ -1,289 +0,0 @@ -#cloud-config -# \hbrief cloud-init main template for MSP config -# \hversion 0.0.11 -# \hdate 2016-05-09 -# \brief cloud-init template for MSP config -# \version 0.2.57 -# \date 2016-09-19 -# Configuration created for MSP SLES_12 VMT - -chpasswd: - list: | - root:Ericsson - miepadm:miep1234 - - expire: False - -users: - -bootcmd: - - - [ sh, -xc, "echo \"#################################################################\" > /etc/issue.ci" ] - - [ sh, -xc, "echo \"# #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"# * * * Cloud-init configuration is in progress * * * #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"# #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"# The system will reboot shortly and then be accessible #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"# #\" >> /etc/issue.ci" ] - - [ sh, -xc, "echo \"#################################################################\" >> /etc/issue.ci" ] - - [ sh, -xc, "if [ -f /etc/issue.orig ]; then cp /etc/issue.orig /etc/issue; fi" ] - - [ sh, -xc, "if [ ! -f /etc/issue.orig ]; then cp /etc/issue /etc/issue.orig; cp /etc/issue.ci /etc/issue; fi" ] - - [ sh, -xc, "/bin/sed -i 's/^DHCLIENT_SET_DEFAULT_ROUTE=\"yes\".*/DHCLIENT_SET_DEFAULT_ROUTE=\"no\"/' /etc/sysconfig/network/dhcp" ] - - [ sh, -xc, "/bin/sed -i 's/^NETCONFIG_DNS_POLICY=.*/NETCONFIG_DNS_POLICY=\"STATIC\"/' /etc/sysconfig/network/config" ] - -runcmd: - - [ sh, -xc, "chage -M 99999 root;rm -f /etc/shadow-" ] - - [ sh, -xc, "chage -M 99999 miepadm;rm -f /etc/shadow-" ] - - [ sh, -xc, "sed -i 's/^ListenAddress.*/ListenAddress 107.112.138.71/' /etc/ssh/sshd_config" ] - - [ sh, -xc, "sed -i 's/^ClientAliveCountMax.*/ClientAliveCountMax 300/g' /etc/ssh/sshd_config" ] - - [ sh, -xc, "sed -i 's/^ClientAliveInterval.*/ClientAliveInterval 10/g' /etc/ssh/sshd_config" ] - - [ sh, -xc, "sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config" ] - - [ sh, -xc, "echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config" ] - - [ sh, -xc, "sed -i '/KexAlgorithms/s/^/# /' /etc/ssh/sshd_config" ] - - [ sh, -xc, "mkdir /opt/miep/tools/miit/www/sles" ] - - [ sh, -xc, "rm -f /etc/sysconfig/network/ifcfg-eth1" ] - - [ sh, -xc, "mkdir /shared_nfs_datastore" ] - - [ sh, -xc, "mount -t ext4 /dev/vdb /shared_nfs_datastore" ] - - [ sh, -xc, "mkdir -p /shared_nfs_datastore/miit" ] - - [ sh, -xc, "cp -pr /opt/miep/tools/miit/* /shared_nfs_datastore/miit" ] - - [ sh, -xc, "rm -rf /opt/miep/tools/miit" ] - - [ sh, -xc, "rm -f /etc/udev/rules.d/70-persistent-net.rules" ] - - [ sh, -xc, "ln -s /shared_nfs_datastore/miit /opt/miep/tools/miit" ] - - [ sh, -xc, "chown -R miepadm:miepgrp /shared_nfs_datastore/miit" ] - - [ sh, -xc, "chown -R miepadm:miepgrp /opt/miep/tools/miit" ] - - [ sh, -xc, "mkdir -p /opt/miep/tools/miit/www/sles" ] - - [ sh, -xc, "mount -o loop /shared_nfs_datastore/SLE-12-SP1-Server-DVD-x86_64-GM-DVD1.iso /opt/miep/tools/miit/www/sles" ] - - [ sh, -xc, "/usr/bin/zypper ar /opt/miep/tools/miit/www/sles nfsrpms" ] - - [ sh, -xc, "/usr/bin/zypper lr" ] - - [ sh, -xc, "/usr/bin/zypper --non-interactive install -y nfs-kernel-server" ] - - [ sh, -xc, "/usr/bin/zypper --non-interactive install -y expect" ] - - [ sh, -xc, "/usr/bin/zypper --non-interactive install -y dos2unix" ] - - [ sh, -xc, "echo '//shared_nfs_datastore 107.112.136.0/21(rw,no_root_squash,sync,subtree_check)' >> /etc/exports" ] - - [ sh, -xc, "echo '/dev/vdb /shared_nfs_datastore ext4 acl 1 1' >> /etc/fstab" ] - - [ sh, -xc, "echo '@reboot /var/tmp/hostnamefix.sh > /var/tmp/hostnamefix.log' | /usr/bin/crontab -u root -" ] - - [ sh, -xc, "systemctl enable nfsserver.service" ] - - [ sh, -xc, "systemctl enable rpcbind.service" ] - - [ sh, -xc, "systemctl enable apache2.service" ] - - [ sh, -xc, "chkconfig mount_sles on" ] - - [ sh, -xc, "resize2fs /dev/vdb 200G" ] - - [ sh, -xc, "sed -i 's/PASS_MAX_DAYS 60/PASS_MAX_DAYS 99999/' /etc/login.defs" ] - - [ sh, -xc, "sleep 61s" ] - - [ sh, -xc, "su - miepadm -c \"ssh-keygen -t rsa -q -N '' -f ~/.ssh/id_rsa\"" ] - -timezone: 'PST8PDT' - -write_files: - - content: | - H4sIANk1vFkAA41Sy27bMBC88ysW8TViKaWNC92MAkV9KOIi+QFKWllE+RBIyo9+fZeW7DqxDHR10c4OZ3aXXEDnQgxwjrdOBWiVRmgw1F5VGECCHUyFHlx7YltpMIsuk03jMQS2gPdhZN8ruyUd5yF2CG/fNp/WGwhDFY4houEA6whkZEhNH28EhoANyAiVcxGiMvgI+w4tWAfJGwL6HXpqzCP4wVoy4zciLxaCkVrD6BkeqZXzbLW0UOHooyyVZZOGkzciD8mvebi2TU6vRxvloWQL+l9vstW4CIDvg9bZr0Fq1Spssh/TsgBeO+fjJadzLC+WXNCXT07a1VKn7V7ybcoYOYQeayU1Oe2eYVo6BlaW+exJ1e+esytwyl1fyfo3Yy0KUZbiimaRbNr2Cja1DLH32KpDKhTJ6lSgfVpHL2NCiwvq3RDpSib86YKfXhdLU2QzAS+rn2msz7A6jzXLo3WJJc/zgudPX/lSAPzxjflS9QdTi8IYK0TO97Lf7rlxFd1w3zmLnAabY85hmZPmHn5PeWS8b+2D+M7E/2xtZM5ht639w+8pjwzG/gJrL8X/3wMAAA== - path: /etc/hosts - owner: root:root - permissions: '0644' - encoding: 'gzip+base64' - - content: | - ################################################################################ - ## /etc/ntp.conf - ## - ## Sample NTP configuration file. - ## See package 'ntp-doc' for documentation, Mini-HOWTO and FAQ. - ## Copyright (c) 1998 S.u.S.E. GmbH Fuerth, Germany. - ## - ## Author: Michael Andres, <ma@suse.de> - ## Michael Skibbe, <mskibbe@suse.de> - ## - ################################################################################ - - ## - ## Radio and modem clocks by convention have addresses in the - ## form 127.127.t.u, where t is the clock type and u is a unit - ## number in the range 0-3. - ## - ## Most of these clocks require support in the form of a - ## serial port or special bus peripheral. The particular - ## device is normally specified by adding a soft link - ## /dev/device-u to the particular hardware device involved, - ## where u correspond to the unit number above. - ## - ## Generic DCF77 clock on serial port (Conrad DCF77) - ## Address: 127.127.8.u - ## Serial Port: /dev/refclock-u - ## - ## (create soft link /dev/refclock-0 to the particular ttyS?) - ## - # server 127.127.8.0 mode 5 prefer - server 135.144.38.211 prefer - server 155.165.201.253 prefer - - ## - ## Undisciplined Local Clock. This is a fake driver intended for backup - ## and when no outside source of synchronized time is available. - ## - server 127.127.1.0 # local clock (LCL) - fudge 127.127.1.0 stratum 10 # LCL is unsynchronized - - ## - ## Add external Servers using - ## # rcntp addserver <yourserver> - ## - - ## - ## Miscellaneous stuff - ## - - driftfile /var/lib/ntp/drift/ntp.drift # path for drift file - - logfile /var/log/ntp # alternate log file - # logconfig =syncstatus + sysevents - # logconfig =all - - # statsdir /tmp/ # directory for statistics files - # filegen peerstats file peerstats type day enable - # filegen loopstats file loopstats type day enable - # filegen clockstats file clockstats type day enable - - # - # Authentication stuff - # - keys /etc/ntp.keys # path for keys file - trustedkey 1 # define trusted keys - requestkey 1 # key (7) for accessing server variables - controlkey 1 - - # by default act only as a basic NTP client - restrict default kod nomodify notrap nopeer noquery - restrict -6 default kod nomodify notrap nopeer noquery - # - # allow NTP messages only from the loopback - restrict 127.0.0.1 - restrict ::1 - path: /etc/ntp.conf - owner: root:root - permissions: '0640' - - content: | - default 107.112.136.1 - - - path: /etc/sysconfig/network/routes - owner: root:root - permissions: '0644' - - content: | - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> - <trapDestCfg xmlns="http://www.ericsson.com/esa"> - <managerDefinition snmpVersion="v2c" active="yes"> - <ip>107.239.72.10</ip> - <port>162</port> - <securityName>v1v2ReadWriteSecName</securityName> - <securityLevel>noAuthNoPriv</securityLevel> - </managerDefinition> - <managerDefinition snmpVersion="v2c" active="yes"> - <ip>135.207.171.152</ip> - <port>162</port> - <securityName>v1v2ReadWriteSecName</securityName> - <securityLevel>noAuthNoPriv</securityLevel> - </managerDefinition> - </trapDestCfg> - path: /opt/miep/tools/AttMspCust/CloudInit/trapDestCfg.xml - owner: root:root - permissions: '0755' - - content: | - BOOTPROTO='static' - IPADDR='107.112.138.71' - BROADCAST='107.112.143.255' - NETMASK='255.255.248.0' - NETWORK='107.112.136.0' - STARTMODE='onboot' - DEVICE='eth0' - USERCONTROL='no' - NAME='OAM' - DEFROUTE='yes' - CHECK_DUPLICATE_IP='yes' - SEND_GRATUITOUS_ARP='yes' - path: /etc/sysconfig/network/ifcfg-eth0 - owner: root:root - permissions: '0644' - - content: | - path: /etc/udev/rules.d/10-local.rules - encoding: b64 - owner: root:root - permissions: '0640' - - content: | - #!/bin/bash - ### BEGIN INIT INFO - # Provides: mount_sles - # Required-Start: network - # Required-Stop: network - # Should-Start: - # Should-Stop: - # Default-Start: 3 5 - # Default-Stop: 0 1 2 6 - # Short-Description: Mount SLES iso file - ### END INIT INFO - echo Mount SLES ISO image - mount -o loop /shared_nfs_datastore/SLE-12-SP1-Server-DVD-x86_64-GM-DVD1.iso /opt/miep/tools/miit/www/sles - path: /etc/init.d/mount_sles - owner: root:root - permissions: '0755' - - content: | - grep -qs preserve_hostname /etc/cloud/cloud.cfg - if [ $? -eq 0 ] ; then - sed -i 's/preserve_hostname: .*/preserve_hostname: true/' /etc/cloud/cloud.cfg - fi - - /bin/hostname | grep -qs novalocal - if [ $? -eq 0 ] ; then - newHostname=$(/bin/hostname | sed -e 's/.novalocal//') - hostnamectl set-hostname $newHostname - fi - /usr/bin/crontab -u root -l | grep -v hostnamefix.sh | /usr/bin/crontab -u root - - path: /var/tmp/hostnamefix.sh - owner: root:root - permissions: '0755' - - content: | - ### /etc/resolv.conf file autogenerated by netconfig! - # - # Before you change this file manually, consider to define the - # static DNS configuration using the following variables in the - # /etc/sysconfig/network/config file: - # NETCONFIG_DNS_STATIC_SEARCHLIST - # NETCONFIG_DNS_STATIC_SERVERS - # NETCONFIG_DNS_FORWARDER - # or disable DNS configuration updates via netconfig by setting: - # NETCONFIG_DNS_POLICY='' - # - # See also the netconfig(8) manual page and other documentation. - # - # Note: Manual change of this file disables netconfig too, but - # may get lost when this file contains comments or empty lines - # only, the netconfig settings are same with settings in this - # file and in case of a "netconfig update -f" call. - # - ### Please remove (at least) this line when you modify the file! - nameserver 155.165.194.100 - nameserver 155.165.201.100 - search wapgw.mobilephone.net - options attempts:1 - options timeout:6 - path: /etc/resolv.conf - owner: root:root - permissions: '0644' - - content: | - *.* @135.207.171.57:1538 - *.* @155.165.162.48:1532 - path: /etc/rsyslog.d/remote.conf - owner: root:root - permissions: '0600' - - content: | - H4sIANjbQlkAA5WUUW/aMBSF3/0rjqKgtEyUlodNYmonSulaCQqCqnsYE0kTByyCHcWGjAH/fU5CWqJB1PEC5J6c+/n42qTb/37/2O1cG1I5aindGXXnE9tzFIX1qbKoeJV1rfJQ6VVGln0RiKlBCHVnwmMyDJz12TnZpP9R0/qxsswr0xpzC8ieGqmT3YR5ZeDmBuZm329HdoRkLdtJyzejvTGMavJJa4xP4YsIK+8VujxPK5ojZX25u722PR+12XYa0TARbZ14DmsTRowrmJ93VlaRMyei3oT7cqKhHKlERG1CmI+fML+hxiku8QtfoWaUEwAFnLw54AkquaVAfzOppEFoIGki14qJZH9oOU5jZ9mnzTNPONxLKOAEgXB1gB4SYwj/LQMwCTPvaID4jByJr+oe5vd0P4LPAirXUtFFdR9jKtGlAnYgRHh5IkfjWJDj+oIxNa7HcTyuS93DsHE62gJpEetUvGWv5NITIVTDSLhUSozSeSsu3JeSRivm6m3b/wDPntEI2YDul91yFVvRJpz0G2e6q96Z848vtDMc9ofNA3u9h56I+fE1FmTLMFtdyjwctG8fn+7egaPQfWV6ZEpxoyXnehI0b8nMH+PN3UtpD0QF1tag1X7oNN5ZndDRhcbHWf8PNrcvhT0Q5bBlZ+el9wy9D5IJns9OQQ8jUYx+5KLE19bHFnURKn0uaFjvjQZfLq4mz/1+d1TFFtmFFO9f2OKfK8IgO5DCDUnIX5FnXVGsBQAA - path: /opt/miep/tools/miit/vmtTools/statusCheck.sh - owner: miepadm:miepgrp - permissions: '0755' - encoding: 'gzip+base64' - - content: | - H4sIAKm9hFkAA9VWbW/aMBD+3PyKUxSUrVPiUama1CmdEOsLEqxodPvSVmAlBqwmcRQfUKj632c7EKCMDrVVtX6AxM69PM/d2XfNi7N27fI8sInIkCScZQSFiKV65UjGCV7qlW31eczaFIdKcExzgklGHMmRpTRhtpUzOYoxsFNxkuciV/JMUp5KpHFMkYs0sPs0lkrSAt6HK/BmYDtVG27gK+CQpRYAsHAowNZGOwxHGfySdMCOfFLu+HIIVwunN3BVQ2x12uFIYkbDWyV8Y4MxdMcRqhYw5VGvFyqBU11ddodCogxKGm6x4RobzYuz00bzJLDLz57UGLxeRJGB+6mSVKLK1KucV1qVjtvzYzEovJ90aqXy79alp9ZPKlnQ52thOXijsFAjV1/KBc4BFGgsS3uNuMxiOv3w0bo3a/AUh2t0narjXqcuQLFrG3a9I9AJPT4G575ZFNUDMa86FA/Ww6pJVR3brO5gcxlhbdaaibQIhDEJyW3Ec/Ay+GtFTyaTZeESHSSReLq45XL7+ZokkTRkOUpLBTJUEDbOCnE2wv4CdzrVMtO2fBzM5kXkfAMvZfB5pYpWQq8KbBNBJJhMXdQlok5AUZIQRi9ApvgjzeFu3J+9Gj/wSVud0EbK8flUuYRUIFAY05hHBqT2qjgvLjGmr7B5DKxtadz3dZ5fpVJ2YQJ2q1MD49IY2szYOnqYp3ALdp4iy0Na/W/xPw0/FwJD+i7B37KpQpSz/XeJ3lnvnc/nsCv0xw53KnuFfigmKXg/QWOjUXKkn4N8l56glRMRaeUvh4c7KRgqtlNAsSGABZott1JHaULRzEORZDFDFsGE4xDYfHoyPXpPPR5PUZiP9FX1b3NyFIZMyv4ojqdFWED3SmWwsWLQdEyrZPDInaFiPK4NJOr3otawuMOJMqQcl/1aDUvd+sWP08YZHByTiI1JqtAXfmFvOQrNCfB0oGctEKnWBMWbSgYTytH3i4En3Mz3sqGQeixGkcGBOc2+M4n1/sC/S+LXoLbkolkWrVB1QjVPd8OyW4NqaPN4d/UXFX49yz0x7kAZhR5SHoNX3Sra07I668XfW54I1TXX5rLHVWf9AdB7+rd1DAAA - path: /opt/miep/tools/miit/vmtTools/siteSetup.sh - owner: miepadm:miepgrp - permissions: '0755' - encoding: 'gzip+base64' - -scripts_per_once: - -power_state: - mode: reboot - message: Server will reboot now - timeout: 5 diff --git a/asdc-controller/src/test/resources/resource-examples/multipleModules/vfzrdm5bpxmc02092017vf0_modules.json b/asdc-controller/src/test/resources/resource-examples/multipleModules/vfzrdm5bpxmc02092017vf0_modules.json deleted file mode 100644 index c8a8508190..0000000000 --- a/asdc-controller/src/test/resources/resource-examples/multipleModules/vfzrdm5bpxmc02092017vf0_modules.json +++ /dev/null @@ -1,75 +0,0 @@ -[ - { - "vfModuleModelName": "VfZrdm5bpxmc02092017Vf..pxmc_base..module-0", - "vfModuleModelInvariantUUID": "f7a867f2-596b-4f4a-a128-421e825a6190", - "vfModuleModelVersion": "1", - "vfModuleModelUUID": "eb5de6fb-9ecf-4009-b922-fae3a9ae7d46", - "vfModuleModelCustomizationUUID": "074c64d0-7e13-4bcc-8bdb-ea922331102d", - "isBase": true, - "artifacts": [ - "7e7f7356-11bd-4f2f-bbbc-5c10954e3189", - "6dd99c31-c52e-4c45-b99b-d223c877a296" - ], - "properties": { - "min_vf_module_instances": "1", - "vf_module_label": "pxmc_base", - "max_vf_module_instances": "1", - "vfc_list": "", - "vf_module_description": "", - "vf_module_type": "Base", - "availability_zone_count": "", - "volume_group": "false", - "initial_count": "1" - } - }, - { - "vfModuleModelName": "VfZrdm5bpxmc02092017Vf..pxmc_vmt..module-1", - "vfModuleModelInvariantUUID": "1e099992-6222-41a9-acde-5a8abb690775", - "vfModuleModelVersion": "1", - "vfModuleModelUUID": "4d4423e2-17e8-455a-b9ae-7e4ab71b9cdc", - "vfModuleModelCustomizationUUID": "5336a98e-0966-4e59-b6e6-c8162804a024", - "isBase": false, - "artifacts": [ - "ad12ab80-5419-4346-a5d7-dac2fc15575f", - "53acdabe-689f-45e5-8578-f1514d3529da", - "bc1640f1-69f0-4760-8fc3-3318ec2ff129" - ], - "properties": { - "min_vf_module_instances": "0", - "vf_module_label": "pxmc_vmt", - "max_vf_module_instances": "", - "vfc_list": "", - "vf_module_description": "", - "vf_module_type": "Expansion", - "availability_zone_count": "", - "volume_group": "false", - "initial_count": "0" - } - }, - { - "vfModuleModelName": "VfZrdm5bpxmc02092017Vf..pxmc_mmn..module-2", - "vfModuleModelInvariantUUID": "8e53c069-b2f0-437a-9c00-21cbc5c8f081", - "vfModuleModelVersion": "1", - "vfModuleModelUUID": "a8cb1182-9b6d-46f8-b06b-ded4fe69e10d", - "vfModuleModelCustomizationUUID": "e38906fa-717c-49b0-b391-e6ec12b50c4a", - "isBase": false, - "artifacts": [ - "2f372a02-df1b-46ca-b81e-822e3f406965", - "5bc62c72-5f7a-40bc-a167-1a4fed9afdef", - "b8bca13b-811f-44ab-9d27-45b842c664d8", - "c1ae6284-48d9-4437-a195-b2cf2ba23070", - "e88ce0b9-1496-4d03-ab1d-6d8d79bfc737" - ], - "properties": { - "min_vf_module_instances": "0", - "vf_module_label": "pxmc_mmn", - "max_vf_module_instances": "", - "vfc_list": "", - "vf_module_description": "", - "vf_module_type": "Expansion", - "availability_zone_count": "", - "volume_group": "true", - "initial_count": "0" - } - } -]
\ No newline at end of file |