diff options
Diffstat (limited to 'nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/GenericVnfManager.java')
-rw-r--r-- | nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/GenericVnfManager.java | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/GenericVnfManager.java b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/GenericVnfManager.java index 2b9b3882..130004e4 100644 --- a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/GenericVnfManager.java +++ b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/GenericVnfManager.java @@ -16,10 +16,13 @@ package org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.notification; import com.nokia.cbam.lcm.v32.model.VnfInfo; -import org.onap.aai.domain.yang.v11.GenericVnf; -import org.onap.aai.domain.yang.v11.Relationship; +import java.util.ArrayList; +import java.util.NoSuchElementException; +import org.onap.aai.model.GenericVnf; +import org.onap.aai.model.Relationship; 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.util.SystemFunctions; import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.CbamRestApiProvider; import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.DriverProperties; import org.slf4j.Logger; @@ -27,10 +30,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Conditional; import org.springframework.stereotype.Component; -import java.util.NoSuchElementException; - -import static java.lang.String.format; -import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.AAIRestApiProvider.AAIService.NETWORK; import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.CbamUtils.buildFatalFailure; import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.SystemFunctions.systemFunctions; @@ -40,7 +39,6 @@ import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.SystemFunctions.sys @Component @Conditional(value = Conditions.UseForDirect.class) class GenericVnfManager extends AbstractManager { - private static final String VNF_URL = "/generic-vnfs/generic-vnf/%s"; private static final long MAX_MS_TO_WAIT_FOR_VNF_TO_APPEAR = 30 * 1000L; private static Logger logger = org.slf4j.LoggerFactory.getLogger(GenericVnfManager.class); @@ -52,6 +50,7 @@ class GenericVnfManager extends AbstractManager { static Relationship linkTo(String vnfId) { Relationship relationship = new Relationship(); relationship.setRelatedTo("generic-vnf"); + relationship.setRelationshipData(new ArrayList<>()); relationship.getRelationshipData().add(buildRelationshipData("generic-vnf.vnf-id", vnfId)); return relationship; } @@ -68,7 +67,7 @@ class GenericVnfManager extends AbstractManager { } catch (NoSuchElementException e) { try { logger.warn("The VNF with " + vnfId + " identifier did not appear in time", e); - updateFields(OBJECT_FACTORY.createGenericVnf(), vnfId, inMaintenance); + updateFields(new GenericVnf(), vnfId, inMaintenance); } catch (Exception e2) { logger.warn("The VNF with " + vnfId + " identifier has been created since after the maximal wait for VNF to appear timeout", e2); //the VNF might have been created since the last poll @@ -77,8 +76,8 @@ class GenericVnfManager extends AbstractManager { } } - GenericVnf getExistingVnf(String vnfId) { - return aaiRestApiProvider.get(logger, NETWORK, format(VNF_URL, vnfId), GenericVnf.class); + private GenericVnf getExistingVnf(String vnfId) { + return aaiRestApiProvider.getNetworkApi().getNetworkGenericVnfsGenericVnf(vnfId, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null).blockingFirst(); } private void updateFields(GenericVnf vnf, String vnfId, boolean inMaintenance) { @@ -90,18 +89,17 @@ class GenericVnfManager extends AbstractManager { } vnf.setVnfId(vnfId); vnf.setInMaint(inMaintenance); - vnf.setVnfInstanceId(vnfId); //FIXME whould be good to know if this parameter is relevant or not? (mandatory) vnf.setVnfType("NokiaVNF"); vnf.setIsClosedLoopDisabled(inMaintenance); - aaiRestApiProvider.put(logger, NETWORK, format(VNF_URL, vnf.getVnfId()), vnf, Void.class); + SystemFunctions.systemFunctions().blockingFirst(aaiRestApiProvider.getNetworkApi().createOrUpdateNetworkGenericVnfsGenericVnf(vnf.getVnfId(), vnf)); } private GenericVnf waitForVnfToAppearInAai(String vnfId) { long timeoutInMs = systemFunctions().currentTimeMillis() + MAX_MS_TO_WAIT_FOR_VNF_TO_APPEAR; while (timeoutInMs - systemFunctions().currentTimeMillis() > 0) { try { - return aaiRestApiProvider.get(logger, NETWORK, format(VNF_URL, vnfId), GenericVnf.class); + return getExistingVnf(vnfId); } catch (NoSuchElementException e) { logger.debug("Unable to get VNF with " + vnfId + " identifier", e); } |