summaryrefslogtreecommitdiffstats
path: root/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/LInterfaceManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/LInterfaceManager.java')
-rw-r--r--nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/LInterfaceManager.java54
1 files changed, 41 insertions, 13 deletions
diff --git a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/LInterfaceManager.java b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/LInterfaceManager.java
index 229fe679..78da503e 100644
--- a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/LInterfaceManager.java
+++ b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/LInterfaceManager.java
@@ -15,10 +15,11 @@
*/
package org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.notification;
-import org.onap.aai.domain.yang.v11.L3InterfaceIpv4AddressList;
-import org.onap.aai.domain.yang.v11.L3InterfaceIpv6AddressList;
-import org.onap.aai.domain.yang.v11.LInterface;
-import org.onap.aai.domain.yang.v11.RelationshipList;
+import io.reactivex.Observable;
+import java.util.ArrayList;
+import org.onap.aai.model.L3InterfaceIpv4AddressList;
+import org.onap.aai.model.L3InterfaceIpv6AddressList;
+import org.onap.aai.model.LInterface;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.AAIRestApiProvider;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.spring.Conditions;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.CbamRestApiProvider;
@@ -30,7 +31,8 @@ import org.springframework.context.annotation.Conditional;
import org.springframework.stereotype.Component;
import static java.lang.String.format;
-import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.AAIRestApiProvider.AAIService.CLOUD;
+
+import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.SystemFunctions.systemFunctions;
import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.LifecycleManager.getCloudOwner;
import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.LifecycleManager.getRegionName;
@@ -62,15 +64,30 @@ class LInterfaceManager extends AbstractManager {
}
void update(String vnfId, String vimId, ReportedAffectedCp affectedCp, boolean inMaintenance) {
- LInterface lInterface = createOrGet(CLOUD, buildUrl(vimId, affectedCp), OBJECT_FACTORY.createLInterface());
- updateFields(lInterface, affectedCp, vnfId, buildUrl(vimId, affectedCp), inMaintenance);
+ LInterface lInterface = createOrGet(getLinterface(vimId, affectedCp), new LInterface());
+ updateFields(vimId, lInterface, affectedCp, vnfId, inMaintenance);
}
void delete(String vimId, ReportedAffectedCp removedCp) {
- aaiRestApiProvider.delete(logger, AAIRestApiProvider.AAIService.CLOUD, buildUrl(vimId, removedCp));
+ LInterface linterface = getLinterface(vimId, removedCp).blockingFirst();
+ String cloudOwner = getCloudOwner(vimId);
+ String regionName = getRegionName(vimId);
+ String tenantId = removedCp.getTenantId();
+ String vServerId = removedCp.getServerProviderId();
+ String cpId = removedCp.getCpId();
+ aaiRestApiProvider.getCloudInfrastructureApi().deleteCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverLInterfacesLInterface(cloudOwner, regionName, tenantId, vServerId, cpId, linterface.getResourceVersion());
+ }
+
+ private Observable<LInterface> getLinterface(String vimId, ReportedAffectedCp cp) {
+ String cloudOwner = getCloudOwner(vimId);
+ String regionName = getRegionName(vimId);
+ String tenantId = cp.getTenantId();
+ String vServerId = cp.getServerProviderId();
+ String cpId = cp.getCpId();
+ return aaiRestApiProvider.getCloudInfrastructureApi().getCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverLInterfacesLInterface(cloudOwner, regionName, tenantId, vServerId, cpId, null, null, null, null, null, null, null, null, null, null, null, null);
}
- private void updateFields(LInterface logicalInterface, ReportedAffectedCp affectedCp, String vnfId, String url, boolean inMaintenance) {
+ private void updateFields(String vimId, LInterface logicalInterface, ReportedAffectedCp affectedCp, String vnfId, boolean inMaintenance) {
logicalInterface.setInMaint(inMaintenance);
logicalInterface.setIsIpUnnumbered(false);
logicalInterface.setIsPortMirrored(false);
@@ -81,21 +98,32 @@ class LInterfaceManager extends AbstractManager {
logicalInterface.setProvStatus("active");
if (affectedCp.getIpAddress() != null) {
if (affectedCp.getIpAddress().contains(":")) {
- L3InterfaceIpv6AddressList ipv6Address = OBJECT_FACTORY.createL3InterfaceIpv6AddressList();
+ L3InterfaceIpv6AddressList ipv6Address = new L3InterfaceIpv6AddressList();
ipv6Address.setL3InterfaceIpv6Address(affectedCp.getIpAddress());
ipv6Address.setNeutronNetworkId(affectedCp.getNetworkProviderId());
+ if (logicalInterface.getL3InterfaceIpv6AddressList() == null) {
+ logicalInterface.setL3InterfaceIpv6AddressList(new ArrayList<>());
+ }
logicalInterface.getL3InterfaceIpv6AddressList().add(ipv6Address);
} else {
- L3InterfaceIpv4AddressList ipv4Address = OBJECT_FACTORY.createL3InterfaceIpv4AddressList();
+ L3InterfaceIpv4AddressList ipv4Address = new L3InterfaceIpv4AddressList();
ipv4Address.setL3InterfaceIpv4Address(affectedCp.getIpAddress());
ipv4Address.setNeutronNetworkId(affectedCp.getNetworkProviderId());
+ if (logicalInterface.getL3InterfaceIpv4AddressList() == null) {
+ logicalInterface.setL3InterfaceIpv4AddressList(new ArrayList<>());
+ }
logicalInterface.getL3InterfaceIpv4AddressList().add(ipv4Address);
}
}
if (logicalInterface.getRelationshipList() == null) {
- logicalInterface.setRelationshipList(new RelationshipList());
+ logicalInterface.setRelationshipList(new ArrayList<>());
}
addSingletonRelation(logicalInterface.getRelationshipList(), GenericVnfManager.linkTo(vnfId));
- aaiRestApiProvider.put(logger, CLOUD, url, logicalInterface, Void.class);
+ String cloudOwner = getCloudOwner(vimId);
+ String regionName = getRegionName(vimId);
+ String tenantId = affectedCp.getTenantId();
+ String vServerId = affectedCp.getServerProviderId();
+ String cpId = affectedCp.getCpId();
+ systemFunctions().blockingFirst(aaiRestApiProvider.getCloudInfrastructureApi().createOrUpdateCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverLInterfacesLInterface(cloudOwner, regionName, tenantId, vServerId, cpId, logicalInterface));
}
}