1. OOF

Configure the OOF with the below configDB details and then deploy.

Edit this file oom/kubernetes/oof/values.yaml.

configDbUrl: http://<ip>:<port>
configDbUserName:
configDbPassword:
configDbGetCellListUrl: 'api/sdnc-config-db/v3/getCellList'
configDbGetNbrListUrl: 'api/sdnc-config-db/v3/getNbrList'

2. SON-Handler MS

Steps for creating dmaap topics

The following dmaap topics need to be present in the running DMAAP instance:

1.PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO

2.unauthenticated.SEC_FAULT_OUTPUT

3.unauthenticated.SEC_MEASUREMENT_OUTPUT

4.DCAE_CL_RSP

The topics can be added by logging into the message-router-kafka container and executing the following command:

Create Topic
curl --header "Content-type: application/json" --request POST --data '{"owner": "","txenabled": false,"topicName": "<topic-name>"}' http://<message-router-ip>:3904/topics/create


ConfigDB setup:

The steps to set up configDB can be found in the attachment below.


Steps to deploy SON-Handler:

Log-in to the DCAE-bootstrap container.

The SON-Handler blueprint file can be found in blueprints/k8s-sonhms.yaml.

Copy the input file to the blueprints/ directory. The input file can be found below:

k8s-sonhms-inputs.yaml

Execute the following command to deploy Son-Handler:

Deploy component

cfy install -b sonhms -d sonhms -i <inputsFilePath> <blueprintFilePath>

To undeploy SON-Handler:

Undeploy component

cfy uninstall sonhms

To delete the blueprint:

Delete blueprint
cfy blueprints delete sonhms

3. SDN-C (SDN-R)

The configuration changes to the 2 property files are required based on the environment:

  1. Execute the following command to log into the sdnc container 
    1. kubectl exec -it dev-sdnc-0 bash 
  2. Once in the docker, edit the first property file (/opt/onap/ccsdk/data/properties/sdnr-oofpcipoc-api-dg.properties)
  3. Make following configuration changes:
    1. If you are using RAN simulator and performing Netconf mount, update the following flag to true.
      1. ransim-mounted=true
    2. If ConfigDB is deployed, update the following flag to true.
      1. configdb-deployed=true
    3. Update IP address for ConfigDB.
      1. configdb.url=http://<ip-address>:8080/api/sdnc-config-db/v3
    4. Update the controller url for sdnc.
      1. controller.url=https://sdnc.onap:8443
  4. Edit the second property file as below(/opt/onap/ccsdk/data/properties/sdnr-CMNotify-api-dg.properties)
    1. If you are using RAN simulator and performing Netconf mount, update the following flag to true.
      1. ransim-mounted=true
    2. Update IP address for ConfigDB.
      1. configdb.url=http://<ip-address>:8080/api/sdnc-config-db/v3
    3. Update the controller url for sdnc.
      1. controller.url=https://sdnc.onap:8443

The following is a temporary fix for dmaap-listener library files, and please do the following for the dmaap-listener docker:

  1. Execute the following command to all dmaap-listener POD's to copy relevant template map files
    1. kubectl exec -it -n onap dev-sdnc-sdnc-dmaap-listener-5b8d94959b-27mwf bash
  2. Once in the docker, create folder : /opt/app/dmaap-listener/lib/
  3. Copy following files to the above folder (/opt/app/dmaap-listener/lib/)
    1. cp /opt/onap/sdnc/dmaap-listener/lib/pci-changes-from-policy-to-sdnr.map /opt/app/dmaap-listener/lib/.

    2. cp /opt/onap/sdnc/dmaap-listener/lib/anr-changes-from-policy-to-sdnr.map /opt/app/dmaap-listener/lib/.

    3. cp /opt/onap/sdnc/dmaap-listener/lib/anr-pci-changes-from-policy-to-sdnr.vt /opt/app/dmaap-listener/lib/.

4. Policy

There following control policies that are being used in the usecase. They have to be created and pushed into the policy.

Log in to policy-pdp container.

pci.jsonson.json

pci_push.jsonson_push.json

pciBson.jsonpciBson_push.json

sonBpci.jsonsonBpci_push.json

Execute the following commands:

Create and push  Modify Config policy.

Modify Config policy

curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @pci.json

curl --silent -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @pci_push.json

Create and push Modify Config ANR policy.

Modify Config ANR policy

curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @son.json

curl --silent -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @son_push.json

Create and push PCI-controlloop-guard(Controlloop-denial) policy:

PCI-guard

curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @pciBson.json 

curl --silent -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @pciBson_push.json 

Create and push ANR-controlloop-guard policy:

ANR-guard

curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @sonBpci.json 

curl --silent -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @sonBpci_push.json  


5. RAN-Sim

Steps to build the RAN-Sim Controller setup:

1.  Clone and Checkout Ran-Sim Controller(use Dublin branch)

            git clone https://github.com/onap-oof-pci-poc/ran-sim.git

            cd ran-sim/ransim/

