diff options
Diffstat (limited to 'ms/generic-resource-api/src')
27 files changed, 431 insertions, 1463 deletions
diff --git a/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/OperationsApiController.java b/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/OperationsApiController.java index 19c8ca0..cbf571d 100644 --- a/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/OperationsApiController.java +++ b/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/OperationsApiController.java @@ -40,6 +40,7 @@ import org.onap.ccsdk.apps.services.RestException; import org.onap.ccsdk.apps.services.SvcLogicFactory; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.onap.ccsdk.sli.core.sli.SvcLogicLoader; import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceBase; import org.onap.sdnc.apps.ms.gra.data.ConfigContrailRouteAllottedResourcesRepository; import org.onap.sdnc.apps.ms.gra.data.ConfigNetworksRepository; @@ -130,6 +131,9 @@ public class OperationsApiController implements OperationsApi { protected SvcLogicServiceBase svc; @Autowired + protected SvcLogicLoader svcLogicLoader; + + @Autowired private ConfigPreloadDataRepository configPreloadDataRepository; @Autowired diff --git a/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ServiceDataHelper.java b/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ServiceDataHelper.java index f120f8c..1fbf02b 100644 --- a/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ServiceDataHelper.java +++ b/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ServiceDataHelper.java @@ -30,9 +30,11 @@ import org.onap.sdnc.apps.ms.gra.swagger.model.GenericResourceApiServicedataServ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.ComponentScan; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; @Component @ComponentScan(basePackages = { "org.onap.sdnc.apps.ms.gra.*", "org.onap.ccsdk.apps.services" }) + public class ServiceDataHelper { @Autowired @@ -65,41 +67,58 @@ public class ServiceDataHelper { private List<ConfigVnfs> vnfsToRemove = new LinkedList<ConfigVnfs>(); private List<ConfigVfModules> vfModulesToRemove = new LinkedList<ConfigVfModules>(); + // Deferred saves not working for now - do all immediate public void save(ConfigServices service) { - servicesToSave.add(service); + // servicesToSave.add(service); + configServicesRepository.save(service); } public void save(ConfigNetworks network) { - networksToSave.add(network); + // networksToSave.add(network); + configNetworksRepository.save(network); } public void save(ConfigVnfs vnf) { - vnfsToSave.add(vnf); + // vnfsToSave.add(vnf); + configVnfsRepository.save(vnf); } public void save(ConfigVfModules vfModule) { - vfModulesToSave.add(vfModule); + // vfModulesToSave.add(vfModule); + configVfModulesRepository.save(vfModule); } public void remove(ConfigServices service) { - servicesToRemove.add(service); + // servicesToRemove.add(service); + configServicesRepository.delete(service); } public void remove(ConfigNetworks network) { - networksToRemove.add(network); + // networksToRemove.add(network); + configNetworksRepository.delete(network); } public void remove(ConfigVnfs vnf) { - vnfsToRemove.add(vnf); + // vnfsToRemove.add(vnf); + configVnfsRepository.delete(vnf); } public void remove(ConfigVfModules vfModule) { - vfModulesToRemove.add(vfModule); + // vfModulesToRemove.add(vfModule); + configVfModulesRepository.delete(vfModule); } public void commit() { + long numServicesBefore = configServicesRepository.count(); + long numNetworksBefore = configNetworksRepository.count(); + long numVnfsBefore = configVnfsRepository.count(); + long numVfModulesBefore = configVfModulesRepository.count(); + + // Commit is a no-op for now + return; + /* for (ConfigServices service : servicesToSave) { configServicesRepository.save(service); } @@ -124,6 +143,13 @@ public class ServiceDataHelper { for (ConfigVfModules vfModule : vfModulesToSave) { configVfModulesRepository.delete(vfModule); } + long numServicesAfter = configServicesRepository.count(); + long numNetworksAfter = configNetworksRepository.count(); + long numVnfsAfter = configVnfsRepository.count(); + long numVfModulesAfter = configVfModulesRepository.count(); + + System.out.print("Done"); + */ } } @@ -373,6 +399,7 @@ public class ServiceDataHelper { } else { configVnfsRepository.save(configVnf); } + } public void saveNetwork(String svcInstanceId, GenericResourceApiServicedataServicedataNetworksNetwork network, ServiceDataTransaction transaction) throws JsonProcessingException { diff --git a/ms/generic-resource-api/src/main/resources/db/changelog/db.changelog-master.yaml b/ms/generic-resource-api/src/main/resources/db/changelog/db.changelog-master.yaml index 6a47117..087c324 100644 --- a/ms/generic-resource-api/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/ms/generic-resource-api/src/main/resources/db/changelog/db.changelog-master.yaml @@ -384,7 +384,7 @@ databaseChangeLog: nullable: false - column: name: graph - type: blob + type: longblob - column: name: modified_timestamp type: timestamp diff --git a/ms/generic-resource-api/src/test/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiServicesControllerTest.java b/ms/generic-resource-api/src/test/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiServicesControllerTest.java index e002a88..6a1b708 100644 --- a/ms/generic-resource-api/src/test/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiServicesControllerTest.java +++ b/ms/generic-resource-api/src/test/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiServicesControllerTest.java @@ -16,6 +16,7 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.onap.sdnc.apps.ms.gra.GenericResourceMsApp; +import org.onap.sdnc.apps.ms.gra.controllers.ServiceDataHelper.ServiceDataTransaction; import org.onap.sdnc.apps.ms.gra.data.*; import org.onap.sdnc.apps.ms.gra.swagger.model.*; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +35,9 @@ import org.springframework.transaction.annotation.Transactional; @Transactional public class ConfigApiServicesControllerTest { + private final static String TEST_SVC_INSTANCE_ID = "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca"; + private final static String TEST_VNF_ID = "fae319cc-68d6-496f-be1e-a09e133c71d4"; + private final static String TEST_VF_MODULE_ID = "45841173-3729-4a1d-a811-a3bde399e22d"; private final static String CONFIG_SERVICES_URL = "/config/GENERIC-RESOURCE-API:services/"; private final static String CONFIG_SERVICES_SERVICE_URL = "/config/GENERIC-RESOURCE-API:services/service/"; private final static String CONFIG_CR_ARS_CR_AR_URL = "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/"; @@ -72,6 +76,64 @@ public class ConfigApiServicesControllerTest { } + @Test + public void serviceDataLoadTest() throws Exception { + // Clear service data + clearServicesData(); + assertEquals(0, configServicesRepository.count()); + assertEquals(0, configNetworksRepository.count()); + assertEquals(0, configVnfsRepository.count()); + assertEquals(0, configVfModulesRepository.count()); + + // Add service data - just service + loadServicesData("src/test/resources/service1-service.json"); + assertEquals(1, configServicesRepository.count()); + assertEquals(0, configNetworksRepository.count()); + assertEquals(0, configVnfsRepository.count()); + assertEquals(0, configVfModulesRepository.count()); + + // Clear service data + clearServicesData(); + assertEquals(0, configServicesRepository.count()); + assertEquals(0, configNetworksRepository.count()); + assertEquals(0, configVnfsRepository.count()); + assertEquals(0, configVfModulesRepository.count()); + + // Add service data - service, vnf, vf-module + loadServicesData("src/test/resources/service1.json"); + assertEquals(1, configServicesRepository.count()); + assertEquals(0, configNetworksRepository.count()); + assertEquals(1, configVnfsRepository.count()); + assertEquals(1, configVfModulesRepository.count()); + + + + } + + @Test + public void VnfDataLoadTest() throws Exception { + // Clear service data + clearServicesData(); + assertEquals(0, configServicesRepository.count()); + assertEquals(0, configNetworksRepository.count()); + assertEquals(0, configVnfsRepository.count()); + assertEquals(0, configVfModulesRepository.count()); + + // Add vnf data + loadVnfData("src/test/resources/vnf-data.json"); + assertEquals(1, configServicesRepository.count()); + assertEquals(0, configNetworksRepository.count()); + assertEquals(1, configVnfsRepository.count()); + assertEquals(1, configVfModulesRepository.count()); + + // Clear service data + clearServicesData(); + assertEquals(0, configServicesRepository.count()); + assertEquals(0, configNetworksRepository.count()); + assertEquals(0, configVnfsRepository.count()); + assertEquals(0, configVfModulesRepository.count()); + + } @Test public void configGENERICRESOURCEAPIservicesDelete() throws Exception { @@ -169,7 +231,7 @@ public class ConfigApiServicesControllerTest { clearServicesData(); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); @@ -179,7 +241,7 @@ public class ConfigApiServicesControllerTest { assertEquals(1, configServicesRepository.count()); // Test with data - mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); @@ -195,13 +257,13 @@ public class ConfigApiServicesControllerTest { loadServicesData("src/test/resources/service1.json"); assert(configServicesRepository.count() > 0); - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); // Test with no data clearServicesData(); - mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); } @@ -214,13 +276,13 @@ public class ConfigApiServicesControllerTest { String content = readFileContent("src/test/resources/service1-serviceitem.json"); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(content)) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(201, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); // Test with existing data - should return 409 - mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(409, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); @@ -238,13 +300,13 @@ public class ConfigApiServicesControllerTest { String content = readFileContent("src/test/resources/service1-serviceitem.json"); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(content)) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(201, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); // Test with existing data - should return 409 - mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); @@ -259,7 +321,7 @@ public class ConfigApiServicesControllerTest { clearServicesData(); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); @@ -269,11 +331,11 @@ public class ConfigApiServicesControllerTest { assertEquals(1, configServicesRepository.count()); // Test with data - mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); - List<ConfigServices> services = configServicesRepository.findBySvcInstanceId("service1"); + List<ConfigServices> services = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID); assertEquals(1, services.size()); assertEquals(null, services.get(0).getSvcData()); @@ -289,13 +351,13 @@ public class ConfigApiServicesControllerTest { loadServicesData("src/test/resources/service1.json"); assert(configServicesRepository.count() > 0); - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); // Test with no data clearServicesData(); - mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); } @@ -308,26 +370,26 @@ public class ConfigApiServicesControllerTest { String content = readFileContent("src/test/resources/service1-servicedata.json"); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); // Test with empty service data ConfigServices service = new ConfigServices(); - service.setSvcInstanceId("service1"); + service.setSvcInstanceId(TEST_SVC_INSTANCE_ID); configServicesRepository.save(service); assertEquals(1, configServicesRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(201, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); - List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId("service1"); + List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID); assertEquals(1, updatedService.size()); assertNotEquals(null, updatedService.get(0).getSvcData()); // Test with existing data - should return 409 - mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(409, mvcResult.getResponse().getStatus()); @@ -343,25 +405,25 @@ public class ConfigApiServicesControllerTest { String content = readFileContent("src/test/resources/service1-servicedata.json"); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); // Test with empty service data ConfigServices service = new ConfigServices(); - service.setSvcInstanceId("service1"); + service.setSvcInstanceId(TEST_SVC_INSTANCE_ID); configServicesRepository.save(service); - mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(201, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); - List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId("service1"); + List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID); assertEquals(1, updatedService.size()); assertNotEquals(null, updatedService.get(0).getSvcData()); // Test with existing data - should return 204 - mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); @@ -375,7 +437,7 @@ public class ConfigApiServicesControllerTest { clearServicesData(); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); @@ -385,11 +447,11 @@ public class ConfigApiServicesControllerTest { assertEquals(1, configServicesRepository.count()); // Test with data - mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); - List<ConfigServices> services = configServicesRepository.findBySvcInstanceId("service1"); + List<ConfigServices> services = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID); assertEquals(1, services.size()); assertEquals(null, services.get(0).getServiceStatus()); } @@ -403,13 +465,13 @@ public class ConfigApiServicesControllerTest { loadServicesData("src/test/resources/service1.json"); assert(configServicesRepository.count() > 0); - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); // Test with no data clearServicesData(); - mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); } @@ -422,25 +484,25 @@ public class ConfigApiServicesControllerTest { String content = readFileContent("src/test/resources/service1-servicestatus.json"); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); // Test with empty service data ConfigServices service = new ConfigServices(); - service.setSvcInstanceId("service1"); + service.setSvcInstanceId(TEST_SVC_INSTANCE_ID); configServicesRepository.save(service); - mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(201, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); - List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId("service1"); + List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID); assertEquals(1, updatedService.size()); assertNotEquals(null, updatedService.get(0).getServiceStatus()); // Test with existing data - should return 409 - mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.post(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(409, mvcResult.getResponse().getStatus()); @@ -456,25 +518,25 @@ public class ConfigApiServicesControllerTest { String content = readFileContent("src/test/resources/service1-servicestatus.json"); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); // Test with empty service status ConfigServices service = new ConfigServices(); - service.setSvcInstanceId("service1"); + service.setSvcInstanceId(TEST_SVC_INSTANCE_ID); configServicesRepository.save(service); - mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(201, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); - List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId("service1"); + List<ConfigServices> updatedService = configServicesRepository.findBySvcInstanceId(TEST_SVC_INSTANCE_ID); assertEquals(1, updatedService.size()); assertNotEquals(null, updatedService.get(0).getServiceStatus()); // Test with existing data - should return 204 - mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) + mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-status/").contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); @@ -491,13 +553,13 @@ public class ConfigApiServicesControllerTest { loadServicesData("src/test/resources/service1.json"); assert(configServicesRepository.count() > 0); - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/service-topology/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/service-topology/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); // Test with no data clearServicesData(); - mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/service-topology/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/service-topology/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); } @@ -508,7 +570,7 @@ public class ConfigApiServicesControllerTest { clearServicesData(); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); @@ -518,36 +580,31 @@ public class ConfigApiServicesControllerTest { assertEquals(1, configServicesRepository.count()); // Test with data - mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); - clearServicesData(); - loadVnfData("src/test/resources/vnf-data.json"); - assertEquals(1, configServicesRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c/").contentType(MediaType.APPLICATION_JSON).content("")) - .andReturn(); - assertEquals(404, mvcResult.getResponse().getStatus()); + // Test with bad data clearServicesData(); createBadVnfData(true, true); assertEquals(1, configServicesRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); clearServicesData(); createBadVnfData(false, false); assertEquals(1, configServicesRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); clearServicesData(); createBadVnfData(false, true); assertEquals(1, configServicesRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.delete("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); } @@ -558,7 +615,7 @@ public class ConfigApiServicesControllerTest { clearServicesData(); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); @@ -568,14 +625,14 @@ public class ConfigApiServicesControllerTest { assertEquals(1, configServicesRepository.count()); // Test with data - mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); clearServicesData(); createBadVnfData(false, false); assertEquals(1, configServicesRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); } @@ -585,15 +642,16 @@ public class ConfigApiServicesControllerTest { // Clean up data clearServicesData(); assertEquals(0, configServicesRepository.count()); - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-data.json"))) + assertEquals(0, configVnfsRepository.count()); + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-data.json"))) .andReturn(); assertEquals(201, mvcResult.getResponse().getStatus()); - assertEquals(1, configServicesRepository.count()); + assertEquals(1, configVnfsRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-data.json"))) + mvcResult = mvc.perform(MockMvcRequestBuilders.put("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/").contentType(MediaType.APPLICATION_JSON).content(readFileContent("src/test/resources/vnf-data.json"))) .andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); - assertEquals(1, configServicesRepository.count()); + assertEquals(1, configVnfsRepository.count()); } @Test @@ -602,7 +660,7 @@ public class ConfigApiServicesControllerTest { clearServicesData(); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content("")) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); assertEquals(0, configServicesRepository.count()); @@ -612,14 +670,14 @@ public class ConfigApiServicesControllerTest { assertEquals(1, configServicesRepository.count()); // Test with data - mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); clearServicesData(); createBadVnfData(false, false); assertEquals(1, configServicesRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/test-siid/service-data/vnfs/vnf/2a3bfc93-cd4c-4845-8919-434b2d999ada/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content("")) + mvcResult = mvc.perform(MockMvcRequestBuilders.get("/config/GENERIC-RESOURCE-API:services/service/"+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vnf-topology/").contentType(MediaType.APPLICATION_JSON).content("")) .andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); } @@ -899,7 +957,7 @@ public class ConfigApiServicesControllerTest { String content = readFileContent("src/test/resources/service1-vfmodule-item.json"); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/vf-1/") + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/"+TEST_VF_MODULE_ID+"/") .contentType(MediaType.APPLICATION_JSON).content(content)).andReturn(); assertEquals(400, mvcResult.getResponse().getStatus()); @@ -908,7 +966,7 @@ public class ConfigApiServicesControllerTest { loadServicesData("src/test/resources/service1.json"); assertEquals(1, configServicesRepository.count()); - mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/vf-1/") + mvcResult = mvc.perform(MockMvcRequestBuilders.put(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/"+TEST_VF_MODULE_ID+"/") .contentType(MediaType.APPLICATION_JSON).content(content)).andReturn(); assertEquals(204, mvcResult.getResponse().getStatus()); assertEquals(1, configServicesRepository.count()); @@ -923,7 +981,7 @@ public class ConfigApiServicesControllerTest { clearServicesData(); // Test with no data - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/") + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/") .contentType(MediaType.APPLICATION_JSON).content("")).andReturn(); assertEquals(400, mvcResult.getResponse().getStatus()); @@ -934,7 +992,7 @@ public class ConfigApiServicesControllerTest { assertEquals(1, configServicesRepository.count()); // Test with data - mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/") + mvcResult = mvc.perform(MockMvcRequestBuilders.delete(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/") .contentType(MediaType.APPLICATION_JSON).content("")).andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); @@ -949,20 +1007,20 @@ public class ConfigApiServicesControllerTest { loadServicesData("src/test/resources/service1.json"); assert(configServicesRepository.count() > 0); - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/") + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/") .contentType(MediaType.APPLICATION_JSON).content("")).andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); // Test with bad vf-module-id in input - mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/dummyid/") + mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/dummyid/") .contentType(MediaType.APPLICATION_JSON).content("")).andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); // Test with no data clearServicesData(); - mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/") + mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/") .contentType(MediaType.APPLICATION_JSON).content("")).andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); @@ -977,19 +1035,19 @@ public class ConfigApiServicesControllerTest { loadServicesData("src/test/resources/service1.json"); assert(configServicesRepository.count() > 0); - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON) + MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON) .content("")).andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); // Test with existing service and vnf but with dummy vf-module-id in input clearServicesData(); - mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/dummy/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON) + mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/dummy/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON) .content("")).andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); // Test with no data clearServicesData(); - mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+"service1/service-data/vnfs/vnf/fae319cc-68d6-496f-be1e-a09e133c71d4/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON) + mvcResult = mvc.perform(MockMvcRequestBuilders.get(CONFIG_SERVICES_SERVICE_URL+TEST_SVC_INSTANCE_ID+"/service-data/vnfs/vnf/"+TEST_VNF_ID+"/vnf-data/vf-modules/vf-module/269bda16-f40c-41a9-baef-e8905ab2b70e/vf-module-data/vf-module-topology/").contentType(MediaType.APPLICATION_JSON) .content("")).andReturn(); assertEquals(404, mvcResult.getResponse().getStatus()); } @@ -1024,16 +1082,43 @@ public class ConfigApiServicesControllerTest { } } + private void loadServicesData(String path, ServiceDataTransaction transaction) throws IOException { + ObjectMapper objectMapper = new ObjectMapper(); + String content = readFileContent(path); + GenericResourceApiServiceModelInfrastructure services = objectMapper.readValue(content, GenericResourceApiServiceModelInfrastructure.class); + + for (GenericResourceApiServicemodelinfrastructureService service : services.getService()) { + ConfigServices newService = new ConfigServices(); + newService.setSvcInstanceId(service.getServiceInstanceId()); + newService.setServiceStatus(service.getServiceStatus()); + serviceDataHelper.saveService(newService, service.getServiceData(), transaction); + } + transaction.commit(); + } + private void loadVnfData(String path) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); String content = readFileContent(path); GenericResourceApiServicedataServicedataVnfsVnf vnfData = objectMapper.readValue(content, GenericResourceApiServicedataServicedataVnfsVnf.class); - String svcInstanceId = "test-siid"; + String svcInstanceId = TEST_SVC_INSTANCE_ID; ConfigServices newService = new ConfigServices(svcInstanceId); configServicesRepository.save(newService); serviceDataHelper.saveVnf(svcInstanceId, vnfData, null); } + private void loadVnfData(String path, ServiceDataTransaction transaction) throws IOException { + ObjectMapper objectMapper = new ObjectMapper(); + String content = readFileContent(path); + GenericResourceApiServicedataServicedataVnfsVnf vnfData = objectMapper.readValue(content, GenericResourceApiServicedataServicedataVnfsVnf.class); + String svcInstanceId = TEST_SVC_INSTANCE_ID; + ConfigServices newService = new ConfigServices(svcInstanceId); + configServicesRepository.save(newService); + serviceDataHelper.saveVnf(svcInstanceId, vnfData, transaction); + if (transaction != null) { + transaction.commit(); + } + } + private void createBadVnfData(boolean useNullSvc, boolean useNullVnfs) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); ConfigServices newService = new ConfigServices(); diff --git a/ms/generic-resource-api/src/test/java/org/onap/sdnc/apps/ms/gra/controllers/OperationsApiControllerTest.java b/ms/generic-resource-api/src/test/java/org/onap/sdnc/apps/ms/gra/controllers/OperationsApiControllerTest.java index 6752d8c..0b09f1b 100644 --- a/ms/generic-resource-api/src/test/java/org/onap/sdnc/apps/ms/gra/controllers/OperationsApiControllerTest.java +++ b/ms/generic-resource-api/src/test/java/org/onap/sdnc/apps/ms/gra/controllers/OperationsApiControllerTest.java @@ -30,7 +30,9 @@ import org.springframework.transaction.annotation.Transactional; @AutoConfigureMockMvc @Transactional public class OperationsApiControllerTest { - + private final static String TEST_SVC_INSTANCE_ID = "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca"; + private final static String TEST_VNF_ID = "fae319cc-68d6-496f-be1e-a09e133c71d4"; + private final static String TEST_VF_MODULE_ID = "45841173-3729-4a1d-a811-a3bde399e22d"; private final static String PRELOAD_NETWORK_URL = "/operations/GENERIC-RESOURCE-API:preload-network-topology-operation/"; private final static String PRELOAD_VFMODULE_URL = "/operations/GENERIC-RESOURCE-API:preload-vf-module-topology-operation/"; private final static String SERVICE_TOPOLOGY_URL = "/operations/GENERIC-RESOURCE-API:service-topology-operation/"; @@ -212,7 +214,8 @@ public class OperationsApiControllerTest { operationalServicesRepository.deleteAll(); // Load services data - loadServicesData("src/test/resources/service1.json"); + loadServicesData("src/test/resources/service1-service.json"); + // Add invalid content String content = readFileContent("src/test/resources/preload1-rpc-vfmodule.json"); @@ -257,20 +260,12 @@ public class OperationsApiControllerTest { mvcResult = mvc.perform(MockMvcRequestBuilders.post(VF_MODULE_TOPOLOGY_URL).contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); - assertEquals(1, configServicesRepository.count()); - assertEquals(0, configNetworksRepository.count()); - assertEquals(1, configVnfsRepository.count()); - assertEquals(1, configVfModulesRepository.count()); // Delete content content = readFileContent("src/test/resources/vf-module-unassign-rpc.json"); mvcResult = mvc.perform(MockMvcRequestBuilders.post(VF_MODULE_TOPOLOGY_URL).contentType(MediaType.APPLICATION_JSON).content(content)) .andReturn(); assertEquals(200, mvcResult.getResponse().getStatus()); - assertEquals(1, configServicesRepository.count()); - assertEquals(0, configNetworksRepository.count()); - assertEquals(1, configVnfsRepository.count()); - assertEquals(0, configVfModulesRepository.count()); } diff --git a/ms/generic-resource-api/src/test/resources/network-assign-rpc.json b/ms/generic-resource-api/src/test/resources/network-assign-rpc.json index f822180..2398ef5 100644 --- a/ms/generic-resource-api/src/test/resources/network-assign-rpc.json +++ b/ms/generic-resource-api/src/test/resources/network-assign-rpc.json @@ -22,8 +22,8 @@ "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", "model-version": "1920" }, - "service-id": "service1", - "service-instance-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "subscriber-name": "test", "subscription-service-type": "test" }, diff --git a/ms/generic-resource-api/src/test/resources/service-assign-rpc.json b/ms/generic-resource-api/src/test/resources/service-assign-rpc.json index 31d3779..96f6b2b 100644 --- a/ms/generic-resource-api/src/test/resources/service-assign-rpc.json +++ b/ms/generic-resource-api/src/test/resources/service-assign-rpc.json @@ -22,13 +22,13 @@ "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", "model-version": "1920" }, - "service-id": "service1", - "service-instance-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "subscriber-name": "test", "subscription-service-type": "test" }, "service-request-input": { - "service-instance-name": "service-instance-1" + "service-instance-name": "zrdm61asmsf01_svc" } } } diff --git a/ms/generic-resource-api/src/test/resources/service1-service.json b/ms/generic-resource-api/src/test/resources/service1-service.json index 661b315..abf7da2 100644 --- a/ms/generic-resource-api/src/test/resources/service1-service.json +++ b/ms/generic-resource-api/src/test/resources/service1-service.json @@ -1,7 +1,7 @@ { "service": [ { - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "service-data": { "request-information": { "notification-url": "http://dev.null", @@ -12,10 +12,10 @@ "source": "curl" }, "service-request-input": { - "service-instance-name": "service-instance-1" + "service-instance-name": "zrdm61asmsf01_svc" }, "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-invariant-uuid": "12341234", "model-name": "vBNG_0202", @@ -25,13 +25,13 @@ }, "global-customer-id": "cust123", "subscription-service-type": "test", - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "subscriber-name": "test" }, "service-topology": { "service-topology-identifier": { - "service-instance-id": "service1", - "service-instance-name": "service-instance-1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-name": "zrdm61asmsf01_svc", "service-type": "test", "global-customer-id": "cust123" }, diff --git a/ms/generic-resource-api/src/test/resources/service1-service_vnf.json b/ms/generic-resource-api/src/test/resources/service1-service_vnf.json index db98c62..973b668 100644 --- a/ms/generic-resource-api/src/test/resources/service1-service_vnf.json +++ b/ms/generic-resource-api/src/test/resources/service1-service_vnf.json @@ -1,7 +1,7 @@ { "service": [ { - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "service-data": { "request-information": { "request-id": "f5554477-51c7-4f8e-9183-f8968f3f86bf", @@ -9,24 +9,24 @@ "source": "MSO" }, "service-request-input": { - "service-instance-name": "NGINX-INGRESS-1" + "service-instance-name": "zrdm61asmsf01_svc" }, "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "global-customer-id": "Demonstration", "subscription-service-type": "service-nginx-ingress-1" }, "service-topology": { "service-topology-identifier": { - "service-instance-id": "service1", - "service-instance-name": "NGINX-INGRESS-1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-name": "zrdm61asmsf01_svc", "service-type": "service-nginx-ingress-1", "global-customer-id": "Demonstration" }, @@ -57,14 +57,14 @@ "last-action": "CreateVnfInstance" }, "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "global-customer-id": "Demonstration", "subscription-service-type": "service-nginx-ingress-1" }, diff --git a/ms/generic-resource-api/src/test/resources/service1-servicedata.json b/ms/generic-resource-api/src/test/resources/service1-servicedata.json index 6fe0ef7..8521b76 100644 --- a/ms/generic-resource-api/src/test/resources/service1-servicedata.json +++ b/ms/generic-resource-api/src/test/resources/service1-servicedata.json @@ -5,24 +5,24 @@ "source": "MSO" }, "service-request-input": { - "service-instance-name": "NGINX-INGRESS-1" + "service-instance-name": "zrdm61asmsf01_svc" }, "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", - "global-customer-id": "Demonstration", - "subscription-service-type": "service-nginx-ingress-1" + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "global-customer-id": "cust123", + "subscription-service-type": "test" }, "service-topology": { "service-topology-identifier": { - "service-instance-id": "service1", - "service-instance-name": "NGINX-INGRESS-1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-name": "zrdm61asmsf01_svc", "service-type": "service-nginx-ingress-1", "global-customer-id": "Demonstration" }, @@ -60,8 +60,8 @@ "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", - "global-customer-id": "Demonstration", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "global-customer-id": "cust123", "subscription-service-type": "service-nginx-ingress-1" }, "sdnc-request-header": { @@ -122,16 +122,16 @@ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e", "vf-module-data": { "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", - "global-customer-id": "Demonstration", - "subscription-service-type": "service-nginx-ingress-1" + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "global-customer-id": "cust123", + "subscription-service-type": "test" }, "vf-module-topology": { "onap-model-information": { diff --git a/ms/generic-resource-api/src/test/resources/service1-serviceitem.json b/ms/generic-resource-api/src/test/resources/service1-serviceitem.json index c950377..aad2096 100644 --- a/ms/generic-resource-api/src/test/resources/service1-serviceitem.json +++ b/ms/generic-resource-api/src/test/resources/service1-serviceitem.json @@ -7,26 +7,26 @@ "source": "MSO" }, "service-request-input": { - "service-instance-name": "NGINX-INGRESS-1" + "service-instance-name": "zrdm61asmsf01_svc" }, "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", - "global-customer-id": "Demonstration", - "subscription-service-type": "service-nginx-ingress-1" + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "global-customer-id": "cust123", + "subscription-service-type": "test" }, "service-topology": { "service-topology-identifier": { - "service-instance-id": "service1", - "service-instance-name": "NGINX-INGRESS-1", - "service-type": "service-nginx-ingress-1", - "global-customer-id": "Demonstration" + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-name": "zrdm61asmsf01_svc", + "service-type": "test", + "global-customer-id": "cust123" }, "onap-model-information": { "model-name": "service-nginx-ingress-1", @@ -55,16 +55,16 @@ "last-action": "CreateVnfInstance" }, "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", - "global-customer-id": "Demonstration", - "subscription-service-type": "service-nginx-ingress-1" + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "global-customer-id": "cust123", + "subscription-service-type": "test" }, "sdnc-request-header": { "svc-action": "activate", @@ -124,16 +124,16 @@ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e", "vf-module-data": { "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", - "global-customer-id": "Demonstration", - "subscription-service-type": "service-nginx-ingress-1" + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "global-customer-id": "cust123", + "subscription-service-type": "test" }, "vf-module-topology": { "onap-model-information": { diff --git a/ms/generic-resource-api/src/test/resources/service1-vfmodule-item.json b/ms/generic-resource-api/src/test/resources/service1-vfmodule-item.json index 10f707f..67e5b3c 100644 --- a/ms/generic-resource-api/src/test/resources/service1-vfmodule-item.json +++ b/ms/generic-resource-api/src/test/resources/service1-vfmodule-item.json @@ -1,422 +1,79 @@ { "vf-module-data": { + "vf-module-level-oper-status": { + "order-status": "PendingCreate", + "last-rpc-action": "assign" + }, "request-information": { - "notification-url": "string", - "order-number": "string", - "order-version": "string", - "request-action": "CreateNetworkInstance", - "request-id": "string", - "source": "string" + "request-action": "CreateVfModuleInstance", + "source": "simulator", + "request-id": "c594915b-cd49-4276-8e6b-536caa5f5285" }, "sdnc-request-header": { - "svc-action": "assign", - "svc-notification-url": "string", - "svc-request-id": "string" + "svc-request-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "svc-action": "assign" }, "service-information": { - "global-customer-id": "string", "onap-model-information": { - "model-customization-uuid": "string", - "model-invariant-uuid": "string", - "model-name": "string", - "model-uuid": "string", - "model-version": "string" + "model-name": "vcpesvc_vbng_0412a", + "model-version": "3.0", + "model-uuid": "12eb33fa-b221-4d87-939c-d808b5799a7c", + "model-invariant-uuid": "ead151e2-e18a-44fc-b6ac-3ae3d819dcd6" }, - "service-id": "string", - "service-instance-id": "string", - "subscriber-name": "string", - "subscription-service-type": "string" + "subscription-service-type": "VIRTUAL USP", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3cac", + "global-customer-id": "cust123", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca" }, "vf-module-information": { - "from-preload": true, "onap-model-information": { - "model-customization-uuid": "string", - "model-invariant-uuid": "string", - "model-name": "string", - "model-uuid": "string", - "model-version": "string" + "model-name": "SmsfNc2578..smsf_base..module-0", + "model-version": "3", + "model-customization-uuid": "59ffe5ba-cfaf-4e83-a2f3-159522dcebac", + "model-uuid": "513cc9fc-fff5-4c46-9728-393437536c4d", + "model-invariant-uuid": "7ca7567c-f42c-4ed8-bcde-f8971b92d90a" }, - "vf-module-id": "vf-1", - "vf-module-type": "string" - }, - "vf-module-level-oper-status": { - "create-timestamp": "string", - "last-action": "CreateNetworkInstance", - "last-order-status": "Active", - "last-rpc-action": "assign", - "last-svc-request-id": "string", - "modify-timestamp": "string", - "order-status": "Active" + "vf-module-id": "45841173-3729-4a1d-a811-a3bde399e22d", + "from-preload": true, + "vf-module-type": "SmsfNc2578..smsf_base..module-0" }, "vf-module-request-input": { - "aic-clli": "string", - "aic-cloud-region": "string", - "cloud-owner": "string", - "request-version": "string", - "tenant": "string", - "vf-module-input-parameters": { - "param": [ - { - "name": "string", - "resource-resolution-data": { - "capability-name": "string", - "payload": "string", - "resource-key": [ - { - "name": "string", - "value": "string" - } - ], - "status": "string" - }, - "value": "string" - } - ] + "aic-cloud-region": "rdm61a", + "cloud-owner": "att-nc", + "tenant": "4714fe06cc24414c914c51ca0aa1bf84", + "vf-module-name": "vfmodule1", + "vf-module-input-parameters": {} + }, + "vnf-information": { + "onap-model-information": { + "model-name": "vcpevsp_vgmux_0412 ", + "model-version": "1.0", + "model-customization-uuid": "5724fcc8-2ae2-45ce-8d44-795092b85dee", + "model-uuid": "ba3b8981-9a9c-4945-92aa-486234ec321f", + "model-invariant-uuid": "b3dc6465-942c-42af-8464-2bf85b6e504b" }, - "vf-module-name": "vf-name-1" + "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4", + "vnf-name": "zrdm61asmsf01", + "vnf-type": "SMSF-NC2-578-SVC/SMSF-NC2-578" }, "vf-module-topology": { - "aic-clli": "string", - "aic-cloud-region": "string", - "cloud-owner": "string", "onap-model-information": { - "model-customization-uuid": "string", - "model-invariant-uuid": "string", - "model-name": "string", - "model-uuid": "string", - "model-version": "string" - }, - "sdnc-generated-cloud-resources": true, - "tenant": "string", - "vf-module-assignments": { - "dhcp-subnet-assignments": { - "dhcp-subnet-assignment": [ - { - "ip-version": "string", - "network-role": "string", - "neutron-subnet-id": "string" - } - ] - }, - "vf-module-status": "string", - "vlan-vnfc-instance-groups": { - "vlan-vnfc-instance-group": [ - { - "instance-group-function": "string", - "instance-group-id": "string", - "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4", - "vnfcs": { - "vnfc": [ - { - "vnfc-name": "string", - "vnic-groups": { - "vnic-group": [ - { - "network-instance-group-function": "string", - "vlan-assignment-policy-name": "string", - "vlan-common-ip-addresses": { - "ip-addresses": { - "ipv4-address": "string", - "ipv6-address": "string", - "vipv4-address": "string", - "vipv6-address": "string" - } - }, - "vlan-tag-index-next": 0, - "vlan-vnics": { - "vlan-vnic": [ - { - "vnic-port-id": "string", - "vnic-sub-interfaces": { - "sub-interface-network-data": [ - { - "floating-ips": { - "floating-ip-v4": [ - "string" - ], - "floating-ip-v6": [ - "string" - ] - }, - "network-id": "string", - "network-information-items": { - "network-information-item": [ - { - "ip-count": 0, - "ip-version": "string", - "network-ips": { - "network-ip": [ - "string" - ] - }, - "use-dhcp": "Y" - } - ] - }, - "network-name": 0, - "network-role": "string", - "network-role-tag": "string", - "neutron-network-id": "string", - "vlan-tag-id": 0 - } - ] - } - } - ] - }, - "vnic-interface-role": "string" - } - ] - } - } - ] - } - } - ] - }, - "vms": { - "vm": [ - { - "nfc-naming-code": "string", - "onap-model-information": { - "model-customization-uuid": "string", - "model-invariant-uuid": "string", - "model-name": "string", - "model-uuid": "string", - "model-version": "string" - }, - "vm-count": 0, - "vm-names": { - "vm-name": [ - "string" - ], - "vnfc-names": [ - { - "vnfc-name": "string", - "vnfc-networks": { - "vnfc-network-data": [ - { - "connection-point": { - "connection-point-id": "string", - "port-id": "string", - "vlan-data": [ - { - "vlan-role": "string", - "vlan-tag-description": "string", - "vlan-tag-id": "string", - "vlan-uuid": "string" - } - ] - }, - "vnfc-network-role": "string", - "vnfc-ports": { - "vnfc-port": [ - { - "common-sub-interface-role": "string", - "vnfc-port-id": "string", - "vnic-sub-interfaces": { - "sub-interface-network-data": [ - { - "floating-ips": { - "floating-ip-v4": [ - "string" - ], - "floating-ip-v6": [ - "string" - ] - }, - "network-id": "string", - "network-information-items": { - "network-information-item": [ - { - "ip-count": 0, - "ip-version": "string", - "network-ips": { - "network-ip": [ - "string" - ] - }, - "use-dhcp": "Y" - } - ] - }, - "network-name": 0, - "network-role": "string", - "network-role-tag": "string", - "neutron-network-id": "string", - "vlan-tag-id": 0 - } - ] - } - } - ] - }, - "vnfc-subnet": [ - { - "vnfc-ip-assignments": [ - { - "vnfc-address-family": "ipv4", - "vnfc-subnet-dhcp": "Y", - "vnfc-subnet-ip": [ - { - "ip-type": "FIXED", - "vnfc-client-key": "string", - "vnfc-ip-address": "string" - } - ], - "vnfc-subnet-ip-count": 0 - } - ], - "vnfc-subnet-role": "string" - } - ], - "vnfc-type": "string" - } - ] - } - } - ] - }, - "vm-networks": { - "vm-network": [ - { - "floating-ips": { - "floating-ip-v4": [ - "string" - ], - "floating-ip-v6": [ - "string" - ] - }, - "interface-route-prefixes": { - "interface-route-prefix": [ - "string" - ] - }, - "is-trunked": true, - "mac-addresses": { - "mac-address": [ - "string" - ] - }, - "network-information-items": { - "network-information-item": [ - { - "ip-count": 0, - "ip-version": "string", - "network-ips": { - "network-ip": [ - "string" - ] - }, - "use-dhcp": "Y" - } - ] - }, - "network-role": "string", - "network-role-tag": "string", - "related-networks": { - "related-network": [ - { - "network-id": "string", - "network-role": "string", - "vlan-tags": { - "is-private": true, - "lower-tag-id": 0, - "upper-tag-id": 0, - "vlan-interface": "string" - } - } - ] - }, - "segmentation-id": "string", - "sriov-parameters": { - "application-tags": { - "c-tags": { - "c-tag": [ - "string" - ], - "ctag": [ - "string" - ] - }, - "ctags": { - "c-tag": [ - "string" - ], - "ctag": [ - "string" - ] - }, - "s-tags": { - "s-tag": [ - "string" - ], - "stag": [ - "string" - ] - }, - "stags": { - "s-tag": [ - "string" - ], - "stag": [ - "string" - ] - } - }, - "heat-vlan-filters": { - "heat-vlan-filter": [ - "string" - ] - } - } - } - ] - }, - "vm-type": "string", - "vm-type-tag": "string" - } - ] - } - }, - "vf-module-parameters": { - "param": [ - { - "name": "string", - "resource-resolution-data": { - "capability-name": "string", - "payload": "string", - "resource-key": [ - { - "name": "string", - "value": "string" - } - ], - "status": "string" - }, - "value": "string" - } - ] + "model-name": "SmsfNc2578..smsf_base..module-0", + "model-version": "3", + "model-customization-uuid": "59ffe5ba-cfaf-4e83-a2f3-159522dcebac", + "model-uuid": "513cc9fc-fff5-4c46-9728-393437536c4d", + "model-invariant-uuid": "7ca7567c-f42c-4ed8-bcde-f8971b92d90a" }, + "aic-cloud-region": "rdm61a", + "tenant": "4714fe06cc24414c914c51ca0aa1bf84", "vf-module-topology-identifier": { - "vf-module-id": "vf-1", - "vf-module-name": "vf-name-1", - "vf-module-type": "string" - } - }, - "vnf-information": { - "onap-model-information": { - "model-customization-uuid": "string", - "model-invariant-uuid": "string", - "model-name": "string", - "model-uuid": "string", - "model-version": "string" + "vf-module-name": "vfmodule1", + "vf-module-id": "45841173-3729-4a1d-a811-a3bde399e22d", + "vf-module-type": "SmsfNc2578..smsf_base..module-0" }, - "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4", - "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2", - "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0" + "vf-module-parameters": {}, + "sdnc-generated-cloud-resources": true } }, - "vf-module-id": "vf-1" + "vf-module-id": "45841173-3729-4a1d-a811-a3bde399e22d" }
\ No newline at end of file diff --git a/ms/generic-resource-api/src/test/resources/service1.json b/ms/generic-resource-api/src/test/resources/service1.json index f280ae6..00b9b4b 100644 --- a/ms/generic-resource-api/src/test/resources/service1.json +++ b/ms/generic-resource-api/src/test/resources/service1.json @@ -1,7 +1,7 @@ { "service": [ { - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "service-data": { "request-information": { "request-id": "f5554477-51c7-4f8e-9183-f8968f3f86bf", @@ -9,24 +9,24 @@ "source": "MSO" }, "service-request-input": { - "service-instance-name": "NGINX-INGRESS-1" + "service-instance-name": "zrdm61asmsf01_svc" }, "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "global-customer-id": "Demonstration", "subscription-service-type": "service-nginx-ingress-1" }, "service-topology": { "service-topology-identifier": { - "service-instance-id": "service1", - "service-instance-name": "NGINX-INGRESS-1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-name": "zrdm61asmsf01_svc", "service-type": "service-nginx-ingress-1", "global-customer-id": "Demonstration" }, @@ -57,14 +57,14 @@ "last-action": "CreateVnfInstance" }, "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "global-customer-id": "Demonstration", "subscription-service-type": "service-nginx-ingress-1" }, @@ -126,14 +126,14 @@ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e", "vf-module-data": { "service-information": { - "service-id": "service1", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "onap-model-information": { "model-name": "service-nginx-ingress-1", "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e", "model-version": "1.0", "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df" }, - "service-instance-id": "service1", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "global-customer-id": "Demonstration", "subscription-service-type": "service-nginx-ingress-1" }, diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-assign-from-preload.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-assign-from-preload.xml index b0eb3f6..a8251fc 100755 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-assign-from-preload.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-assign-from-preload.xml @@ -1,6 +1,6 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='network-topology-operation-assign-from-preload' mode='sync'>
<block atomic="true">
<switch test="`$tmp.nidx`">
@@ -77,18 +77,6 @@ <set>
<parameter name="tmp.error-message" value=""/>
</set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-name = $tmp.network-instance-name"
- local-only="false"
- pfx="aai.l3-network">
- <outcome value='failure'>
- <return status='failure'>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="'Error searching for l3-network with network-name =' + $tmp.network-instance-name + 'from AnAI'" />
- </return>
- </outcome>
- </get-resource>
<set>
<parameter name='tmp.l3-network.network-name' value="`$tmp.network-instance-name`" />
<parameter name='tmp.l3-network.network-type' value="`$preload-data.preload-network-topology-information.network-topology-identifier-structure.network-type`" />
@@ -173,9 +161,6 @@ <parameter name="ctxVariable" value="tmp.return.generate.gateway-address" />
<outcome value='failure'>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -195,9 +180,6 @@ <call module="VNF-API" rpc="generate-subnets-subnet-id" mode="sync" >
<outcome value='failure'>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -230,9 +212,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving subnet in AnAI where subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -247,9 +226,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving subnet in AnAI where subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -273,9 +249,6 @@ <call module="GENERIC-RESOURCE-API" rpc="generate-host-routes-host-route-id" mode="sync" >
<outcome value='failure'>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -299,9 +272,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving host-route in AnAI where host-route-id = ' + $tmp.return.generate-host-routes-host-route-id.uuid`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -316,9 +286,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving host-route in AnAI where host-route-id = ' + $tmp.return.generate-host-routes-host-route-id.uuid`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -331,59 +298,6 @@ </for>
</block>
</for>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network:relationship-list"
- key="l3-network.network-id = $tmp.l3-network.network-id"
- force="true"
- local-only="false">
- <!-- create relationship-list -->
- <parameter name="relationship-list.relationship[0].related-to" value="tenant" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="tenant.tenant-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.network-request-input.tenant`" />
- <parameter name="relationship-list.relationship[1].related-to" value="cloud-region" />
- <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
- <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
- <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
- <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />
- <outcome value='failure'>
- <block atomic='true'>
- <set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>
- </set>
- <block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
- <return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic='true'>
- <set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>
- </set>
- <block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
- <return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
- </return>
- </block>
- </block>
- </outcome>
- </save>
<switch test="`$preload-data.preload-network-topology-information.vpn-bindings_length`">
<outcome value=''>
<set>
@@ -420,9 +334,6 @@ <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where vpn-binding-id = ' + $tmp.vpn-binding-id + '.'`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -439,9 +350,6 @@ <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where vpn-binding-id = ' + $preload-data.preload-network-topology-information.vpn-bindings[$i].vpn-binding-id`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -456,9 +364,6 @@ <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where vpn-binding-id = ' + $preload-data.preload-network-topology-information.vpn-bindings[$i].vpn-binding-id`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -482,9 +387,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving vpn-binding relationship for l3-network in AnAI where vpn-id = ' + $tmp.vpn-binding-id`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -499,9 +401,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving vpn-binding relationship for l3-network in AnAI where vpn-id = ' + $tmp.vpn-binding-id`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -542,9 +441,6 @@ <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -559,9 +455,6 @@ <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -578,9 +471,6 @@ <parameter name="tmp.error-message" value="`'Failed to query newtork-policy from AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn + '. It is likely that the same network-policy-fqdn points to more than one network-policy objects in AnAI.'`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -602,9 +492,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving network-policy relationship for l3-network in AnAI where network-policy-id = ' + $tmp.AnAI.network-policy.network-policy-id`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -619,9 +506,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving network-policy relationship for l3-network in AnAI where network-policy-id = ' + $tmp.AnAI.network-policy.network-policy-id`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -658,9 +542,6 @@ <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -675,9 +556,6 @@ <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -694,9 +572,6 @@ <parameter name="tmp.error-message" value="`'Failed to query route-table-reference from AnAI where route-table-reference-fqdn = ' + $preload-data.preload-network-topology-information.route-table-reference[$i].route-table-reference-fqdn + '. It is likely that the same route-table-reference-fqdn points to more than one route-table-reference objects in AnAI.'`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -718,9 +593,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving route-table-reference relationship for l3-network in AnAI where route-table-reference-id = ' + $tmp.AnAI.route-table-reference.route-table-reference-id`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -735,9 +607,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while saving route-table-reference relationship for l3-network in AnAI where route-table-reference-id = ' + $tmp.AnAI.route-table-reference.route-table-reference-id`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -766,9 +635,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network is-bound-to-vpn in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -783,9 +649,6 @@ <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network is-bound-to-vpn in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/>
</set>
<block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
<return status='failure'>
<parameter name='error-code' value='500'/>
<parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
@@ -796,51 +659,6 @@ </update>
</outcome>
</switch>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network:relationship-list"
- key="l3-network.network-id = $tmp.l3-network.network-id" >
- <parameter name="relationship-list.relationship[0].related-to" value="service-instance" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="customer.global-customer-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.service-information.global-customer-id`" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="service-subscription.service-type" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$service-data.service-information.subscription-service-type`" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="service-instance.service-instance-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$service-data.service-information.service-instance-id`" />
- <outcome value='failure'>
- <block atomic='true'>
- <set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving service-instance relationship for l3-network in AnAI where service-instance-id = ' + $network-topology-operation-input.service-information.service-instance-id`"/>
- </set>
- <block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
- <return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic='true'>
- <set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving service-instance relationship for l3-network in AnAI where service-instance-id = ' + $network-topology-operation-input.service-information.service-instance-id`"/>
- </set>
- <block atomic='true'>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>
- <return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>
- </return>
- </block>
- </block>
- </outcome>
- </save>
<set>
<parameter name='network-topology.network-topology-identifier-structure.' value='`$tmp.l3-network.`' />
<parameter name='network-topology.tenant' value='`$network-topology-operation-input.network-request-input.tenant`' />
@@ -872,4 +690,4 @@ <return status='success' ></return>
</block>
</method>
-</service-logic>
+</service-logic>
\ No newline at end of file diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-assign.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-assign.xml index 1f6f5d8..d4cdd89 100755 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-assign.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-assign.xml @@ -1,36 +1,19 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='network-topology-operation-assign' mode='sync'>
<block atomic="true">
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
<parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
<parameter name='contextPrefix' value='prop' />
</execute>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="tenant"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
- cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND
- tenant.tenant-id = $network-topology-operation-input.network-request-input.tenant"
- pfx='aai.tenant' local-only='false' >
- <outcome value='success'>
- <block atomic="true"></block>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Tenant not found in AAI" />
- </return>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Tenant not found in AAI" />
- </return>
+ <switch test="`$network-topology-operation-input.network-request-input.cloud-owner != ''`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$network-topology-operation-input.network-request-input.cloud-owner`' />
+ </set>
</outcome>
- </get-resource>
+ </switch>
<switch test='`$network-topology-operation-input.network-information.network-id`'>
<outcome value=''>
<call module='GENERIC-RESOURCE-API' rpc='generate-l3network-network-id' mode='sync' ></call>
diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-unassign.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-unassign.xml index 0ae9fa7..1b8a7d2 100755 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-unassign.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_network-topology-operation-unassign.xml @@ -1,40 +1,10 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='network-topology-operation-unassign' mode='sync'>
<block atomic="true">
<switch test='`$service-data.networks.network[$nidx].network-data.network-information.from-preload`'>
- <outcome value='true'>
- <block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $network-topology-operation-input.network-information.network-id"
- local-only="false"
- pfx="aai.l3-network">
- <outcome value='success'>
- <block atomic="true">
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $network-topology-operation-input.network-information.network-id">
- <outcome value='failure'>
- <return status="failure">
- <parameter name="error-code" value="500"/>
- <parameter name="error-message" value="An error occured while deleting network from AAI" />
- </return>
- </outcome>
- </delete>
- </block>
- </outcome>
- <outcome value='not-found'></outcome>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $network-topology-operation-input.network-request-information.network-id + 'from AnAI'" />
- </return>
- </outcome>
- </get-resource>
- </block>
- </outcome>
+ <outcome value='true'></outcome>
<outcome value='Other'>
<switch test='`$network-data.network-topology.network-topology-identifier-structure.network-instance-group-id`'>
<outcome value=''>
@@ -368,16 +338,6 @@ </block>
</outcome>
</switch>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $network-topology-operation-input.network-information.network-id">
- <outcome value='failure'>
- <return status="failure">
- <parameter name="error-code" value="500"/>
- <parameter name="error-message" value="An error occured while deleting network from AAI" />
- </return>
- </outcome>
- </delete>
<set>
<parameter name='naming-policy-generate-name-input.context-id' value='`$network-topology-operation-input.network-information.network-id`' />
<parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />
diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_service-topology-operation-assign.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_service-topology-operation-assign.xml index 7983036..300c1a9 100755 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_service-topology-operation-assign.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_service-topology-operation-assign.xml @@ -1,6 +1,6 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='service-topology-operation-assign' mode='sync'>
<block atomic="true">
<switch test='`$service-topology-operation-input.request-information.request-action`'>
diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-activate.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-activate.xml index d7f4ddd..e5f823a 100755 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-activate.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-activate.xml @@ -1,6 +1,6 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='vf-module-topology-operation-activate' mode='sync'>
<block atomic="true">
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
@@ -104,27 +104,6 @@ </call>
</outcome>
</switch>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="orchestration-status" value="Active" />
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module in AAI" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- </return>
- </outcome>
- </update>
<for silentFailure='true' index='vm-type-index' start='0'
end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >
<for silentFailure='true' index='vnfc-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml index 5260147..19ee62a 100644 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml @@ -1,6 +1,6 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='vf-module-topology-operation-assign-sync' mode='sync'>
<block atomic="true">
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
@@ -155,53 +155,6 @@ <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
<parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
</set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cloud-region"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
- cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
- pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </return>
- </outcome>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving cloud region from AAI" />
- </return>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
- value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
- </return>
- </outcome>
- </switch>
<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
<outcome value=''>
<set>
@@ -275,7 +228,7 @@ </outcome>
<outcome value='Other'>
<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
+ <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module/'`" />
<parameter name='restapiUser' value='`$prop.controller.user`' />
<parameter name='restapiPassword' value='`$prop.controller.pwd`' />
<parameter name='format' value='json' />
@@ -649,38 +602,6 @@ + $vf-module-topology-operation-input.service-information.service-instance-id
+ '/service-data/service-topology/'`"/>
</set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="selflink" value="`$vf-module-object-path`" />
- <parameter name="automated-assignment" value="`$automated-assignment`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- </return>
- </block>
- </outcome>
- </update>
<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
<block atomic="true">
<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
@@ -1408,7 +1329,6 @@ key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
value='$vf-module-topology-operation-input.vf-module-request-input.' />
</set>
- <call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' ></call>
<set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
value='PendingCreate' />
@@ -1430,4 +1350,4 @@ key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id </switch>
</block>
</method>
-</service-logic>
+</service-logic>
\ No newline at end of file diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-deactivate.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-deactivate.xml index 788f0a9..4f31a9f 100755 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-deactivate.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vf-module-topology-operation-deactivate.xml @@ -1,6 +1,6 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='vf-module-topology-operation-deactivate' mode='sync'>
<block atomic="true">
<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
@@ -128,27 +128,6 @@ <set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-topology.vf-module-assignments.vf-module-status' value='PendingDelete' />
</set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="orchestration-status" value="PendingDelete" />
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module in AAI" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- </return>
- </outcome>
- </update>
<set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
value='$vf-module-topology-operation-input.sdnc-request-header.' />
diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vnf-topology-operation-activate.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vnf-topology-operation-activate.xml index 6d5aacd..78f1abe 100755 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vnf-topology-operation-activate.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vnf-topology-operation-activate.xml @@ -1,6 +1,6 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='vnf-topology-operation-activate' mode='sync'>
<block atomic="true">
<switch test='`$vnf-topology-operation-input.request-information.request-action`'>
@@ -42,26 +42,6 @@ </return>
</outcome>
</switch>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="prov-status" value="NVTPROV" />
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </return>
- </outcome>
- </update>
<set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
diff --git a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml index 2202dac..2ad5a46 100644 --- a/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml +++ b/ms/generic-resource-api/src/test/resources/svclogic/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml @@ -1,6 +1,6 @@ <service-logic
xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='aai-disabled'>
<method rpc='vnf-topology-operation-assign-sync' mode='sync'>
<block atomic="true">
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
@@ -109,102 +109,6 @@ <set>
<parameter name='tmp.vnf-network-collection_length' value='0' />
</set>
- <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
- <block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="instance-group"
- key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"
- pfx='aai.instance-group' local-only='false' >
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find instance group id ' +
- $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- + ' in AAI'`" />
- </return>
- </outcome>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving instance-group from AAI" />
- </return>
- </outcome>
- </get-resource>
- <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
- <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
- <outcome value='collection'>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="collection"
- key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
- pfx='aai.collection' local-only='false' >
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find collection ' +
- $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
- + ' in AAI'`" />
- </return>
- </outcome>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="System error retrieving collection from AAI" />
- </return>
- </outcome>
- <outcome value='success'>
- <block atomic="true">
- <set>
- <parameter name='found-network-instance-group' value='false' />
- </set>
- <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
- <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='found-network-instance-group' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-network-instance-group`'>
- <outcome value='false'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Could not find network instance group ' +
- $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- + ' in MD-SAL'`" />
- </return>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
- value='`$aai.instance-group.instance-group-function`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
- value='`$aai.instance-group.id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
- value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
- value='`$aai.collection.collection-customization-id`' />
- </set>
- <set>
- <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
- </set>
- </block>
- </outcome>
- </get-resource>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
<set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
value='`$tmp.vnf-network-collection_length`' />
@@ -378,84 +282,6 @@ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
</set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cloud-region"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
- cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND
- depth='all'"
- pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving cloud region from AAI" />
- </return>
- </block>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
- value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
- <outcome value=''>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- </return>
- </block>
- </outcome>
- </switch>
<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
pfx='db.vf-network-role-mapping[]'>
@@ -980,141 +806,12 @@ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />
</set>
- <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
- <outcome value=''>
- <switch test='`$db.vf-model.avail-zone-max-count > 0`'>
- <outcome value='true'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
- + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- </return>
- </block>
- </outcome>
- <outcome value='false'>
- <set>
- <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </switch>
- <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
- <block atomic="true">
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
- value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf:relationship-list"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </return>
- </block>
- </outcome>
- </save>
- </block>
- </for>
<set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
value='`$db.vf-model.avail-zone-max-count`' />
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
value='`$aai.cloud-region.availability-zones.availability-zone_length`' />
</set>
- <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf:relationship-list"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </return>
- </block>
- </outcome>
- </save>
- </block>
- </for>
<set>
<parameter name='vnf-object-path'
value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
@@ -1127,54 +824,6 @@ + $vnf-topology-operation-input.service-information.service-instance-id
+ '/service-data/service-topology/'`"/>
</set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
- <parameter name="prov-status" value="PREPROV" />
- <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
- <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
- <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="in-maint" value="true" />
- <parameter name="selflink" value="`$vnf-object-path`" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </return>
- </block>
- </outcome>
- </update>
<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
<block atomic="true">
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
diff --git a/ms/generic-resource-api/src/test/resources/svclogic/graph.versions b/ms/generic-resource-api/src/test/resources/svclogic/graph.versions index ba54f84..efe46f0 100755 --- a/ms/generic-resource-api/src/test/resources/svclogic/graph.versions +++ b/ms/generic-resource-api/src/test/resources/svclogic/graph.versions @@ -6,6 +6,18 @@ GENERIC-RESOURCE-API api-contrail-route-topology-operation-deactivate ${project. GENERIC-RESOURCE-API api-contrail-route-topology-operation-delete ${project.version} sync GENERIC-RESOURCE-API assign-vlan-tags ${project.version} sync GENERIC-RESOURCE-API auto-ip-assignment ${project.version} sync +GENERIC-RESOURCE-API bbs-access-connectivity-network-topology-operation-create-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-access-connectivity-network-topology-operation-delete-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-access-connectivity-vnf-topology-operation-create-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-access-connectivity-vnf-topology-operation-delete-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-internet-profile-network-topology-operation-change-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-internet-profile-network-topology-operation-common-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-internet-profile-network-topology-operation-create-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-internet-profile-network-topology-operation-delete-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-internet-profile-vnf-topology-operation-change-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-internet-profile-vnf-topology-operation-common-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-internet-profile-vnf-topology-operation-create-huawei ${project.version} sync +GENERIC-RESOURCE-API bbs-internet-profile-vnf-topology-operation-delete-huawei ${project.version} sync GENERIC-RESOURCE-API brg-topology-operation-activate ${project.version} sync GENERIC-RESOURCE-API brg-topology-operation-assign ${project.version} sync GENERIC-RESOURCE-API brg-topology-operation-create ${project.version} sync @@ -29,13 +41,11 @@ GENERIC-RESOURCE-API eipam-allocate-generic-subnet ${project.version} sync GENERIC-RESOURCE-API eipam-allocate-network-role-subnet ${project.version} sync GENERIC-RESOURCE-API eipam-create-generic-pool ${project.version} sync GENERIC-RESOURCE-API eipam-create-network-role-pool ${project.version} sync -GENERIC-RESOURCE-API generate-allottedresource-id ${project.version} sync GENERIC-RESOURCE-API generate-FQPN ${project.version} sync +GENERIC-RESOURCE-API generate-allottedresource-id ${project.version} sync GENERIC-RESOURCE-API generate-host-routes-host-route-id ${project.version} sync GENERIC-RESOURCE-API generate-l3network-network-id ${project.version} sync GENERIC-RESOURCE-API generate-panorama-name ${project.version} sync -GENERIC-RESOURCE-API generate-cp-instance-id ${project.version} sync -GENERIC-RESOURCE-API vf-module-generate-heat-parameters ${project.version} sync GENERIC-RESOURCE-API generate-subnets-subnet-id ${project.version} sync GENERIC-RESOURCE-API generate-unique-name ${project.version} sync GENERIC-RESOURCE-API generate-vpn-binding-id ${project.version} sync @@ -47,6 +57,8 @@ GENERIC-RESOURCE-API generic-configuration-notification ${project.version} sync GENERIC-RESOURCE-API generic-configuration-topology-operation ${project.version} sync GENERIC-RESOURCE-API get-complex-resource-service-model ${project.version} sync GENERIC-RESOURCE-API get-data-from-policy ${project.version} sync +GENERIC-RESOURCE-API get-tunnelxconn-ar ${project.version} sync +GENERIC-RESOURCE-API get-vnf-api-parent-instance ${project.version} sync GENERIC-RESOURCE-API getpathsegment-composite-match-pair ${project.version} sync GENERIC-RESOURCE-API getpathsegment-create-composite-path ${project.version} sync GENERIC-RESOURCE-API getpathsegment-create-simple-path ${project.version} sync @@ -55,8 +67,6 @@ GENERIC-RESOURCE-API getpathsegment-populate-from-vnfapi ${project.version} sync GENERIC-RESOURCE-API getpathsegment-simple-match-pair ${project.version} sync GENERIC-RESOURCE-API getpathsegment-topology-operation-create ${project.version} sync GENERIC-RESOURCE-API getpathsegment-topology-operation ${project.version} sync -GENERIC-RESOURCE-API get-tunnelxconn-ar ${project.version} sync -GENERIC-RESOURCE-API get-vnf-api-parent-instance ${project.version} sync GENERIC-RESOURCE-API gw-vfmodule-update ${project.version} sync GENERIC-RESOURCE-API manage-ipaddr-assignment ${project.version} sync GENERIC-RESOURCE-API manage-vni-assignment ${project.version} sync @@ -64,15 +74,20 @@ GENERIC-RESOURCE-API naming-policy-generate-name ${project.version} sync GENERIC-RESOURCE-API naming-policy-generate-unique-name ${project.version} sync GENERIC-RESOURCE-API network-topology-operation-activate ${project.version} sync GENERIC-RESOURCE-API network-topology-operation-assign-automated ${project.version} sync -GENERIC-RESOURCE-API network-topology-operation-assign-from-preload ${project.version} sync +GENERIC-RESOURCE-API network-topology-operation-assign-from-preload aai-disabled sync GENERIC-RESOURCE-API network-topology-operation-assign-vlantagging-instancegroup ${project.version} sync -GENERIC-RESOURCE-API network-topology-operation-assign ${project.version} sync +GENERIC-RESOURCE-API network-topology-operation-assign aai-disabled sync GENERIC-RESOURCE-API network-topology-operation-changeassign ${project.version} sync GENERIC-RESOURCE-API network-topology-operation-create ${project.version} sync GENERIC-RESOURCE-API network-topology-operation-deactivate ${project.version} sync GENERIC-RESOURCE-API network-topology-operation-delete ${project.version} sync -GENERIC-RESOURCE-API network-topology-operation-unassign ${project.version} sync +GENERIC-RESOURCE-API network-topology-operation-unassign aai-disabled sync GENERIC-RESOURCE-API network-topology-operation ${project.version} sync +GENERIC-RESOURCE-API pnf-topology-operation-activate ${project.version} sync +GENERIC-RESOURCE-API pnf-topology-operation-assign ${project.version} sync +GENERIC-RESOURCE-API pnf-topology-operation-deactivate ${project.version} sync +GENERIC-RESOURCE-API pnf-topology-operation-unassign ${project.version} sync +GENERIC-RESOURCE-API pnf-topology-operation ${project.version} sync GENERIC-RESOURCE-API policy-manager-create-policy ${project.version} sync GENERIC-RESOURCE-API policy-manager-delete-policy ${project.version} sync GENERIC-RESOURCE-API policy-update-notify-operation ${project.version} sync @@ -107,58 +122,46 @@ GENERIC-RESOURCE-API security-zone-topology-operation-deactivate ${project.versi GENERIC-RESOURCE-API security-zone-topology-operation-delete ${project.version} sync GENERIC-RESOURCE-API security-zone-topology-operation-unassign ${project.version} sync GENERIC-RESOURCE-API security-zone-topology-operation ${project.version} sync +GENERIC-RESOURCE-API self-serve-aai-pnf-put ${project.version} sync GENERIC-RESOURCE-API self-serve-aai-vf-module-put ${project.version} sync GENERIC-RESOURCE-API self-serve-aai-vnf-put ${project.version} sync -GENERIC-RESOURCE-API self-serve-aai-pnf-put ${project.version} sync GENERIC-RESOURCE-API self-serve-capability-param-resolution ${project.version} sync -GENERIC-RESOURCE-API self-serve-pnf-generate-name ${project.version} sync -GENERIC-RESOURCE-API self-serve-vnf-generate-name ${project.version} sync -GENERIC-RESOURCE-API self-serve-vf-module-generate-name ${project.version} sync -GENERIC-RESOURCE-API self-serve-generate-name ${project.version} sync GENERIC-RESOURCE-API self-serve-generate-name-changeassign ${project.version} sync -GENERIC-RESOURCE-API self-serve-vnf-generate-name-changeassign ${project.version} sync -GENERIC-RESOURCE-API self-serve-vf-module-generate-name-changeassign ${project.version} sync +GENERIC-RESOURCE-API self-serve-generate-name ${project.version} sync GENERIC-RESOURCE-API self-serve-mS-mac-address-assign ${project.version} sync GENERIC-RESOURCE-API self-serve-mS-vlan-tag-assign ${project.version} sync GENERIC-RESOURCE-API self-serve-netbox-ip-assign ${project.version} sync +GENERIC-RESOURCE-API self-serve-pnf-assign ${project.version} sync +GENERIC-RESOURCE-API self-serve-pnf-generate-name ${project.version} sync +GENERIC-RESOURCE-API self-serve-pnf-ra-assignment ${project.version} sync +GENERIC-RESOURCE-API self-serve-pnf-unassign ${project.version} sync +GENERIC-RESOURCE-API self-serve-process-vfmodule-mapping-ra-response ${project.version} sync +GENERIC-RESOURCE-API self-serve-process-vfmodule-template-ra-response ${project.version} sync +GENERIC-RESOURCE-API self-serve-process-vnf-mapping-ra-response ${project.version} sync +GENERIC-RESOURCE-API self-serve-process-vnf-template-ra-response ${project.version} sync GENERIC-RESOURCE-API self-serve-unresolved-composite-data ${project.version} sync GENERIC-RESOURCE-API self-serve-vf-module-assign ${project.version} sync +GENERIC-RESOURCE-API self-serve-vf-module-forking-logic ${project.version} sync +GENERIC-RESOURCE-API self-serve-vf-module-generate-name-changeassign ${project.version} sync +GENERIC-RESOURCE-API self-serve-vf-module-generate-name ${project.version} sync +GENERIC-RESOURCE-API self-serve-vf-module-mdsal-put ${project.version} sync GENERIC-RESOURCE-API self-serve-vf-module-unassign ${project.version} sync GENERIC-RESOURCE-API self-serve-vfmodule-changeassign ${project.version} sync GENERIC-RESOURCE-API self-serve-vfmodule-ra-assignment ${project.version} sync -GENERIC-RESOURCE-API self-serve-vf-module-forking-logic ${project.version} sync -GENERIC-RESOURCE-API self-serve-vf-module-mdsal-put ${project.version} sync -GENERIC-RESOURCE-API self-serve-process-vfmodule-mapping-ra-response ${project.version} sync -GENERIC-RESOURCE-API self-serve-process-vfmodule-template-ra-response ${project.version} sync -GENERIC-RESOURCE-API self-serve-vnf-mdsal-put ${project.version} sync GENERIC-RESOURCE-API self-serve-vnf-assign ${project.version} sync -GENERIC-RESOURCE-API self-serve-vnf-changeassign ${project.version} sync +GENERIC-RESOURCE-API self-serve-vnf-changeassign ${project.version} sync +GENERIC-RESOURCE-API self-serve-vnf-forking-logic ${project.version} sync +GENERIC-RESOURCE-API self-serve-vnf-generate-name-changeassign ${project.version} sync +GENERIC-RESOURCE-API self-serve-vnf-generate-name ${project.version} sync +GENERIC-RESOURCE-API self-serve-vnf-mdsal-put ${project.version} sync GENERIC-RESOURCE-API self-serve-vnf-ra-assignment ${project.version} sync GENERIC-RESOURCE-API self-serve-vnf-unassign ${project.version} sync -GENERIC-RESOURCE-API self-serve-vnf-forking-logic ${project.version} sync -GENERIC-RESOURCE-API self-serve-process-vnf-mapping-ra-response ${project.version} sync -GENERIC-RESOURCE-API self-serve-process-vnf-template-ra-response ${project.version} sync -GENERIC-RESOURCE-API self-serve-pnf-assign ${project.version} sync -GENERIC-RESOURCE-API self-serve-pnf-ra-assignment ${project.version} sync -GENERIC-RESOURCE-API self-serve-pnf-unassign ${project.version} sync -GENERIC-RESOURCE-API service-topology-operation-assign ${project.version} sync +GENERIC-RESOURCE-API send-so-response ${project.version} sync +GENERIC-RESOURCE-API service-topology-operation-assign aai-disabled sync GENERIC-RESOURCE-API service-topology-operation-changeassign ${project.version} sync GENERIC-RESOURCE-API service-topology-operation-deactivate ${project.version} sync GENERIC-RESOURCE-API service-topology-operation-delete ${project.version} sync GENERIC-RESOURCE-API service-topology-operation ${project.version} sync -GENERIC-RESOURCE-API site-vnf-topology-operation-activate ${project.version} sync -GENERIC-RESOURCE-API site-vnf-topology-operation-create ${project.version} sync -GENERIC-RESOURCE-API site-vnf-topology-operation-deactivate ${project.version} sync -GENERIC-RESOURCE-API site-vnf-topology-operation-delete ${project.version} sync -GENERIC-RESOURCE-API sotn-attachment-topology-operation-activate ${project.version} sync -GENERIC-RESOURCE-API sotn-attachment-topology-operation-create ${project.version} sync -GENERIC-RESOURCE-API sotn-attachment-topology-operation-deactivate ${project.version} sync -GENERIC-RESOURCE-API sotn-attachment-topology-operation-delete ${project.version} sync -GENERIC-RESOURCE-API sotn-get-saved-ar-param ${project.version} sync -GENERIC-RESOURCE-API sotn-network-topology-operation-activate ${project.version} sync -GENERIC-RESOURCE-API sotn-network-topology-operation-create ${project.version} sync -GENERIC-RESOURCE-API sotn-network-topology-operation-deactivate ${project.version} sync -GENERIC-RESOURCE-API sotn-network-topology-operation-delete ${project.version} sync GENERIC-RESOURCE-API tunnelxconn-topology-operation-activate ${project.version} sync GENERIC-RESOURCE-API tunnelxconn-topology-operation-assign ${project.version} sync GENERIC-RESOURCE-API tunnelxconn-topology-operation-create ${project.version} sync @@ -167,6 +170,8 @@ GENERIC-RESOURCE-API tunnelxconn-topology-operation-delete ${project.version} sy GENERIC-RESOURCE-API tunnelxconn-topology-operation-unassign ${project.version} sync GENERIC-RESOURCE-API tunnelxconn-topology-operation ${project.version} sync GENERIC-RESOURCE-API validate-api-contrail-route-input ${project.version} sync +GENERIC-RESOURCE-API validate-bbs-network-input-parameters ${project.version} sync +GENERIC-RESOURCE-API validate-bbs-vnf-input-parameters ${project.version} sync GENERIC-RESOURCE-API validate-brg-input ${project.version} sync GENERIC-RESOURCE-API validate-connection-attachment-input ${project.version} sync GENERIC-RESOURCE-API validate-contrail-route-input ${project.version} sync @@ -175,110 +180,42 @@ GENERIC-RESOURCE-API validate-getpathsegment-input ${project.version} sync GENERIC-RESOURCE-API validate-network-input-parameters ${project.version} sync GENERIC-RESOURCE-API validate-network-input ${project.version} sync GENERIC-RESOURCE-API validate-overlay-network-input-parameters ${project.version} sync +GENERIC-RESOURCE-API validate-pnf-input ${project.version} sync GENERIC-RESOURCE-API validate-security-zone-input ${project.version} sync GENERIC-RESOURCE-API validate-service-input ${project.version} sync -GENERIC-RESOURCE-API validate-sotn-network-input-parameters ${project.version} sync GENERIC-RESOURCE-API validate-tunnelxconn-input ${project.version} sync GENERIC-RESOURCE-API validate-vf-module-input ${project.version} sync GENERIC-RESOURCE-API validate-vnf-input ${project.version} sync -GENERIC-RESOURCE-API validate-pnf-input ${project.version} sync +GENERIC-RESOURCE-API vf-module-generate-heat-parameters ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-assign-rollback ${project.version} sync -GENERIC-RESOURCE-API vf-module-topology-operation-activate ${project.version} sync +GENERIC-RESOURCE-API vf-module-topology-operation-activate aai-disabled sync +GENERIC-RESOURCE-API vf-module-topology-operation-assign-async ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-operation-assign-no-preload ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-operation-assign-preload ${project.version} sync +GENERIC-RESOURCE-API vf-module-topology-operation-assign-sync aai-disabled sync GENERIC-RESOURCE-API vf-module-topology-operation-assign ${project.version} sync -GENERIC-RESOURCE-API vf-module-topology-operation-assign-async ${project.version} sync -GENERIC-RESOURCE-API vf-module-topology-operation-assign-sync ${project.version} sync +GENERIC-RESOURCE-API vf-module-topology-operation-async ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-operation-changeassign ${project.version} sync -GENERIC-RESOURCE-API vf-module-topology-operation-deactivate ${project.version} sync +GENERIC-RESOURCE-API vf-module-topology-operation-deactivate aai-disabled sync GENERIC-RESOURCE-API vf-module-topology-operation-unassign ${project.version} sync -GENERIC-RESOURCE-API vf-module-topology-operation-async ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-operation ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-vlan-tagging-activate ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-vlan-tagging-assign ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-vlan-tagging-deactivate ${project.version} sync GENERIC-RESOURCE-API vf-module-topology-vlan-tagging-ip-addresses ${project.version} sync GENERIC-RESOURCE-API vnf-get-resource-request ${project.version} sync -GENERIC-RESOURCE-API vnf-topology-operation-async ${project.version} sync -GENERIC-RESOURCE-API vnf-topology-operation-activate ${project.version} sync -GENERIC-RESOURCE-API vnf-topology-operation-assign ${project.version} sync +GENERIC-RESOURCE-API vnf-topology-operation-activate aai-disabled sync GENERIC-RESOURCE-API vnf-topology-operation-assign-async ${project.version} sync -GENERIC-RESOURCE-API vnf-topology-operation-assign-sync ${project.version} sync +GENERIC-RESOURCE-API vnf-topology-operation-assign-sync aai-disabled sync +GENERIC-RESOURCE-API vnf-topology-operation-assign ${project.version} sync +GENERIC-RESOURCE-API vnf-topology-operation-async ${project.version} sync GENERIC-RESOURCE-API vnf-topology-operation-changeassign ${project.version} sync GENERIC-RESOURCE-API vnf-topology-operation-deactivate ${project.version} sync GENERIC-RESOURCE-API vnf-topology-operation-unassign ${project.version} sync GENERIC-RESOURCE-API vnf-topology-operation ${project.version} sync -GENERIC-RESOURCE-API pnf-topology-operation-activate ${project.version} sync -GENERIC-RESOURCE-API pnf-topology-operation-assign ${project.version} sync -GENERIC-RESOURCE-API pnf-topology-operation-deactivate ${project.version} sync -GENERIC-RESOURCE-API pnf-topology-operation-unassign ${project.version} sync -GENERIC-RESOURCE-API pnf-topology-operation ${project.version} sync -SUBNET-API managed-network-notification ${project.version} sync -SUBNET-API subnet-allocated-notification ${project.version} sync -GENERIC-RESOURCE-API sdwan-network-topology-operation-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-network-topology-operation-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-network-topology-operation-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-network-topology-operation-delete ${project.version} sync -GENERIC-RESOURCE-API validate-sdwan-network-input-parameters ${project.version} sync -GENERIC-RESOURCE-API sdwan-get-tenant-auth ${project.version} sync -GENERIC-RESOURCE-API sdwan-attachment-topology-operation-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-attachment-topology-operation-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-attachment-topology-operation-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-attachment-topology-operation-delete ${project.version} sync -GENERIC-RESOURCE-API sdwan-get-device-param ${project.version} sync -GENERIC-RESOURCE-API sdwan-get-saved-ar-param ${project.version} sync -GENERIC-RESOURCE-API sdwan-get-wan-param ${project.version} sync -GENERIC-RESOURCE-API sdwan-vnf-topology-operation-device-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vnf-topology-operation-device-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-vnf-topology-operation-device-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vnf-topology-operation-device-delete ${project.version} sync -GENERIC-RESOURCE-API sdwan-vnf-topology-operation-wanport-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vnf-topology-operation-wanport-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-vnf-topology-operation-wanport-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vnf-topology-operation-wanport-delete ${project.version} sync -GENERIC-RESOURCE-API sdwan-wanport-vnf-topology-operation-underlay ${project.version} sync -GENERIC-RESOURCE-API wan-connection-topology-operation-create ${project.version} sync GENERIC-RESOURCE-API wan-connection-topology-operation-activate ${project.version} sync +GENERIC-RESOURCE-API wan-connection-topology-operation-create ${project.version} sync GENERIC-RESOURCE-API wan-connection-topology-operation-deactivate ${project.version} sync GENERIC-RESOURCE-API wan-connection-topology-operation-delete ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-device-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-device-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-device-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-device-delete ${project.version} sync -GENERIC-RESOURCE-API sdwan-get-vf-module-device-param ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-site-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-site-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-site-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-site-delete ${project.version} sync -GENERIC-RESOURCE-API sdwan-get-vf-module-site-param ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-wanport-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-wanport-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-wanport-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-wanport-delete ${project.version} sync -GENERIC-RESOURCE-API sdwan-get-wan-param ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-vpn-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-vpn-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-vpn-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-vpn-delete ${project.version} sync -GENERIC-RESOURCE-API validate-sdwan-vf-vpn-input-parameters ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-lanport-create ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-lanport-activate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-lanport-deactivate ${project.version} sync -GENERIC-RESOURCE-API sdwan-vf-operation-lanport-delete ${project.version} sync -GENERIC-RESOURCE-API sdwan-get-vf-module-lanport-param ${project.version} sync -GENERIC-RESOURCE-API sdwan-bandwidth-policy-change ${project.version} sync -GENERIC-RESOURCE-API send-so-response ${project.version} sync -GENERIC-RESOURCE-API sotn-vf-operation-l2vpn-activate ${project.version} sync -GENERIC-RESOURCE-API sotn-vf-operation-l2vpn-create ${project.version} sync -GENERIC-RESOURCE-API sotn-vf-operation-l2vpn-deactivate ${project.version} sync -GENERIC-RESOURCE-API sotn-vf-operation-l2vpn-delete ${project.version} sync -GENERIC-RESOURCE-API sotn-vf-operation-uni-activate ${project.version} sync -GENERIC-RESOURCE-API sotn-vf-operation-uni-create ${project.version} sync -GENERIC-RESOURCE-API sotn-vf-operation-uni-deactivate ${project.version} sync -GENERIC-RESOURCE-API sotn-vf-operation-uni-delete ${project.version} sync -GENERIC-RESOURCE-API sotn-vnf-topology-operation-underlay-activate ${project.version} sync -GENERIC-RESOURCE-API sotn-vnf-topology-operation-underlay-create ${project.version} sync -GENERIC-RESOURCE-API sotn-vnf-topology-operation-underlay-deactivate ${project.version} sync -GENERIC-RESOURCE-API sotn-vnf-topology-operation-underlay-delete ${project.version} sync -GENERIC-RESOURCE-API sotn-get-vf-module-uni-param ${project.version} sync - +SUBNET-API managed-network-notification ${project.version} sync +SUBNET-API subnet-allocated-notification ${project.version} sync diff --git a/ms/generic-resource-api/src/test/resources/vf-module-assign-rpc.json b/ms/generic-resource-api/src/test/resources/vf-module-assign-rpc.json index a56d469..11def71 100644 --- a/ms/generic-resource-api/src/test/resources/vf-module-assign-rpc.json +++ b/ms/generic-resource-api/src/test/resources/vf-module-assign-rpc.json @@ -18,8 +18,8 @@ }, "subscription-service-type" : "Mobility", "service-id" : "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", - "global-customer-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "service-instance-id" : "service1" + "global-customer-id" : "cust123", + "service-instance-id" : "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca" }, "vf-module-information" : { "onap-model-information" : { @@ -49,8 +49,8 @@ "model-invariant-uuid" : "0017cd47-7f1b-49fb-874d-6add86ececb1" }, "vnf-id" : "fae319cc-68d6-496f-be1e-a09e133c71d4", - "vnf-name" : "zrdm61asmsf01", - "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" + "vnf-name" : "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2", + "vnf-type" : "service-nginx-ingress-1/nginx-ingress-1 0" } } }
\ No newline at end of file diff --git a/ms/generic-resource-api/src/test/resources/vf-module-unassign-rpc.json b/ms/generic-resource-api/src/test/resources/vf-module-unassign-rpc.json index 30dcb5d..4d1695d 100644 --- a/ms/generic-resource-api/src/test/resources/vf-module-unassign-rpc.json +++ b/ms/generic-resource-api/src/test/resources/vf-module-unassign-rpc.json @@ -7,7 +7,6 @@ }, "sdnc-request-header" : { "svc-request-id" : "767f2d08-e022-4000-97c2-61c002ebc740", - "svc-notification-url" : "https://mso-bpmn-s1.ecomp.idns.aic.cip.att.com:30252/mso/WorkflowMessage/SDNCCallback/25200c7f-e966-4a0d-8c6c-e345e97089a4", "svc-action" : "unassign" }, "service-information" : { @@ -19,8 +18,8 @@ }, "subscription-service-type" : "Mobility", "service-id" : "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", - "global-customer-id" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "service-instance-id" : "service1" + "global-customer-id" : "cust123", + "service-instance-id" : "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca" }, "vf-module-information" : { "onap-model-information" : { @@ -50,8 +49,8 @@ "model-invariant-uuid" : "0017cd47-7f1b-49fb-874d-6add86ececb1" }, "vnf-id" : "fae319cc-68d6-496f-be1e-a09e133c71d4", - "vnf-name" : "zrdm61asmsf01", - "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" + "vnf-name" : "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2", + "vnf-type" : "service-nginx-ingress-1/nginx-ingress-1 0" } } }
\ No newline at end of file diff --git a/ms/generic-resource-api/src/test/resources/vnf-assign-rpc.json b/ms/generic-resource-api/src/test/resources/vnf-assign-rpc.json index 36bffe2..b0f6817 100644 --- a/ms/generic-resource-api/src/test/resources/vnf-assign-rpc.json +++ b/ms/generic-resource-api/src/test/resources/vnf-assign-rpc.json @@ -4,38 +4,36 @@ "notification-url": "http://dev.null", "order-number": "123", "order-version": "version1", - "request-action": "CreateNetworkInstance", + "request-action": "CreateVnfInstance", "request-id": "req123", "source": "curl" }, "sdnc-request-header": { "svc-action": "assign", - "svc-notification-url": "http://dev.null", "svc-request-id": "svcreq123" }, "service-information": { "global-customer-id": "cust123", "onap-model-information": { - "model-customization-uuid": "367a8ba9-057a-4506-b106-fbae818597c6", - "model-invariant-uuid": "367a8ba9-057a-4506-b106-fbae818597c6", - "model-name": "vBNG_0202", - "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", - "model-version": "1920" - }, - "service-id": "service1", - "service-instance-id": "service1", + "model-name": "vcpesvc_vbng_0412a", + "model-version": "3.0", + "model-uuid": "12eb33fa-b221-4d87-939c-d808b5799a7c", + "model-invariant-uuid": "ead151e2-e18a-44fc-b6ac-3ae3d819dcd6" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "subscriber-name": "test", "subscription-service-type": "test" }, "vnf-information" : { - "onap-model-information": { - "model-customization-uuid": "367a8ba9-057a-4506-b106-fbae818597c6", - "model-invariant-uuid": "367a8ba9-057a-4506-b106-fbae818597c6", - "model-name": "vBNG_0202", - "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", - "model-version": "1920" - }, - "vnf-id" : "vnf123", + "onap-model-information" : { + "model-name" : "vcpevsp_vgmux_0412 ", + "model-version" : "1.0", + "model-customization-uuid" : "5724fcc8-2ae2-45ce-8d44-795092b85dee", + "model-uuid" : "ba3b8981-9a9c-4945-92aa-486234ec321f", + "model-invariant-uuid" : "b3dc6465-942c-42af-8464-2bf85b6e504b" + }, + "vnf-id" : "fae319cc-68d6-496f-be1e-a09e133c71d4", "vnf-name" : "myVnf", "vnf-type" : "router" }, diff --git a/ms/generic-resource-api/src/test/resources/vnf-data.json b/ms/generic-resource-api/src/test/resources/vnf-data.json index 22fc4aa..1250ade 100644 --- a/ms/generic-resource-api/src/test/resources/vnf-data.json +++ b/ms/generic-resource-api/src/test/resources/vnf-data.json @@ -14,7 +14,7 @@ "svc-request-id": "9c06a7c6-be3a-4530-bdd8-c65b58f123a5" }, "service-information": { - "global-customer-id": "226fbb03-baf2-42bb-8311-03643a801238", + "global-customer-id": "cust123", "onap-model-information": { "model-customization-uuid": "602c6bcc-6cfa-41cb-a8a7-968b38d5935f", "model-invariant-uuid": "bdb4f943-c9be-4742-b976-a34607f3687e", @@ -22,8 +22,8 @@ "model-uuid": "86c76b5d-fa8d-4034-b79a-1cc4326021a9", "model-version": "3.0" }, - "service-id": "98f189dd-2971-46f5-b4f1-1a9a323f39a4", - "service-instance-id": "98f189dd-2971-46f5-b4f1-1a9a323f39a4", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "subscriber-name": "unit-test", "subscription-service-type": "unit-test" }, @@ -32,7 +32,6 @@ { "vf-module-data": { "request-information": { - "notification-url": "https://dev.null", "order-number": "Order-123", "order-version": "Order-v22", "request-action": "CreateNetworkInstance", @@ -41,11 +40,10 @@ }, "sdnc-request-header": { "svc-action": "assign", - "svc-notification-url": "https://dev.null", "svc-request-id": "9c06a7c6-be3a-4530-bdd8-c65b58f123a5" }, "service-information": { - "global-customer-id": "226fbb03-baf2-42bb-8311-03643a801238", + "global-customer-id": "cust123", "onap-model-information": { "model-customization-uuid": "602c6bcc-6cfa-41cb-a8a7-968b38d5935f", "model-invariant-uuid": "bdb4f943-c9be-4742-b976-a34607f3687e", @@ -53,8 +51,8 @@ "model-uuid": "86c76b5d-fa8d-4034-b79a-1cc4326021a9", "model-version": "3.0" }, - "service-id": "98f189dd-2971-46f5-b4f1-1a9a323f39a4", - "service-instance-id": "98f189dd-2971-46f5-b4f1-1a9a323f39a4", + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", "subscriber-name": "unit-test", "subscription-service-type": "unit-test" }, @@ -67,7 +65,7 @@ "model-uuid": "86c76b5d-fa8d-4034-b79a-1cc4326021a9", "model-version": "3.0" }, - "vf-module-id": "9270c447-3caf-4e12-85aa-3578b0fa61d5", + "vf-module-id": "45841173-3729-4a1d-a811-a3bde399e22d", "vf-module-type": "some-vf-module-type" }, "vf-module-level-oper-status": { @@ -431,7 +429,7 @@ ] }, "vf-module-topology-identifier": { - "vf-module-id": "9270c447-3caf-4e12-85aa-3578b0fa61d5", + "vf-module-id": "45841173-3729-4a1d-a811-a3bde399e22d", "vf-module-name": "some-vf-module-name", "vf-module-type": "some-vf-module-type" } @@ -444,12 +442,12 @@ "model-uuid": "86c76b5d-fa8d-4034-b79a-1cc4326021a9", "model-version": "3.0" }, - "vnf-id": "2a3bfc93-cd4c-4845-8919-434b2d999ada", + "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4", "vnf-name": "mytestvnf", "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" } }, - "vf-module-id": "9270c447-3caf-4e12-85aa-3578b0fa61d5" + "vf-module-id": "45841173-3729-4a1d-a811-a3bde399e22d" } ] }, @@ -461,7 +459,7 @@ "model-uuid": "86c76b5d-fa8d-4034-b79a-1cc4326021a9", "model-version": "3.0" }, - "vnf-id": "2a3bfc93-cd4c-4845-8919-434b2d999ada", + "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4", "vnf-name": "mytestvnf", "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" }, @@ -593,11 +591,11 @@ "nf-function": "string", "nf-role": "string", "nf-type": "string", - "vnf-id": "2a3bfc93-cd4c-4845-8919-434b2d999ada", + "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4", "vnf-name": "mytestvnf", "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" } } }, - "vnf-id": "2a3bfc93-cd4c-4845-8919-434b2d999ada" + "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4" }
\ No newline at end of file |