aboutsummaryrefslogtreecommitdiffstats
path: root/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java')
-rw-r--r--ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java405
1 files changed, 203 insertions, 202 deletions
diff --git a/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java b/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java
index 7313b64..f4dc174 100644
--- a/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java
+++ b/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java
@@ -20,219 +20,220 @@
package org.onap.ransim.netconf;
-import java.io.IOException;
-import java.net.ConnectException;
-import org.apache.log4j.Logger;
import com.tailf.jnc.Device;
import com.tailf.jnc.DeviceUser;
import com.tailf.jnc.Element;
import com.tailf.jnc.JNCException;
import com.tailf.jnc.NetconfSession;
-import org.onap.ransim.rest.web.mapper.NearRTRICModel;
+
+import java.io.IOException;
+import java.net.ConnectException;
+
+import org.apache.log4j.Logger;
import org.onap.ransim.rest.web.mapper.GNBCUCPModel;
import org.onap.ransim.rest.web.mapper.GNBCUUPModel;
import org.onap.ransim.rest.web.mapper.GNBDUModel;
import org.onap.ransim.rest.web.mapper.NRCellCUModel;
import org.onap.ransim.rest.web.mapper.NRCellDUModel;
+import org.onap.ransim.rest.web.mapper.NearRTRICModel;
public class NetconfClient {
- static Logger log = Logger.getLogger(NetconfClient.class.getName());
-
- private String emsUserName;
- private Device device;
-
- public NetconfClient(Device device) {
- this.device = device;
- }
-
- public NetconfClient(String emsUserName, String username, String password, String serverName, String ip, int port) {
- DeviceUser deviceUser = new DeviceUser(emsUserName, username, password);
- this.emsUserName = emsUserName;
- this.device = new Device(serverName, deviceUser, ip, port);
- }
-
- public Element getInitialNodeSet(NearRTRICModel rtRicModel, String serverId) {
- try {
-
- Element ranNetworkElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/ran-network");
- Element nearRTRICElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/NearRTRIC");
- Element idNearRTRICElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/idNearRTRIC");
- idNearRTRICElement.setValue(rtRicModel.getNearRTRICId());
- Element sapElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/sAP");
- Element hostElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/host");
- hostElement.setValue("localhost");
- Element portElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/port");
- portElement.setValue("8080");
- sapElement.addChild(hostElement);
- sapElement.addChild(portElement);
-
- for (GNBCUUPModel gNBCUUPModel : rtRicModel.getgNBCUUPList()) {
- if (gNBCUUPModel.getgNBCUUPId().toString().equals(serverId)
- || rtRicModel.getNearRTRICId().toString().equals(serverId)) {
- Element gNBCUUPFunctionElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/GNBCUUPFunction");
- Element idGNBCUUPFunctionElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idGNBCUUPFunction");
- idGNBCUUPFunctionElement.setValue(gNBCUUPModel.getgNBCUUPId().toString());
- Element attributesElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/attributes");
- Element gnBIdElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/gNBId");
- gnBIdElement.setValue(gNBCUUPModel.getgNBId());
- attributesElement.addChild(gnBIdElement);
- attributesElement.addChild(sapElement);
- gNBCUUPFunctionElement.addChild(idGNBCUUPFunctionElement);
- gNBCUUPFunctionElement.addChild(attributesElement);
- nearRTRICElement.addChild(gNBCUUPFunctionElement);
- }
- }
- for (GNBCUCPModel gNBCUCPModel : rtRicModel.getgNBCUCPList()) {
- if (gNBCUCPModel.getgNBCUName().equals(serverId)
- || rtRicModel.getNearRTRICId().toString().equals(serverId)) {
- Element gNBCUCPFunctionElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/GNBCUCPFunction");
- Element idGNBCUCPFunctionElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idGNBCUCPFunction");
- idGNBCUCPFunctionElement.setValue(gNBCUCPModel.getgNBCUName());
- Element attributesElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/attributes");
- Element gNBCUNameElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/gNBCUName");
- gNBCUNameElement.setValue(gNBCUCPModel.getgNBCUName());
- Element gnBIdElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/gNBId");
- gnBIdElement.setValue(gNBCUCPModel.getgNBId());
- Element gNBIdLengthElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/gNBIdLength");
- gNBIdLengthElement.setValue(gNBCUCPModel.getgNBIdLength());
- attributesElement.addChild(gNBCUNameElement);
- attributesElement.addChild(gnBIdElement);
- attributesElement.addChild(gNBIdLengthElement);
- attributesElement.addChild(sapElement);
- for (NRCellCUModel nRCellCUModel : gNBCUCPModel.getCellCUList()) {
- Element nRCellCUElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/NRCellCU");
- Element idNRCellCUElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idNRCellCU");
- idNRCellCUElement.setValue(nRCellCUModel.getCellLocalId());
- Element nRCellattributesElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
- Element cellLocalIdElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/cellLocalId");
- cellLocalIdElement.setValue(nRCellCUModel.getCellLocalId());
- nRCellattributesElement.addChild(cellLocalIdElement);
- nRCellattributesElement.addChild(sapElement);
- nRCellCUElement.addChild(idNRCellCUElement);
- nRCellCUElement.addChild(nRCellattributesElement);
- gNBCUCPFunctionElement.addChild(nRCellCUElement);
- }
- gNBCUCPFunctionElement.addChild(idGNBCUCPFunctionElement);
- gNBCUCPFunctionElement.addChild(attributesElement);
- nearRTRICElement.addChild(gNBCUCPFunctionElement);
- }
- }
- for (GNBDUModel gNBDUModel : rtRicModel.getgNBDUList()) {
- if (gNBDUModel.getgNBDUId().toString().equals(serverId)
- || rtRicModel.getNearRTRICId().toString().equals(serverId)) {
- Element gNBDUFunctionElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/GNBDUFunction");
- Element idGNBDUFunctionElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idGNBDUFunction");
- idGNBDUFunctionElement.setValue(gNBDUModel.getgNBDUId());
- Element attributesElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/attributes");
- Element gNBDUNameElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/gNBDUName");
- gNBDUNameElement.setValue(gNBDUModel.getgNBDUName());
- Element gNBIdLengthElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/gNBIdLength");
- gNBIdLengthElement.setValue(gNBDUModel.getgNBIdLength());
- Element gNBDUIdElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/gNBDUId");
- gNBDUIdElement.setValue(gNBDUModel.getgNBDUId());
- attributesElement.addChild(gNBIdLengthElement);
- attributesElement.addChild(gNBDUNameElement);
- attributesElement.addChild(gNBDUIdElement);
- attributesElement.addChild(sapElement);
- for (NRCellDUModel nRCellDUModel : gNBDUModel.getCellDUList()) {
- Element nRCellDUElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/NRCellDU");
- Element idNRCellDUElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idNRCellDU");
- idNRCellDUElement.setValue(nRCellDUModel.getCellLocalId());
- Element nRCellattributesElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
- Element cellLocalIdElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/cellLocalId");
- cellLocalIdElement.setValue(nRCellDUModel.getCellLocalId());
- Element nRSectorCarrierRefElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/nRSectorCarrierRef");
- nRSectorCarrierRefElement.setValue("OU=Sales");
- Element administrativeStateElement = Element
- .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/administrativeState");
- administrativeStateElement.setValue(nRCellDUModel.getAdministrativeState());
- Element nRPCIElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/nRPCI");
- nRPCIElement.setValue(nRCellDUModel.getnRPCI());
- Element nRTACElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network",
- "/nRTAC");
- nRTACElement.setValue(nRCellDUModel.getnRTAC());
- nRCellattributesElement.addChild(cellLocalIdElement);
- nRCellattributesElement.addChild(sapElement);
- nRCellattributesElement.addChild(nRSectorCarrierRefElement);
- nRCellattributesElement.addChild(administrativeStateElement);
- nRCellattributesElement.addChild(nRPCIElement);
- nRCellattributesElement.addChild(nRTACElement);
- nRCellDUElement.addChild(idNRCellDUElement);
- nRCellDUElement.addChild(nRCellattributesElement);
- gNBDUFunctionElement.addChild(nRCellDUElement);
- }
- gNBDUFunctionElement.addChild(idGNBDUFunctionElement);
- gNBDUFunctionElement.addChild(attributesElement);
- nearRTRICElement.addChild(gNBDUFunctionElement);
- }
- }
-
- nearRTRICElement.addChild(idNearRTRICElement);
- ranNetworkElement.addChild(nearRTRICElement);
-
- return ranNetworkElement;
-
- } catch (JNCException e) {
- log.error("Exception occured during NodeSet creation {}", e);
- return null;
- }
-
- }
-
- public void editConfig(Element initialConfig) {
- try {
- Boolean connected = false;
- while (!connected) {
- try {
- Thread.sleep(6000);
- device.connect(emsUserName);
- connected = true;
- } catch (ConnectException e) {
- log.error("Device is not up yet... retrying after 3s");
- } catch (InterruptedException ie) {
- Thread.currentThread().interrupt();
- }
-
- }
-
- device.newSession("cfg");
- log.info(initialConfig.toXMLString());
- device.getSession("cfg").editConfig(NetconfSession.CANDIDATE, initialConfig);
- device.getSession("cfg").commit();
- log.info("Initial configuration set");
- } catch (IOException | JNCException e) {
- log.error("Exception occured during edit config {}", e);
- }
- }
+ static Logger log = Logger.getLogger(NetconfClient.class.getName());
+
+ private String emsUserName;
+ private Device device;
+
+ public NetconfClient(Device device) {
+ this.device = device;
+ }
+
+ public NetconfClient(String emsUserName, String username, String password, String serverName, String ip, int port) {
+ DeviceUser deviceUser = new DeviceUser(emsUserName, username, password);
+ this.emsUserName = emsUserName;
+ this.device = new Device(serverName, deviceUser, ip, port);
+ }
+
+ public Element getInitialNodeSet(NearRTRICModel rtRicModel, String serverId) {
+ try {
+
+ Element ranNetworkElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/ran-network");
+ Element nearRTRICElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/NearRTRIC");
+ Element idNearRTRICElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idNearRTRIC");
+ idNearRTRICElement.setValue(rtRicModel.getNearRTRICId());
+ Element sapElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/sAP");
+ Element hostElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/host");
+ hostElement.setValue("localhost");
+ Element portElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/port");
+ portElement.setValue("8080");
+ sapElement.addChild(hostElement);
+ sapElement.addChild(portElement);
+
+ for (GNBCUUPModel gNBCUUPModel : rtRicModel.getgNBCUUPList()) {
+ if (gNBCUUPModel.getgNBCUUPId().toString().equals(serverId)
+ || rtRicModel.getNearRTRICId().toString().equals(serverId)) {
+ Element gNBCUUPFunctionElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/GNBCUUPFunction");
+ Element idGNBCUUPFunctionElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idGNBCUUPFunction");
+ idGNBCUUPFunctionElement.setValue(gNBCUUPModel.getgNBCUUPId().toString());
+ Element attributesElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
+ Element gnBIdElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/gNBId");
+ gnBIdElement.setValue(gNBCUUPModel.getgNBId());
+ attributesElement.addChild(gnBIdElement);
+ attributesElement.addChild(sapElement);
+ gNBCUUPFunctionElement.addChild(idGNBCUUPFunctionElement);
+ gNBCUUPFunctionElement.addChild(attributesElement);
+ nearRTRICElement.addChild(gNBCUUPFunctionElement);
+ }
+ }
+ for (GNBCUCPModel gNBCUCPModel : rtRicModel.getgNBCUCPList()) {
+ if (gNBCUCPModel.getgNBCUName().equals(serverId)
+ || rtRicModel.getNearRTRICId().toString().equals(serverId)) {
+ Element gNBCUCPFunctionElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/GNBCUCPFunction");
+ Element idGNBCUCPFunctionElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idGNBCUCPFunction");
+ idGNBCUCPFunctionElement.setValue(gNBCUCPModel.getgNBCUName());
+ Element attributesElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
+ Element gNBCUNameElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/gNBCUName");
+ gNBCUNameElement.setValue(gNBCUCPModel.getgNBCUName());
+ Element gnBIdElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/gNBId");
+ gnBIdElement.setValue(gNBCUCPModel.getgNBId());
+ Element gNBIdLengthElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/gNBIdLength");
+ gNBIdLengthElement.setValue(gNBCUCPModel.getgNBIdLength());
+ attributesElement.addChild(gNBCUNameElement);
+ attributesElement.addChild(gnBIdElement);
+ attributesElement.addChild(gNBIdLengthElement);
+ attributesElement.addChild(sapElement);
+ for (NRCellCUModel nRCellCUModel : gNBCUCPModel.getCellCUList()) {
+ Element nRCellCUElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/NRCellCU");
+ Element idNRCellCUElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idNRCellCU");
+ idNRCellCUElement.setValue(nRCellCUModel.getCellLocalId());
+ Element nRCellattributesElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
+ Element cellLocalIdElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/cellLocalId");
+ cellLocalIdElement.setValue(nRCellCUModel.getCellLocalId());
+ nRCellattributesElement.addChild(cellLocalIdElement);
+ nRCellattributesElement.addChild(sapElement);
+ nRCellCUElement.addChild(idNRCellCUElement);
+ nRCellCUElement.addChild(nRCellattributesElement);
+ gNBCUCPFunctionElement.addChild(nRCellCUElement);
+ }
+ gNBCUCPFunctionElement.addChild(idGNBCUCPFunctionElement);
+ gNBCUCPFunctionElement.addChild(attributesElement);
+ nearRTRICElement.addChild(gNBCUCPFunctionElement);
+ }
+ }
+ for (GNBDUModel gNBDUModel : rtRicModel.getgNBDUList()) {
+ if (gNBDUModel.getgNBDUId().toString().equals(serverId)
+ || rtRicModel.getNearRTRICId().toString().equals(serverId)) {
+ Element gNBDUFunctionElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/GNBDUFunction");
+ Element idGNBDUFunctionElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idGNBDUFunction");
+ idGNBDUFunctionElement.setValue(gNBDUModel.getgNBDUId());
+ Element attributesElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
+ Element gNBDUNameElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/gNBDUName");
+ gNBDUNameElement.setValue(gNBDUModel.getgNBDUName());
+ Element gNBIdLengthElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/gNBIdLength");
+ gNBIdLengthElement.setValue(gNBDUModel.getgNBIdLength());
+ Element gNBDUIdElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/gNBDUId");
+ gNBDUIdElement.setValue(gNBDUModel.getgNBDUId());
+ attributesElement.addChild(gNBIdLengthElement);
+ attributesElement.addChild(gNBDUNameElement);
+ attributesElement.addChild(gNBDUIdElement);
+ attributesElement.addChild(sapElement);
+ for (NRCellDUModel nRCellDUModel : gNBDUModel.getCellDUList()) {
+ Element nRCellDUElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/NRCellDU");
+ Element idNRCellDUElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idNRCellDU");
+ idNRCellDUElement.setValue(nRCellDUModel.getCellLocalId());
+ Element nRCellattributesElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
+ Element cellLocalIdElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/cellLocalId");
+ cellLocalIdElement.setValue(nRCellDUModel.getCellLocalId());
+ Element nRSectorCarrierRefElement = Element
+ .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/nRSectorCarrierRef");
+ nRSectorCarrierRefElement.setValue("OU=Sales");
+ Element administrativeStateElement = Element
+ .create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/administrativeState");
+ administrativeStateElement.setValue(nRCellDUModel.getAdministrativeState());
+ Element nRPCIElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/nRPCI");
+ nRPCIElement.setValue(nRCellDUModel.getnRPCI());
+ Element nRTACElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/nRTAC");
+ nRTACElement.setValue(nRCellDUModel.getnRTAC());
+ nRCellattributesElement.addChild(cellLocalIdElement);
+ nRCellattributesElement.addChild(sapElement);
+ nRCellattributesElement.addChild(nRSectorCarrierRefElement);
+ nRCellattributesElement.addChild(administrativeStateElement);
+ nRCellattributesElement.addChild(nRPCIElement);
+ nRCellattributesElement.addChild(nRTACElement);
+ nRCellDUElement.addChild(idNRCellDUElement);
+ nRCellDUElement.addChild(nRCellattributesElement);
+ gNBDUFunctionElement.addChild(nRCellDUElement);
+ }
+ gNBDUFunctionElement.addChild(idGNBDUFunctionElement);
+ gNBDUFunctionElement.addChild(attributesElement);
+ nearRTRICElement.addChild(gNBDUFunctionElement);
+ }
+ }
+
+ nearRTRICElement.addChild(idNearRTRICElement);
+ ranNetworkElement.addChild(nearRTRICElement);
+
+ return ranNetworkElement;
+
+ } catch (JNCException e) {
+ log.error("Exception occured during NodeSet creation {}", e);
+ return null;
+ }
+
+ }
+
+ public void editConfig(Element initialConfig) {
+ try {
+ Boolean connected = false;
+ while (!connected) {
+ try {
+ Thread.sleep(6000);
+ device.connect(emsUserName);
+ connected = true;
+ } catch (ConnectException e) {
+ log.error("Device is not up yet... retrying after 3s");
+ } catch (InterruptedException ie) {
+ Thread.currentThread().interrupt();
+ }
+
+ }
+
+ device.newSession("cfg");
+ log.info(initialConfig.toXMLString());
+ device.getSession("cfg").editConfig(NetconfSession.CANDIDATE, initialConfig);
+ device.getSession("cfg").commit();
+ log.info("Initial configuration set");
+ } catch (IOException | JNCException e) {
+ log.error("Exception occured during edit config {}", e);
+ }
+ }
}
-