Commit 6b86c1a2 authored by Spiros Koulouzis's avatar Spiros Koulouzis

added MissingVMTopologyException

parent 2a282261
...@@ -12,7 +12,7 @@ matrix: ...@@ -12,7 +12,7 @@ matrix:
- python -m unittest discover - python -m unittest discover
- docker build -t alogo53/planner:3.0.0 . - docker build -t alogo53/planner:3.0.0 .
- language: python - language: python
python: 3.8 python: 3.7
before_script: before_script:
- cd sure_tosca-flask-server - cd sure_tosca-flask-server
- pip install -r requirements.txt - pip install -r requirements.txt
......
...@@ -16,6 +16,7 @@ import java.util.logging.Logger; ...@@ -16,6 +16,7 @@ import java.util.logging.Logger;
import nl.uva.sne.drip.api.NotFoundException; import nl.uva.sne.drip.api.NotFoundException;
import nl.uva.sne.drip.commons.utils.ToscaHelper; import nl.uva.sne.drip.commons.utils.ToscaHelper;
import nl.uva.sne.drip.model.Exceptions.MissingCredentialsException; import nl.uva.sne.drip.model.Exceptions.MissingCredentialsException;
import nl.uva.sne.drip.model.Exceptions.MissingVMTopologyException;
import nl.uva.sne.drip.model.Exceptions.TypeExeption; import nl.uva.sne.drip.model.Exceptions.TypeExeption;
import nl.uva.sne.drip.model.Message; import nl.uva.sne.drip.model.Message;
import nl.uva.sne.drip.model.NodeTemplateMap; import nl.uva.sne.drip.model.NodeTemplateMap;
...@@ -94,8 +95,11 @@ public class DRIPService { ...@@ -94,8 +95,11 @@ public class DRIPService {
return credentials.get(0); return credentials.get(0);
} }
private ToscaTemplate addCredentials(ToscaTemplate toscaTemplate) throws MissingCredentialsException, ApiException, TypeExeption { private ToscaTemplate addCredentials(ToscaTemplate toscaTemplate) throws MissingCredentialsException, ApiException, TypeExeption, MissingVMTopologyException {
List<NodeTemplateMap> vmTopologies = helper.getVMTopologyTemplates(); List<NodeTemplateMap> vmTopologies = helper.getVMTopologyTemplates();
if(vmTopologies== null){
throw new MissingVMTopologyException("ToscaTemplate: "+toscaTemplate+" has no VM topology");
}
List<Credential> credentials = null; List<Credential> credentials = null;
for (NodeTemplateMap vmTopologyMap : vmTopologies) { for (NodeTemplateMap vmTopologyMap : vmTopologies) {
String provider = helper.getTopologyProvider(vmTopologyMap); String provider = helper.getTopologyProvider(vmTopologyMap);
...@@ -120,7 +124,7 @@ public class DRIPService { ...@@ -120,7 +124,7 @@ public class DRIPService {
return execute(toscaTemplate); return execute(toscaTemplate);
} }
public String provision(String id) throws MissingCredentialsException, ApiException, TypeExeption, IOException, JsonProcessingException, TimeoutException, InterruptedException, NotFoundException { public String provision(String id) throws MissingCredentialsException, ApiException, TypeExeption, IOException, JsonProcessingException, TimeoutException, InterruptedException, NotFoundException, MissingVMTopologyException {
ToscaTemplate toscaTemplate = initExecution(id); ToscaTemplate toscaTemplate = initExecution(id);
toscaTemplate = addCredentials(toscaTemplate); toscaTemplate = addCredentials(toscaTemplate);
toscaTemplate = setProvisionerOperation(toscaTemplate, PROVISIONER_OPERATION.PROVISION); toscaTemplate = setProvisionerOperation(toscaTemplate, PROVISIONER_OPERATION.PROVISION);
...@@ -169,12 +173,14 @@ public class DRIPService { ...@@ -169,12 +173,14 @@ public class DRIPService {
void deleteActions(ToscaTemplate toscaTemplate) throws ApiException, TypeExeption, IOException { void deleteActions(ToscaTemplate toscaTemplate) throws ApiException, TypeExeption, IOException {
helper.uploadToscaTemplate(toscaTemplate); helper.uploadToscaTemplate(toscaTemplate);
List<NodeTemplateMap> vmTopologies = helper.getVMTopologyTemplates(); List<NodeTemplateMap> vmTopologies = helper.getVMTopologyTemplates();
for (NodeTemplateMap vmTopology : vmTopologies) { if (vmTopologies != null) {
CloudsStormSubTopology.StatusEnum status = helper.getVMTopologyTemplateStatus(vmTopology); for (NodeTemplateMap vmTopology : vmTopologies) {
if (!status.equals(CloudsStormSubTopology.StatusEnum.DELETED)) { CloudsStormSubTopology.StatusEnum status = helper.getVMTopologyTemplateStatus(vmTopology);
if (!status.equals(CloudsStormSubTopology.StatusEnum.DELETED)) {
Logger.getLogger(ToscaHelper.class.getName()).log(Level.FINE, "Deleting VMs from " + vmTopology);
}
} }
} }
} }
......
...@@ -221,9 +221,11 @@ def get_node_templates(id, type_name=None, node_name=None, has_interfaces=None, ...@@ -221,9 +221,11 @@ def get_node_templates(id, type_name=None, node_name=None, has_interfaces=None,
prop = None prop = None
queries.append(query.artifacts != prop) queries.append(query.artifacts != prop)
query_results = query_db(queries, db=node_template_db) query_results = query_db(queries, db=node_template_db)
return change_to_node_template_model(query_results) if query_results:
return change_to_node_template_model(query_results)
else:
return query_results
def get_tosca_template_get_dsl_definitions(id, anchors, derived_from): def get_tosca_template_get_dsl_definitions(id, anchors, derived_from):
...@@ -479,4 +481,4 @@ def get_default_interface(id, interface_type, instance_name, operation_name): ...@@ -479,4 +481,4 @@ def get_default_interface(id, interface_type, instance_name, operation_name):
instance_inputs = {'inputs': instance_inputs_list} instance_inputs = {'inputs': instance_inputs_list}
operation = {operation_name: instance_inputs} operation = {operation_name: instance_inputs}
instance = {instance_name: operation} instance = {instance_name: operation}
return instance return instance
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment