summaryrefslogtreecommitdiffstats
path: root/catalog-be/src
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java8
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java8
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java78
-rw-r--r--catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.json21
-rw-r--r--catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.yml36
-rw-r--r--catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.zipbin0 -> 611 bytes
-rw-r--r--catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.json15
-rw-r--r--catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.yml41
-rw-r--r--catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.zipbin0 -> 554 bytes
-rw-r--r--catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml2
-rw-r--r--catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zipbin562 -> 567 bytes
-rw-r--r--catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py3
-rw-r--r--catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py3
-rw-r--r--catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json49
-rw-r--r--catalog-be/src/test/resources/config/elasticsearch.yml.bak387
-rw-r--r--catalog-be/src/test/resources/config/mysql-type-empty-nodes.zipbin1894 -> 0 bytes
-rw-r--r--catalog-be/src/test/resources/config/mysql-type-no-nodes.zipbin448 -> 0 bytes
-rw-r--r--catalog-be/src/test/resources/config/mysql-type-no-version.zipbin1142 -> 0 bytes
-rw-r--r--catalog-be/src/test/resources/config/mysql-type-only-yaml.zipbin1129 -> 0 bytes
-rw-r--r--catalog-be/src/test/resources/config/mysql-type-with-scripts.zipbin66267 -> 0 bytes
-rw-r--r--catalog-be/src/test/resources/config/mysql-type.yml82
-rw-r--r--catalog-be/src/test/resources/config/mysql-type.zipbin1129 -> 0 bytes
-rw-r--r--catalog-be/src/test/resources/config/sample.yaml17
-rw-r--r--catalog-be/src/test/resources/config/sampleNoProtocol.yaml17
24 files changed, 227 insertions, 540 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java
index 4fd4610ef9..5b8a10a03e 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/AttributeBusinessLogic.java
@@ -83,7 +83,7 @@ public class AttributeBusinessLogic extends BaseBusinessLogic {
// Get the resource from DB
Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId);
if (status.isRight()) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, ""));
+ return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId));
}
Resource resource = status.left().value();
@@ -151,7 +151,7 @@ public class AttributeBusinessLogic extends BaseBusinessLogic {
// Get the resource from DB
Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId);
if (status.isRight()) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, ""));
+ return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId));
}
Resource resource = status.left().value();
@@ -195,7 +195,7 @@ public class AttributeBusinessLogic extends BaseBusinessLogic {
// Get the resource from DB
Either<Resource, StorageOperationStatus> eitherResource = toscaOperationFacade.getToscaElement(resourceId);
if (eitherResource.isRight()) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, ""));
+ return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId));
}
Resource resource = eitherResource.left().value();
@@ -273,7 +273,7 @@ public class AttributeBusinessLogic extends BaseBusinessLogic {
// Get the resource from DB
Either<Resource, StorageOperationStatus> eitherResource = toscaOperationFacade.getToscaElement(resourceId);
if (eitherResource.isRight()) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, ""));
+ return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId));
}
Resource resource = eitherResource.left().value();
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java
index 833e6c0b9e..e16b34f389 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PropertyBusinessLogic.java
@@ -121,7 +121,7 @@ public class PropertyBusinessLogic extends BaseBusinessLogic {
// Get the resource from DB
Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId);
if (status.isRight()) {
- result = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, ""));
+ result = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId));
return result;
}
Resource resource = status.left().value();
@@ -219,7 +219,7 @@ public class PropertyBusinessLogic extends BaseBusinessLogic {
// Get the resource from DB
Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId);
if (status.isRight()) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, ""));
+ return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId));
}
Resource resource = status.left().value();
@@ -271,7 +271,7 @@ public class PropertyBusinessLogic extends BaseBusinessLogic {
// Get the resource from DB
Either<Resource, StorageOperationStatus> getResourceRes = toscaOperationFacade.getToscaElement(resourceId);
if (getResourceRes.isRight()) {
- result = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, ""));
+ result = Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId));
return result;
}
Resource resource = getResourceRes.left().value();
@@ -321,7 +321,7 @@ public class PropertyBusinessLogic extends BaseBusinessLogic {
Either<Resource, StorageOperationStatus> status = toscaOperationFacade.getToscaElement(resourceId);
if (status.isRight()) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, ""));
+ return Either.right(componentsUtils.getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceId));
}
Resource resource = status.left().value();
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java
index ba26576648..0ae546479a 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java
@@ -1869,27 +1869,25 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
log.debug("************* Going to create all nodes {}", yamlName);
Either<Map<String, Resource>, ResponseFormat> createdResourcesFromdNodeTypeMap = this.handleNodeTypes(yamlName, resource, topologyTemplateYaml, false, nodeTypesArtifactsToCreate, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeName);
- log.debug("************* Finished to create all nodes {}", yamlName);
if (createdResourcesFromdNodeTypeMap.isRight()) {
log.debug("failed to resources from node types status is {}", createdResourcesFromdNodeTypeMap.right().value());
return Either.right(createdResourcesFromdNodeTypeMap.right().value());
}
+ log.debug("************* Finished to create all nodes {}", yamlName);
log.debug("************* Going to create all resource instances {}", yamlName);
createResourcesInstancesEither = createResourceInstances(csarInfo.getModifier(), yamlName, resource, uploadComponentInstanceInfoMap, true, false, csarInfo.getCreatedNodes());
- log.debug("************* Finished to create all resource instances {}", yamlName);
if (createResourcesInstancesEither.isRight()) {
log.debug("failed to create resource instances status is {}", createResourcesInstancesEither.right().value());
result = createResourcesInstancesEither;
return createResourcesInstancesEither;
}
+ log.debug("************* Finished to create all resource instances for {}", yamlName);
resource = createResourcesInstancesEither.left().value();
log.debug("************* Going to create all relations {}", yamlName);
createResourcesInstancesEither = createResourceInstancesRelations(csarInfo.getModifier(), yamlName, resource, uploadComponentInstanceInfoMap);
- log.debug("************* Finished to create all relations {}", yamlName);
-
if (createResourcesInstancesEither.isRight()) {
log.debug("failed to create relation between resource instances status is {}", createResourcesInstancesEither.right().value());
result = createResourcesInstancesEither;
@@ -1897,6 +1895,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
} else {
resource = createResourcesInstancesEither.left().value();
}
+ log.debug("************* Finished to create all relations {}", yamlName);
log.debug("************* Going to create positions {}", yamlName);
Either<List<ComponentInstance>, ResponseFormat> eitherSetPosition = compositionBusinessLogic.setPositionsForComponentInstances(resource, csarInfo.getModifier().getUserId());
@@ -4265,7 +4264,6 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
return Either.left(validRegDef);
}
- @SuppressWarnings("unchecked")
public Either<ParsedToscaYamlInfo, ResponseFormat> parseResourceInfoFromYaml(String yamlFileName, Resource resource, String resourceYml, Map<String, String> createdNodesToscaResourceNames, Map<String, NodeTypeInfo> nodeTypesInfo, String nodeName) {
Map<String, Object> mappedToscaTemplate;
@@ -4319,7 +4317,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
Map<String, Resource> nodeNamespaceMap) {
Either<Resource, ResponseFormat> eitherResource = null;
- log.debug("createResourceInstances is {} - going to create resource instanse from CSAR", yamlName);
+ log.debug("{} - going to create resource instanse from CSAR", yamlName);
if (uploadResInstancesMap == null || uploadResInstancesMap.isEmpty()) {
ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE);
@@ -4334,13 +4332,13 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
Iterator<Entry<String, UploadComponentInstanceInfo>> nodesInfoValue = uploadResInstancesMap.entrySet().iterator();
Map<ComponentInstance, Resource> resourcesInstancesMap = new HashMap<>();
while (nodesInfoValue.hasNext()) {
- log.debug("*************Going to create resource instances {}", yamlName);
+ log.debug("*************Going to create resource instances from {}", yamlName);
Entry<String, UploadComponentInstanceInfo> uploadComponentInstanceInfoEntry = nodesInfoValue.next();
UploadComponentInstanceInfo uploadComponentInstanceInfo = uploadComponentInstanceInfoEntry.getValue();
// updating type if the type is node type name - we need to take the
// updated name
- log.debug("*************Going to create resource instances {}", uploadComponentInstanceInfo.getName());
+ log.debug("*************Going to create resource instance {}", uploadComponentInstanceInfo.getName());
if (nodeNamespaceMap.containsKey(uploadComponentInstanceInfo.getType())) {
uploadComponentInstanceInfo.setType(nodeNamespaceMap.get(uploadComponentInstanceInfo.getType()).getToscaResourceName());
}
@@ -4357,17 +4355,19 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
ComponentTypeEnum containerComponentType = resource.getComponentType();
NodeTypeEnum containerNodeType = containerComponentType.getNodeType();
-
- if (containerNodeType.equals(NodeTypeEnum.Resource) && uploadComponentInstanceInfo.getCapabilities() != null) {
- Either<Map<String, List<CapabilityDefinition>>, ResponseFormat> getValidComponentInstanceCapabilitiesRes = getValidComponentInstanceCapabilities(refResource.getCapabilities(), uploadComponentInstanceInfo.getCapabilities());
+ //************
+ if (containerNodeType.equals(NodeTypeEnum.Resource) && MapUtils.isNotEmpty(uploadComponentInstanceInfo.getCapabilities()) && MapUtils.isNotEmpty(refResource.getCapabilities())) {
+ setCapabilityNamesTypes(refResource.getCapabilities(), uploadComponentInstanceInfo.getCapabilities());
+ Either<Map<String, List<CapabilityDefinition>>, ResponseFormat> getValidComponentInstanceCapabilitiesRes = getValidComponentInstanceCapabilities(refResource.getUniqueId(), refResource.getCapabilities(), uploadComponentInstanceInfo.getCapabilities());
if (getValidComponentInstanceCapabilitiesRes.isRight()) {
return Either.right(getValidComponentInstanceCapabilitiesRes.right().value());
} else {
componentInstance.setCapabilities(getValidComponentInstanceCapabilitiesRes.left().value());
}
}
+ //***********************
if (!existingnodeTypeMap.containsKey(uploadComponentInstanceInfo.getType())) {
- log.debug("createResourceInstances - not found lates version for resource instance with name {} and type ", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
+ log.debug("createResourceInstances - not found latest version for resource instance with name {} and type ", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.INVALID_NODE_TEMPLATE, yamlName, uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
return Either.right(responseFormat);
}
@@ -4417,16 +4417,30 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
return Either.left(eitherGerResource.left().value());
}
+
+ private void setCapabilityNamesTypes(Map<String, List<CapabilityDefinition>> originCapabilities, Map<String, List<UploadCapInfo>> uploadedCapabilities) {
+ for(Entry<String, List<UploadCapInfo>> currEntry : uploadedCapabilities.entrySet()){
+ if(originCapabilities.containsKey(currEntry.getKey())){
+ currEntry.getValue().stream().forEach(cap -> cap.setType(currEntry.getKey()));
+ }
+ }
+
+ for(Map.Entry<String, List<CapabilityDefinition>> capabilities : originCapabilities.entrySet()){
+ capabilities.getValue().stream().forEach(cap -> {if(uploadedCapabilities.containsKey(cap.getName())){uploadedCapabilities.get(cap.getName()).stream().forEach(c -> {c.setName(cap.getName());c.setType(cap.getType());});};});
+ }
+ }
+
+
private Either<Resource, ResponseFormat> validateResourceInstanceBeforeCreate(String yamlName, UploadComponentInstanceInfo uploadComponentInstanceInfo, Map<String, Resource> nodeNamespaceMap) {
- log.debug("validateResourceInstanceBeforeCreate - going to validate resource instance with name {} and type before create", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
+ log.debug("going to validate resource instance with name {} and type {} before create", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
Resource refResource = null;
if (nodeNamespaceMap.containsKey(uploadComponentInstanceInfo.getType())) {
refResource = nodeNamespaceMap.get(uploadComponentInstanceInfo.getType());
} else {
Either<Resource, StorageOperationStatus> findResourceEither = toscaOperationFacade.getLatestCertifiedNodeTypeByToscaResourceName(uploadComponentInstanceInfo.getType());
if (findResourceEither.isRight()) {
- log.debug("validateResourceInstanceBeforeCreate - not found lates version for resource instance with name {} and type ", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
+ log.debug("not found lates version for resource instance with name {} and type {}", uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
ResponseFormat responseFormat = componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(findResourceEither.right().value()));
return Either.right(responseFormat);
}
@@ -4435,16 +4449,17 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
}
String componentState = refResource.getComponentMetadataDefinition().getMetadataDataDefinition().getState();
if (componentState.equals(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name())) {
- log.debug("validateResourceInstanceBeforeCreate - component instance of component {} can not be created because the component is in an illegal state {}.", refResource.getName(), componentState);
+ log.debug("component instance of component {} can not be created because the component is in an illegal state {}.", refResource.getName(), componentState);
ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.ILLEGAL_COMPONENT_STATE, refResource.getComponentType().getValue(), refResource.getName(), componentState);
return Either.right(responseFormat);
}
if (!ToscaUtils.isAtomicType(refResource) && refResource.getResourceType() != ResourceTypeEnum.CVFC) {
- log.debug("validateResourceInstanceBeforeCreate - ref resource type is ", refResource.getResourceType());
+ log.debug("ref resource type is {}", refResource.getResourceType());
ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.INVALID_NODE_TEMPLATE, yamlName, uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
return Either.right(responseFormat);
}
+ log.debug("validate resource instance with name {} and type {} before create, successful",uploadComponentInstanceInfo.getName(), uploadComponentInstanceInfo.getType());
return Either.left(refResource);
}
@@ -7021,7 +7036,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
return null;
}
- private Either<Map<String, List<CapabilityDefinition>>, ResponseFormat> getValidComponentInstanceCapabilities(Map<String, List<CapabilityDefinition>> defaultCapabilities, Map<String, List<UploadCapInfo>> uploadedCapabilities) {
+ private Either<Map<String, List<CapabilityDefinition>>, ResponseFormat> getValidComponentInstanceCapabilities(String resourceId, Map<String, List<CapabilityDefinition>> defaultCapabilities, Map<String, List<UploadCapInfo>> uploadedCapabilities) {
ResponseFormat responseFormat;
Map<String, List<CapabilityDefinition>> validCapabilitiesMap = new HashMap<>();
@@ -7031,14 +7046,33 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
responseFormat = componentsUtils.getResponseFormat(ActionStatus.MISSING_CAPABILITY_TYPE, capabilityType);
return Either.right(responseFormat);
} else {
- CapabilityDefinition delaultCapability = defaultCapabilities.get(capabilityType).get(0);
- Either<Boolean, String> validationRes = validateUniquenessUpdateUploadedComponentInstanceCapability(delaultCapability, uploadedCapabilitiesEntry.getValue().get(0));
- if (validationRes.isRight()) {
- responseFormat = componentsUtils.getResponseFormat(ActionStatus.PROPERTY_NAME_ALREADY_EXISTS, validationRes.right().value());
+ CapabilityDefinition defaultCapability;
+ if(CollectionUtils.isNotEmpty(defaultCapabilities.get(capabilityType).get(0).getProperties())){
+ defaultCapability = defaultCapabilities.get(capabilityType).get(0);
+ } else {
+ Either<Component, StorageOperationStatus> getFullComponentRes = toscaOperationFacade.getToscaFullElement(resourceId);
+ if(getFullComponentRes.isRight()){
+ log.debug("Failed to get full component {}. Status is {}. ", resourceId, getFullComponentRes.right().value());
+ responseFormat = componentsUtils.getResponseFormat(ActionStatus.COMPONENT_NOT_FOUND, resourceId);
+ return Either.right(responseFormat);
+ }
+ defaultCapability = getFullComponentRes.left().value().getCapabilities().get(capabilityType).get(0);
+ }
+ if(CollectionUtils.isEmpty(defaultCapability.getProperties()) && CollectionUtils.isNotEmpty(uploadedCapabilitiesEntry.getValue().get(0).getProperties())){
+ log.debug("Failed to validate capability {} of component {}. Property list is empty. ", defaultCapability.getName(), resourceId);
+ log.debug("Failed to update capability property values. Property list of fetched capability {} is empty. ", defaultCapability.getName());
+ responseFormat = componentsUtils.getResponseFormat(ActionStatus.PROPERTY_NOT_FOUND, resourceId);
return Either.right(responseFormat);
}
+ if(CollectionUtils.isNotEmpty(defaultCapability.getProperties()) && CollectionUtils.isNotEmpty(uploadedCapabilitiesEntry.getValue().get(0).getProperties())){
+ Either<Boolean, String> validationRes = validateUniquenessUpdateUploadedComponentInstanceCapability(defaultCapability, uploadedCapabilitiesEntry.getValue().get(0));
+ if (validationRes.isRight()) {
+ responseFormat = componentsUtils.getResponseFormat(ActionStatus.PROPERTY_NAME_ALREADY_EXISTS, validationRes.right().value());
+ return Either.right(responseFormat);
+ }
+ }
List<CapabilityDefinition> validCapabilityList = new ArrayList<>();
- validCapabilityList.add(delaultCapability);
+ validCapabilityList.add(defaultCapability);
validCapabilitiesMap.put(uploadedCapabilitiesEntry.getKey(), validCapabilityList);
}
}
diff --git a/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.json b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.json
new file mode 100644
index 0000000000..d9b008a870
--- /dev/null
+++ b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.json
@@ -0,0 +1,21 @@
+{
+ "payloadName": "genericNeutronNet.yml",
+ "contactId": "jh0003",
+ "name": "Generic NeutronNet",
+ "description": "Generic NeutronNet",
+ "resourceIconPath": "network",
+ "resourceType": "VL",
+ "categories": [
+ {
+ "name": "Generic",
+ "subcategories": [
+ {
+ "name": "Network Elements"
+ }
+ ]
+ }
+],
+ "tags": [
+ "Generic NeutronNet"
+ ]
+} \ No newline at end of file
diff --git a/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.yml b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.yml
new file mode 100644
index 0000000000..12dc13e98b
--- /dev/null
+++ b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.yml
@@ -0,0 +1,36 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+node_types:
+ org.openecomp.resource.vl.GenericNeutronNet:
+ derived_from: org.openecomp.resource.vl.extVL
+ description: Generic Neutron Network
+ properties:
+ network_role:
+ type: string
+ description: |
+ Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network
+ network_assignments:
+ type: org.openecomp.datatypes.network.NetworkAssignments
+ network_flows:
+ type: org.openecomp.datatypes.network.NetworkFlows
+ network_scope:
+ type: string
+ network_ecomp_naming:
+ type: org.openecomp.datatypes.EcompNaming
+ network_type:
+ type: string
+ description: ECOMP supported network types.
+ default: NEUTRON
+ provider_network:
+ type: org.openecomp.datatypes.network.ProviderNetwork
+ network_technology:
+ type: string
+ description: ECOMP supported network technology
+ default: NEUTRON
+ network_homing:
+ type: org.openecomp.datatypes.EcompHoming
+ capabilities:
+ virtual_linkable:
+ type: tosca.capabilities.network.Linkable
+ occurrences:
+ - 1
+ - UNBOUNDED \ No newline at end of file
diff --git a/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.zip b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.zip
new file mode 100644
index 0000000000..ed51f834f3
--- /dev/null
+++ b/catalog-be/src/main/resources/import/tosca/heat-types/genericNeutronNet/genericNeutronNet.zip
Binary files differ
diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.json b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.json
new file mode 100644
index 0000000000..22788ec06c
--- /dev/null
+++ b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.json
@@ -0,0 +1,15 @@
+{
+ "payloadName": "NSD.yml",
+ "contactId": "jh0003",
+ "name": "NSD",
+ "description": "NSD",
+ "resourceIconPath": "network",
+ "resourceType": "VFC",
+ "categories": [{
+ "name": "Generic",
+ "subcategories": [{
+ "name": "Network Elements"
+ }]
+ }],
+ "tags": ["NSD"]
+} \ No newline at end of file
diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.yml b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.yml
new file mode 100644
index 0000000000..1b3d8820d5
--- /dev/null
+++ b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.yml
@@ -0,0 +1,41 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+node_types:
+ org.openecomp.resource.vfc.NSD:
+ derived_from: tosca.nodes.Root
+ description: ECOMP Allotted Resource base type all other allotted resources node types derive from
+ properties:
+ nsd_id:
+ type: string
+ required: true
+ description: ID of the NSD
+ nsd_designer:
+ type: string
+ required: true
+ description: Designer of the NSD
+ nsd_version:
+ type: string
+ required: true
+ description: Version of the NSD
+ nsd_name:
+ type: string
+ required: true
+ description: Name of the NSD
+ providing_service_uuid:
+ type: string
+ required: true
+ description: The depending service uuid in order to map the allotted resource to the specific service version
+ providing_service_invariant_uuid:
+ type: string
+ required: true
+ description: The depending service invariant uuid in order to map the allotted resource to the specific service version
+ providing_service_name:
+ type: string
+ required: true
+ description: The depending service name in order to map the allotted resource to the specific service version
+ requirements:
+ - virtualLink:
+ capability: tosca.capabilities.network.Linkable
+ relationship: tosca.relationships.network.LinksTo
+ capabilities:
+ virtual_linkable:
+ type: tosca.capabilities.network.Linkable
diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.zip b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.zip
new file mode 100644
index 0000000000..d741b50c16
--- /dev/null
+++ b/catalog-be/src/main/resources/import/tosca/onap-types/NSD/NSD.zip
Binary files differ
diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml b/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml
index e1f6d068ce..e5d79fcacf 100644
--- a/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml
+++ b/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.yml
@@ -50,7 +50,7 @@ node_types:
- 0
- UNBOUNDED
- virtual_link:
- capability: tosca.capabilities.nfv.VirtualBindable
+ capability: tosca.capabilities.nfv.VirtualLinkable
occurrences:
- 0
- UNBOUNDED \ No newline at end of file
diff --git a/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zip b/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zip
index 6a9d4be124..e1b5be9f2f 100644
--- a/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zip
+++ b/catalog-be/src/main/resources/import/tosca/onap-types/vduCpd/vduCpd.zip
Binary files differ
diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py b/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py
index 78b257d6f3..c72c2c394f 100644
--- a/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py
+++ b/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py
@@ -53,7 +53,8 @@ def importHeatTypes(beHost, bePort, adminUser, fileDir, updateversion):
"multiFlavorVFC",
"vnfConfiguration",
"underlayVpn",
- "overlayTunnel"
+ "overlayTunnel",
+ "genericNeutronNet"
]
responseCodes = [200, 201]
diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py b/catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py
index f91b64ed81..31c11c74bc 100644
--- a/catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py
+++ b/catalog-be/src/main/resources/scripts/import/tosca/importOnapTypes.py
@@ -29,7 +29,8 @@ def importOnapTypes(beHost, bePort, adminUser, fileDir, updateversion):
"vduCompute",
"vduCpd",
"vduVirtualStorage",
- "vnfVirtualLinkDesc"
+ "vnfVirtualLinkDesc",
+ "NSD"
]
responseCodes = [200, 201]
diff --git a/catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json b/catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json
index a6948f5da8..c518855860 100644
--- a/catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json
+++ b/catalog-be/src/main/resources/scripts/import/tosca/typesToUpgrade.json
@@ -1,13 +1,54 @@
{
"heat": [
- "contrailPort",
- "extCp",
- "contrailV2VirtualMachineInterface",
+ "globalNetwork",
+ "globalPort",
+ "globalCompute",
+ "volume",
+ "cinderVolume",
+ "contrailVirtualNetwork",
+ "neutronNet",
"neutronPort",
+ "novaServer",
+ "extVl",
+ "internalVl",
+ "extCp",
+ "vl",
+ "eline",
+ "abstractSubstitute",
+ "Generic_VFC",
+ "Generic_VF",
"Generic_PNF",
+ "Generic_Service",
+ "contrailNetworkRules",
+ "contrailPort",
+ "contrailV2NetworkRules",
+ "contrailV2VirtualNetwork",
+ "securityRules",
+ "contrailAbstractSubstitute",
+ "contrailCompute",
+ "contrailV2VirtualMachineInterface",
+ "subInterface",
+ "contrailV2VLANSubInterface",
"multiFlavorVFC",
- "vnfConfiguration"
+ "vnfConfiguration",
+ "underlayVpn",
+ "overlayTunnel",
+ "genericNeutronNet"
],
"normative": [
+ "root",
+ "compute",
+ "softwareComponent",
+ "webServer",
+ "webApplication",
+ "DBMS",
+ "database",
+ "objectStorage",
+ "blockStorage",
+ "containerRuntime",
+ "containerApplication",
+ "loadBalancer",
+ "port",
+ "network"
]
} \ No newline at end of file
diff --git a/catalog-be/src/test/resources/config/elasticsearch.yml.bak b/catalog-be/src/test/resources/config/elasticsearch.yml.bak
deleted file mode 100644
index 98c6864bf2..0000000000
--- a/catalog-be/src/test/resources/config/elasticsearch.yml.bak
+++ /dev/null
@@ -1,387 +0,0 @@
-
-cluster.name: elasticsearch_pavel
-
-discovery.zen.ping.multicast.enabled: false
-discovery.zen.ping.unicast.enabled: true
-discovery.zen.ping.unicast.hosts: elasticsearch_host
-
-
-
-##################### Elasticsearch Configuration Example #####################
-
-# This file contains an overview of various configuration settings,
-# targeted at operations staff. Application developers should
-# consult the guide at <http://elasticsearch.org/guide>.
-#
-# The installation procedure is covered at
-# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/setup.html>.
-#
-# Elasticsearch comes with reasonable defaults for most settings,
-# so you can try it out without bothering with configuration.
-#
-# Most of the time, these defaults are just fine for running a production
-# cluster. If you're fine-tuning your cluster, or wondering about the
-# effect of certain configuration option, please _do ask_ on the
-# mailing list or IRC channel [http://elasticsearch.org/community].
-
-# Any element in the configuration can be replaced with environment variables
-# by placing them in ${...} notation. For example:
-#
-# node.rack: ${RACK_ENV_VAR}
-
-# For information on supported formats and syntax for the config file, see
-# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/setup-configuration.html>
-
-
-################################### Cluster ###################################
-
-# Cluster name identifies your cluster for auto-discovery. If you're running
-# multiple clusters on the same network, make sure you're using unique names.
-#
-# cluster.name: elasticsearch
-
-
-#################################### Node #####################################
-
-# Node names are generated dynamically on startup, so you're relieved
-# from configuring them manually. You can tie this node to a specific name:
-#
-# node.name: "Franz Kafka"
-
-# Every node can be configured to allow or deny being eligible as the master,
-# and to allow or deny to store the data.
-#
-# Allow this node to be eligible as a master node (enabled by default):
-#
-# node.master: true
-#
-# Allow this node to store data (enabled by default):
-#
-# node.data: true
-
-# You can exploit these settings to design advanced cluster topologies.
-#
-# 1. You want this node to never become a master node, only to hold data.
-# This will be the "workhorse" of your cluster.
-#
-# node.master: false
-# node.data: true
-#
-# 2. You want this node to only serve as a master: to not store any data and
-# to have free resources. This will be the "coordinator" of your cluster.
-#
-# node.master: true
-# node.data: false
-#
-# 3. You want this node to be neither master nor data node, but
-# to act as a "search load balancer" (fetching data from nodes,
-# aggregating results, etc.)
-#
-# node.master: false
-# node.data: false
-
-# Use the Cluster Health API [http://localhost:9200/_cluster/health], the
-# Node Info API [http://localhost:9200/_nodes] or GUI tools
-# such as <http://www.elasticsearch.org/overview/marvel/>,
-# <http://github.com/karmi/elasticsearch-paramedic>,
-# <http://github.com/lukas-vlcek/bigdesk> and
-# <http://mobz.github.com/elasticsearch-head> to inspect the cluster state.
-
-# A node can have generic attributes associated with it, which can later be used
-# for customized shard allocation filtering, or allocation awareness. An attribute
-# is a simple key value pair, similar to node.key: value, here is an example:
-#
-# node.rack: rack314
-
-# By default, multiple nodes are allowed to start from the same installation location
-# to disable it, set the following:
-# node.max_local_storage_nodes: 1
-
-
-#################################### Index ####################################
-
-# You can set a number of options (such as shard/replica options, mapping
-# or analyzer definitions, translog settings, ...) for indices globally,
-# in this file.
-#
-# Note, that it makes more sense to configure index settings specifically for
-# a certain index, either when creating it or by using the index templates API.
-#
-# See <http://elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html> and
-# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html>
-# for more information.
-
-# Set the number of shards (splits) of an index (5 by default):
-#
-# index.number_of_shards: 5
-
-# Set the number of replicas (additional copies) of an index (1 by default):
-#
-# index.number_of_replicas: 1
-
-# Note, that for development on a local machine, with small indices, it usually
-# makes sense to "disable" the distributed features:
-#
-index.number_of_shards: 1
-index.number_of_replicas: 0
-
-# These settings directly affect the performance of index and search operations
-# in your cluster. Assuming you have enough machines to hold shards and
-# replicas, the rule of thumb is:
-#
-# 1. Having more *shards* enhances the _indexing_ performance and allows to
-# _distribute_ a big index across machines.
-# 2. Having more *replicas* enhances the _search_ performance and improves the
-# cluster _availability_.
-#
-# The "number_of_shards" is a one-time setting for an index.
-#
-# The "number_of_replicas" can be increased or decreased anytime,
-# by using the Index Update Settings API.
-#
-# Elasticsearch takes care about load balancing, relocating, gathering the
-# results from nodes, etc. Experiment with different settings to fine-tune
-# your setup.
-
-# Use the Index Status API (<http://localhost:9200/A/_status>) to inspect
-# the index status.
-
-
-#################################### Paths ####################################
-
-# Path to directory containing configuration (this file and logging.yml):
-#
-path.conf: /src/test/resources
-
-# Path to directory where to store index data allocated for this node.
-#
-path.data: target/esdata
-#
-# Can optionally include more than one location, causing data to be striped across
-# the locations (a la RAID 0) on a file level, favouring locations with most free
-# space on creation. For example:
-#
-# path.data: /path/to/data1,/path/to/data2
-
-# Path to temporary files:
-#
-path.work: /target/eswork
-
-# Path to log files:
-#
-path.logs: /target/eslogs
-
-# Path to where plugins are installed:
-#
-# path.plugins: /path/to/plugins
-
-
-#################################### Plugin ###################################
-
-# If a plugin listed here is not installed for current node, the node will not start.
-#
-# plugin.mandatory: mapper-attachments,lang-groovy
-
-
-################################### Memory ####################################
-
-# Elasticsearch performs poorly when JVM starts swapping: you should ensure that
-# it _never_ swaps.
-#
-# Set this property to true to lock the memory:
-#
-# bootstrap.mlockall: true
-
-# Make sure that the ES_MIN_MEM and ES_MAX_MEM environment variables are set
-# to the same value, and that the machine has enough memory to allocate
-# for Elasticsearch, leaving enough memory for the operating system itself.
-#
-# You should also make sure that the Elasticsearch process is allowed to lock
-# the memory, eg. by using `ulimit -l unlimited`.
-
-
-############################## Network And HTTP ###############################
-
-# Elasticsearch, by default, binds itself to the 0.0.0.0 address, and listens
-# on port [9200-9300] for HTTP traffic and on port [9300-9400] for node-to-node
-# communication. (the range means that if the port is busy, it will automatically
-# try the next port).
-
-# Set the bind address specifically (IPv4 or IPv6):
-#
-# network.bind_host: 192.168.0.1
-
-# Set the address other nodes will use to communicate with this node. If not
-# set, it is automatically derived. It must point to an actual IP address.
-#
-# network.publish_host: 192.168.0.1
-
-# Set both 'bind_host' and 'publish_host':
-#
-# network.host: 192.168.0.1
-
-# Set a custom port for the node to node communication (9300 by default):
-#
-# transport.tcp.port: 9300
-
-# Enable compression for all communication between nodes (disabled by default):
-#
-# transport.tcp.compress: true
-
-# Set a custom port to listen for HTTP traffic:
-#
-# http.port: 9200
-
-# Set a custom allowed content length:
-#
-# http.max_content_length: 100mb
-
-# Disable HTTP completely:
-#
-# http.enabled: false
-
-
-################################### Gateway ###################################
-
-# The gateway allows for persisting the cluster state between full cluster
-# restarts. Every change to the state (such as adding an index) will be stored
-# in the gateway, and when the cluster starts up for the first time,
-# it will read its state from the gateway.
-
-# There are several types of gateway implementations. For more information, see
-# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-gateway.html>.
-
-# The default gateway type is the "local" gateway (recommended):
-#
-# gateway.type: local
-
-# Settings below control how and when to start the initial recovery process on
-# a full cluster restart (to reuse as much local data as possible when using shared
-# gateway).
-
-# Allow recovery process after N nodes in a cluster are up:
-#
-gateway.recover_after_nodes: 1
-
-# Set the timeout to initiate the recovery process, once the N nodes
-# from previous setting are up (accepts time value):
-#
-# gateway.recover_after_time: 5m
-
-# Set how many nodes are expected in this cluster. Once these N nodes
-# are up (and recover_after_nodes is met), begin recovery process immediately
-# (without waiting for recover_after_time to expire):
-#
-gateway.expected_nodes: 1
-
-
-############################# Recovery Throttling #############################
-
-# These settings allow to control the process of shards allocation between
-# nodes during initial recovery, replica allocation, rebalancing,
-# or when adding and removing nodes.
-
-# Set the number of concurrent recoveries happening on a node:
-#
-# 1. During the initial recovery
-#
-# cluster.routing.allocation.node_initial_primaries_recoveries: 4
-#
-# 2. During adding/removing nodes, rebalancing, etc
-#
-# cluster.routing.allocation.node_concurrent_recoveries: 2
-
-# Set to throttle throughput when recovering (eg. 100mb, by default 20mb):
-#
-# indices.recovery.max_bytes_per_sec: 20mb
-
-# Set to limit the number of open concurrent streams when
-# recovering a shard from a peer:
-#
-# indices.recovery.concurrent_streams: 5
-
-
-################################## Discovery ##################################
-
-# Discovery infrastructure ensures nodes can be found within a cluster
-# and master node is elected. Multicast discovery is the default.
-
-# Set to ensure a node sees N other master eligible nodes to be considered
-# operational within the cluster. Its recommended to set it to a higher value
-# than 1 when running more than 2 nodes in the cluster.
-#
-# discovery.zen.minimum_master_nodes: 1
-
-# Set the time to wait for ping responses from other nodes when discovering.
-# Set this option to a higher value on a slow or congested network
-# to minimize discovery failures:
-#
-# discovery.zen.ping.timeout: 3s
-
-# For more information, see
-# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-discovery-zen.html>
-
-# Unicast discovery allows to explicitly control which nodes will be used
-# to discover the cluster. It can be used when multicast is not present,
-# or to restrict the cluster communication-wise.
-#
-# 1. Disable multicast discovery (enabled by default):
-#
-# discovery.zen.ping.multicast.enabled: false
-#
-# 2. Configure an initial list of master nodes in the cluster
-# to perform discovery when new nodes (master or data) are started:
-#
-# discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]
-
-# EC2 discovery allows to use AWS EC2 API in order to perform discovery.
-#
-# You have to install the cloud-aws plugin for enabling the EC2 discovery.
-#
-# For more information, see
-# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-discovery-ec2.html>
-#
-# See <http://elasticsearch.org/tutorials/elasticsearch-on-ec2/>
-# for a step-by-step tutorial.
-
-# GCE discovery allows to use Google Compute Engine API in order to perform discovery.
-#
-# You have to install the cloud-gce plugin for enabling the GCE discovery.
-#
-# For more information, see <https://github.com/elasticsearch/elasticsearch-cloud-gce>.
-
-# Azure discovery allows to use Azure API in order to perform discovery.
-#
-# You have to install the cloud-azure plugin for enabling the Azure discovery.
-#
-# For more information, see <https://github.com/elasticsearch/elasticsearch-cloud-azure>.
-
-################################## Slow Log ##################################
-
-# Shard level query and fetch threshold logging.
-
-#index.search.slowlog.threshold.query.warn: 10s
-#index.search.slowlog.threshold.query.info: 5s
-#index.search.slowlog.threshold.query.debug: 2s
-#index.search.slowlog.threshold.query.trace: 500ms
-
-#index.search.slowlog.threshold.fetch.warn: 1s
-#index.search.slowlog.threshold.fetch.info: 800ms
-#index.search.slowlog.threshold.fetch.debug: 500ms
-#index.search.slowlog.threshold.fetch.trace: 200ms
-
-#index.indexing.slowlog.threshold.index.warn: 10s
-#index.indexing.slowlog.threshold.index.info: 5s
-#index.indexing.slowlog.threshold.index.debug: 2s
-#index.indexing.slowlog.threshold.index.trace: 500ms
-
-################################## GC Logging ################################
-
-#monitor.jvm.gc.young.warn: 1000ms
-#monitor.jvm.gc.young.info: 700ms
-#monitor.jvm.gc.young.debug: 400ms
-
-#monitor.jvm.gc.old.warn: 10s
-#monitor.jvm.gc.old.info: 5s
-#monitor.jvm.gc.old.debug: 2s
-
diff --git a/catalog-be/src/test/resources/config/mysql-type-empty-nodes.zip b/catalog-be/src/test/resources/config/mysql-type-empty-nodes.zip
deleted file mode 100644
index d317bccd1e..0000000000
--- a/catalog-be/src/test/resources/config/mysql-type-empty-nodes.zip
+++ /dev/null
Binary files differ
diff --git a/catalog-be/src/test/resources/config/mysql-type-no-nodes.zip b/catalog-be/src/test/resources/config/mysql-type-no-nodes.zip
deleted file mode 100644
index 09999faed5..0000000000
--- a/catalog-be/src/test/resources/config/mysql-type-no-nodes.zip
+++ /dev/null
Binary files differ
diff --git a/catalog-be/src/test/resources/config/mysql-type-no-version.zip b/catalog-be/src/test/resources/config/mysql-type-no-version.zip
deleted file mode 100644
index fa1319f311..0000000000
--- a/catalog-be/src/test/resources/config/mysql-type-no-version.zip
+++ /dev/null
Binary files differ
diff --git a/catalog-be/src/test/resources/config/mysql-type-only-yaml.zip b/catalog-be/src/test/resources/config/mysql-type-only-yaml.zip
deleted file mode 100644
index b4b1946940..0000000000
--- a/catalog-be/src/test/resources/config/mysql-type-only-yaml.zip
+++ /dev/null
Binary files differ
diff --git a/catalog-be/src/test/resources/config/mysql-type-with-scripts.zip b/catalog-be/src/test/resources/config/mysql-type-with-scripts.zip
deleted file mode 100644
index d689b668a1..0000000000
--- a/catalog-be/src/test/resources/config/mysql-type-with-scripts.zip
+++ /dev/null
Binary files differ
diff --git a/catalog-be/src/test/resources/config/mysql-type.yml b/catalog-be/src/test/resources/config/mysql-type.yml
deleted file mode 100644
index f1985a0bdc..0000000000
--- a/catalog-be/src/test/resources/config/mysql-type.yml
+++ /dev/null
@@ -1,82 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0_0_wd03
-description: MySQL RDBMS installation on a specific mounted volume path.
-template_name: mysql-type
-template_version: 1.1.1-SNAPSHOT
-template_author: FastConnect
-
-imports:
- - "tosca-normative-types:1.0.0.wd03-SNAPSHOT"
-
-node_types:
- alien.nodes.Mysql:
- derived_from: tosca.nodes.Database
- description: >
- A node to install MySQL v5.5 database with data
- on a specific attached volume.
- capabilities:
- host:
- type: alien.capabilities.MysqlDatabase
- properties:
- valid_node_types: [ tosca.nodes.WebApplication ]
- requirements:
- - host: tosca.nodes.Compute
- type: tosca.relationships.HostedOn
- tags:
- icon: /images/mysql.png
- properties:
- db_port:
- type: integer
- default: 3306
- description: The port on which the underlying database service will listen to data.
- db_name:
- type: string
- required: true
- default: wordpress
- description: The logical name of the database.
- db_user:
- type: string
- default: pass
- description: The special user account used for database administration.
- db_password:
- type: string
- default: pass
- description: The password associated with the user account provided in the ‘db_user’ property.
- bind_address:
- type: boolean
- default: true
- required: false
- description: If true,the server accepts TCP/IP connections on all server host IPv4 interfaces.
- storage_path:
- type: string
- default: /mountedStorage
- constraints:
- - valid_values: [ "/mountedStorage", "/var/mysql" ]
- interfaces:
- Standard:
- create: scripts/install_mysql.sh
- start:
- inputs:
- VOLUME_HOME: { get_property: [SELF, storage_path] }
- PORT: { get_property: [SELF, db_port] }
- DB_NAME: { get_property: [SELF, db_name] }
- DB_USER: { get_property: [SELF, db_user] }
- DB_PASSWORD: { get_property: [SELF, db_password] }
- BIND_ADRESS: { get_property: [SELF, bind_address] }
- implementation: scripts/start_mysql.sh
- fastconnect.cloudify.extensions:
- start_detection:
- inputs:
- PORT: { get_property: [SELF, db_port] }
- implementation: scripts/mysql_start_detection.groovy
- artifacts:
- - scripts: scripts
- type: tosca.artifacts.File
-
-capability_types:
- alien.capabilities.MysqlDatabase:
- derived_from: tosca.capabilities.Container
-
-artifact_types:
- tosca.artifacts.GroovyScript:
- description: A groovy script (.groovy file)
- file_ext: [groovy]
diff --git a/catalog-be/src/test/resources/config/mysql-type.zip b/catalog-be/src/test/resources/config/mysql-type.zip
deleted file mode 100644
index b4b1946940..0000000000
--- a/catalog-be/src/test/resources/config/mysql-type.zip
+++ /dev/null
Binary files differ
diff --git a/catalog-be/src/test/resources/config/sample.yaml b/catalog-be/src/test/resources/config/sample.yaml
deleted file mode 100644
index 12ab2c777f..0000000000
--- a/catalog-be/src/test/resources/config/sample.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-version: 1.0
-released: 2012-11-30
-
-# Connection parameters
-connection:
- url: jdbc:mysql://localhost:3306/db
- poolSize: 5
-
-# Protocols
-protocols:
- - http
- - https
-
-# Users
-users:
- tom: passwd
- bob: passwd \ No newline at end of file
diff --git a/catalog-be/src/test/resources/config/sampleNoProtocol.yaml b/catalog-be/src/test/resources/config/sampleNoProtocol.yaml
deleted file mode 100644
index 6197232aa4..0000000000
--- a/catalog-be/src/test/resources/config/sampleNoProtocol.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-version: 1.0
-released: 2012-11-30
-
-# Connection parameters
-connection:
- url: jdbc:mysql://localhost:3306/db
- poolSize: 5
-
-# Protocols
-#protocols:
-# - http
-# - https
-
-# Users
-users:
- tom: passwd
- bob: passwd \ No newline at end of file