CNF instantiation fails when large value files are provided
search cancel

CNF instantiation fails when large value files are provided

book

Article ID: 325372

calendar_today

Updated On:

Products

VMware Telco Cloud Automation

Issue/Introduction

Prevent Container Network Function (CNF) instantiation failures by allowing a CNF to accept up to 5MB of data across all helm charts while instantiating and upgrading a CNF instance.

When instantiating a CSAR with large values file, the following error caused the deployment to fail:

In TCA UI:

Failed to Instantiate CNF


In Kafka logs:

2022-08-18 08:30:01,453] WARN [SocketServer brokerId=0] Unexpected error from /127.0.0.1; closing connection (org.apache.kafka.common.network.Selector)
org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 2094093 larger than 2000000)
at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:105)
at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:448)
at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:398)
at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:678)
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:580)
at org.apache.kafka.common.network.Selector.poll(Selector.java:485)
at kafka.network.Processor.poll(SocketServer.scala:861)
at kafka.network.Processor.run(SocketServer.scala:760)
at java.base/java.lang.Thread.run(Unknown Source)

Environment

2.1

Cause

Telco Cloud Automation (TCA) uses a job framework that writes multiple copies of base64 encoded file contents of CSAR job data,causing them to exceed the 2 MB limit imposed by the Kafka component of TCA. This in turn causes CNF instantiations to fail.

Resolution

Resolved in TCA 2.1.1.

Workaround:

Update the nfv_vim_service-1.0.jar and nfv_placement_service-1.0.jar files on the TCA Manager (TCA-M) and all TCA Control Planes (TCA-CP) managed by this instance of TCA-M.

TCA Manager

  1. SSH into the TCA-M as admin
  2. Change directory to /tmp
    cd /tmp
  3. Backup the current nfv_vim_service-1.0.jar and the nfv_placement_service-1.0.jar files
    cp /opt/vmware/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar nfv_vim_service-1.0_original.jar
    cp /opt/vmware/Services/nfv_placement_service_1.0/nfv_placement_service-1.0.jar nfv_placement_service-1.0_original.jar
  4. Download the attached nfv_vim_service-1.0.jar and the nfv_placement_service-1.0.jar files.
  5. Overwrite the the old files with the newly downloaded files
    cp nfv_vim_service-1.0.jar /opt/vmware/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar
    cp nfv_placement_service-1.0.jar /opt/vmware/Services/nfv_placement_service_1.0/nfv_placement_service-1.0.jar
  6. Switch to the root user
    su -
  7. Restart the app engine service
    systemctl restart app-engine
  8. Wait 2-3 minutes for the service to restart.


TCA Control Planes

  1. SSH into the TCA-CP as admin
  2. Change directory to /tmp
    cd /tmp
  3. Backup the current nfv_vim_service-1.0.jar and the nfv_placement_service-1.0.jar files
    cp /opt/vmware/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar nfv_vim_service-1.0_original.jar
    cp /opt/vmware/Services/nfv_placement_service_1.0/nfv_placement_service-1.0.jar nfv_placement_service-1.0_original.jar
  4. Download the attached nfv_vim_service-1.0.jar and the nfv_placement_service-1.0.jar files.
  5. Overwrite the the old files with the newly downloaded files
    cp nfv_vim_service-1.0.jar /opt/vmware/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar
    cp nfv_placement_service-1.0.jar /opt/vmware/Services/nfv_placement_service_1.0/nfv_placement_service-1.0.jar
  6. Switch to the root user
    su -
  7. Restart the app engine service
    systemctl restart app-engine
  8. Wait 2-3 minutes for the service to restart.

 




Additional Information

TCA limits after patch is applied

  • The total number of value files supported per CNF is 25
  • The maximum size of override parameters / value file contents (after base64 encoding) across all VDUs in a CNF is 5MB
  • The following tool can be used to perform base64 encoding on your values file:  
    https://www.base64encode.org/  

 

Attachments

nfv_vim_service-1.0.jar get_app
nfv_placement_service-1.0.jar get_app