2.  Copy ‘m2_settings.xml’ from ‘<YOURFOLDER>/ransim/’ to <HOME>/.m2/ folder as settings.xml file after updating environment specific configurations. 

     If the file already exists in <HOME>/.m2/ folder, then merge this file content into the existing file appropriately.

     Note: settings.xml entries are mandatory to include dependencies.

3. Open the terminal and navigate to the '<YOURFOLDER>/ransim/ransimctrlr'

4.  The following capabilities can be modified in the 'ransim.properties' file based on user capabilities and configurations.

        File directory:

           <YOURFOLDER>/ransim/ransimctrlr/packages/base/src/files/install/servers/ransim/bin/ransim.properties

            a) serverIdPrefix:

                        Netconf server comman prefix (use default value present in the file)

            b) numberOfCellsPerNCServer:

                        Maximum number of cells that can be handled in a single netconf server(use default value present in the file).

            c) numberOfProcessPerMc:

                        Maximum number of netconf servers that can run in a single machine(use default value present in the file, which is for a machine of 8 GB RAM)

                        (A single netconf server uses approximately 350MB).

            d) numberOfMachines:

                        Maximum number of machines available(use default value present in the file).

            e) GridSize: (Applicable only for HONEYCOMB representation)

                        The number of cells that can be accommodated along one side of the cluster for an auto-generated layout.

                         However, it has no relevance now, as the initial layout is generated from a file. So use default value as 1.

            f) strictValidateRansimAgentsAvailability:

                        A boolean value to check if any RAN-Sim agents are running (use default value present in the file).

            g) sdnrServerIp:

                       Neglect(Refer point 5 to update SDNR details).

            h) sdnrServerPort:

                       Neglect(Refer point 5 to update SDNR details).

            i) sdnrServerUserid:

                        Negelct (Refer point 5 to update SDNR details).

            j) sdnrServerPassword:

                        Negelct (Refer point 5 to update SDNR details).

            k) maxPciValueAllowed:

                        maximum value of the physical cell Id. (Default is 503).

           l)dumpFileName

                        Location of the dumpfile to load the topology.

                        The dump file is loaded from '<YOURFOLDER>/ransim/docker/config'. A sample dump file - 'sample.json' contains deatils of 1000 cells.

                         For the controller to access the dump file from the the above location use the path - /tmp/ransim-install/config/sample.json

5. The SDNR details can be updated in the file '<YOURFOLDER>/ransim/docker/docker-compose.yml'.

                    environment:

                           - SDNR_IP={SDNR IP address}

                          - SDNR_PORT={SDNR port number}

                           - SDNR_USER={SDNR user ID}

                           - SDNR_PASSWORD={SDNR user password}

6.  Run the following command in the terminal

                        mvn clean install

7. After successful build navigate to '<YOURFOLDER>/ransim/docker' directory.

8. Run the following three commands in the terminal:

                        'mvn prepare-package'

                        'docker build -t onap/ransim-demo ransim-docker'

                        'docker-compose up'

 Note: Use docker compose version 1.6.0 or above.     

9. Access the GUI using the following url in the web browser:

                         ‘http://<yourIP>:8081/ransimui/index.html

10. Access the swagger ui using the following url:

                        ‘http://<yourIP>:8081/ransim/api/swagger-ui.html

11. Try the following url in Websocket client extension in the web browser to verify the connectivity:

                        ‘ws://<yourIP>:8081/ransim/RansimAgent/hai’


Steps to check the RAN-Sim Controller logs

1. Open the console and enter the following command:

            'docker ps'

2. Once the container details is displayed enter the following command:

            docker exec -it ransim bash

3. Navigate to '/opt/app/policy/servers/ransim/logs' using the cd command.

4. Execute the following command to check the logs:

            'tail -f ransim-rest.log'


  • No labels

