CNF (Container Network Function) Instantiation Fails When Large Value Files Are Provided
search cancel

CNF (Container Network Function) Instantiation Fails When Large Value Files Are Provided

book

Article ID: 325372

calendar_today

Updated On:

Products

VMware VMware Telco Cloud Automation

Issue/Introduction

The purpose of this patch is to prevent 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.

 


Symptoms:
Instantiating a CSAR with large values file causes the CNF instantiation to fail with the following errors:

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

VMware Telco Cloud Automation 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

To be addressed in Telco Cloud Automation 2.1.1


Workaround:
TCA Manager
1.  SSH into the TCA Manager as admin
2. Change directory to /tmp
#!/bin/bash
cd /tmp
 
3. Make a copy the of the nfv_vim_service-1.0.jar and the nfv_placement_service-1.0.jar
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. Issue the following commands:
curl -O http://build-squid.eng.vmware.com/build/mts/release/bora-20351240/publish/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar
cp nfv_vim_service-1.0.jar }}{{/opt/vmware/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar
curl -O http://build-squid.eng.vmware.com/build/mts/release/bora-20351240/publish/Services/nfv_placement_service_1.0/nfv_placement_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
5. Switch the admin user to root
su -
6. Restart the app engine using the command "systemctl restart app-engine"
systemctl restart app-engine
7. Wait 2-3 minutes for the services to restart. 

TCA - CP
1.  SSH into the TCA-CP as admin
2. Change directory to /tmp
#!/bin/bash
cd /tmp
3. Make a copy the of the nfv_vim_service-1.0.jar
cp /opt/vmware/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar nfv_vim_service-1.0_original.jar
4. Issue the following commands:
curl -O http://build-squid.eng.vmware.com/build/mts/release/bora-20351240/publish/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar
cp nfv_vim_service-1.0.jar }}{{/opt/vmware/Services/nfv_vim_service_1.0/nfv_vim_service-1.0.jar 
5. Switch the admin user to root
su -
6. Restart the app engine using the command "systemctl restart app-engine"
systemctl restart app-engine
7. Wait 2-3 minutes for the services 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/  


Impact/Risks:

Impacts Telco Cloud Automation 2.1