7 Comments

  1. pciBson.json and sonBpci.json must be updated so that the metadata "policy-id" is not an integer 1, but matches the version string "1.0.0".

    In creating the policy you could remove that metadata field, it is there for convenience to the calling application and will be returned from the POST to create the policy.

  2. Can we list the pre-requisites like git, maven, docker etc. under a separate section?

  3. We also need to start the honeycomb agents / servers. Only starting the RAN-SIM won't work. 

  4. Is there any link which describe how these components are interacting for SON use case ?

  5. How can I integrate RAN_SIM with DCAE(VES collector)? 


  6. Hi our HoneyComb agent does not able to speak SDNR. After mounting the HoneyComb we are getting bellow exception.

    SDNR version: Honolulu

    HoneyComb: as per this documents.( git clone https://github.com/onap-oof-pci-poc/ran-sim.git .    git checkout Dublin)


    Exception:

            9,"blacklisted":false},{"plmnid":"ran-1","cid":"Chn0038","phy-cell-id":4,"blacklisted":false},{"plmnid":"ran-1","cid":"Chn0041","phy-cell-id":7,"blacklisted":false},{"plmnid":"ran-1","cid":"Chn0061","phy-cell-id":27,"blacklisted":false}]}}}}}]}
    2021-09-01 17:56:31.254 UTC [WebSocketSimpleContainer@815992954-23] DEBUG o.o.r.w.c.RansimClientWebSocket - Periodic ping message.... ignore
    2021-09-01 17:56:31.591 UTC [globalEventExecutor-1-2] INFO  o.a.s.s.s.ServerUserAuthService - Session admin@/172.30.161.157:15185 authenticated
    2021-09-01 17:56:31.931 UTC [netconf-netty-1] WARN  o.o.n.i.u.DeserializerExceptionHandler - An exception occurred during message handling
    io.netty.handler.codec.DecoderException: java.lang.NullPointerException
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:459) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1414) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:945) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:446) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.local.LocalChannel.access$300(LocalChannel.java:50) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:400) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_292]
    Caused by: java.lang.NullPointerException: null
    at org.openexi.sax.ReaderSupport.doAttribute(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.sax.EXIReader.doElement(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.sax.EXIReader.parse(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.sax.EXIReader.parse(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.opendaylight.netconf.nettyutil.handler.NetconfEXIToMessageDecoder.decode(NetconfEXIToMessageDecoder.java:96) ~[netconf-netty-util-1.4.2.jar:na]
    at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    ... 21 common frames omitted
    2021-09-01 17:56:32.600 UTC [netconf-netty-1] WARN  o.o.n.i.u.DeserializerExceptionHandler - An exception occurred during message handling
    io.netty.handler.codec.DecoderException: java.io.EOFException
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:459) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:392) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:359) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:342) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:377) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:342) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1409) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:927) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:822) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_292]
    Caused by: java.io.EOFException: null
    at org.openexi.proc.io.BodyBitInputStream.getEightBits(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.proc.io.BitPackedScanner.readEightBitsUnsigned(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.proc.io.Scanner.readUnsignedInteger(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.proc.io.Scanner.readLiteralString(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.proc.io.StringValueScanner.scan(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.proc.io.ValueScannerLexical.scan(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.proc.io.SimpleScanner.doAttributeWildcardAny(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.proc.io.SimpleScanner.nextEvent(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.sax.EXIReader.doElement(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.sax.EXIReader.parse(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.openexi.sax.EXIReader.parse(Unknown Source) ~[nagasena-0000.0002.0062.0.jar:na]
    at org.opendaylight.netconf.nettyutil.handler.NetconfEXIToMessageDecoder.decode(NetconfEXIToMessageDecoder.java:96) ~[netconf-netty-util-1.4.2.jar:na]
    at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    ... 21 common frames omitted
    2021-09-01 17:56:32.603 UTC [netconf-netty-1] WARN  i.n.util.concurrent.DefaultPromise - An exception was thrown by org.opendaylight.netconf.util.messages.SendErrorExceptionUtil$SendErrorVerifyingListener.operationComplete()
    java.lang.IllegalStateException: Unable to send exception NetconfDocumentedException{message=java.io.EOFException, errorType=RPC, errorTag=MALFORMED_MESSAGE, errorSeverity=ERROR, errorInfo={cause=java.io.EOFException}} [java.nio.channels.ClosedChannelException]
    at com.google.common.base.Preconditions.checkState(Preconditions.java:828) ~[guava-23.6-jre.jar:na]
    at org.opendaylight.netconf.util.messages.SendErrorExceptionUtil$SendErrorVerifyingListener.operationComplete(SendErrorExceptionUtil.java:103) ~[netconf-util-1.4.2.jar:na]
    at org.opendaylight.netconf.util.messages.SendErrorExceptionUtil$SendErrorVerifyingListener.operationComplete(SendErrorExceptionUtil.java:94) ~[netconf-util-1.4.2.jar:na]
    at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at org.opendaylight.netconf.util.messages.SendErrorExceptionUtil.sendErrorMessage(SendErrorExceptionUtil.java:45) [netconf-util-1.4.2.jar:na]
    at org.opendaylight.netconf.impl.util.DeserializerExceptionHandler.handleDeserializerException(DeserializerExceptionHandler.java:48) [netconf-impl-1.4.2.jar:na]
    at org.opendaylight.netconf.impl.util.DeserializerExceptionHandler.exceptionCaught(DeserializerExceptionHandler.java:37) [netconf-impl-1.4.2.jar:na]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:285) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:264) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:256) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.ChannelInboundHandlerAdapter.exceptionCaught(ChannelInboundHandlerAdapter.java:131) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:285) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.notifyHandlerException(AbstractChannelHandlerContext.java:850) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:247) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:377) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:342) [netty-codec-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1409) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:927) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:822) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) [netty-transport-4.1.22.Final.jar:4.1.22.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) [netty-common-4.1.22.Final.jar:4.1.22.Final]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_292]
    2021-09-01 17:56:41.255 UTC [WebSocketSimpleContainer@815992954-29] DEBUG o.o.r.w.c.RansimClientWebSocket - Periodic ping message.... ignore
    ^C


    Please help me to solve this problem.

  7. RAN-SIM team,

    We are facing above exception due to HoneComb version of enodebsim of RAN-SIM does not compatible with  ODL version of SDNR of Honolulu.

    HC version of enodebsim is v1.18.0. where as ODL aluminium-SR1 (0.13.1). Need to update enodebsim  and honeycomb with HC version 1.19.08. 

    Please help us here to update the HC version.