The instantiation of the CNF is failing for the CNF using Helm charts, and one of the values files contains more than 65K characters
search cancel

The instantiation of the CNF is failing for the CNF using Helm charts, and one of the values files contains more than 65K characters

book

Article ID: 386936

calendar_today

Updated On:

Products

VMware Telco Cloud Automation

Issue/Introduction

The CNF instantiation gets stuck at the final step after clicking "instantiate." In the browser console, a JS error appears: "ERROR RangeError: Maximum call stack size exceeded."

The initial issue was caused by residual NF resources that remained, possibly related to the "JS error: ERROR RangeError." As a result, all subsequent attempts to re-instantiate failed with the following error.

```Helm Chart could not be deployed"],"errorCode":"CNF130002","internalMessage":"CNF install failed: Unable to continue with install: ServiceAccount \"007-agent\" in namespace \"james-bond\" exists and cannot be imported into the current release```

If you remove the existing NF and tried a fresh installation, a browser-related issue occurred during the process. This caused the UI to fail when attempting to post the instantiate call to the backend, resulting in the following error.

"Error: rangeError maximum call  stack size exeeced."

 

NOTE: You may also observe that the NF instantiation does not proceed and immediate status shows as Not instantiated and No tasks shown in the UI

Environment

3.2.0-24441748

Cause

 

The issue is caused by the size of the values.yaml file. In TCA 3.2, enhancements are made to support values outside of Latin-1 characters in values.yaml, but this introduced a file size limitation, allowing a maximum of 65,536 characters in Chrome.

This limitation can lead to instantiation failures or other unexpected behaviour when the file exceeds this size.

 

Resolution

Workaround: Use the Firefox browser.

This issue is resolved in TCA 3.3

To apply the fix , the hot patch for TCA 3.2.0.1 can be applied to fix the issue. Please follow the below steps to apply the Hot patch.

Pre-condition

1) Ensure that the current TCA's base build is 24441215 (tca-mgmtplatform) and tca-cnva is: 24441748, otherwise this patch would fail.

To find what is the current tca-mgmtplatform follow the below steps.

  1. SSH login to tca-mgr vm
  2. Run the command:
    kubectl get tcxproduct tca-mgr -o jsonpath="{.status.globalSpec}"
    that returns the below response where defaultImgpkgTag specifies the build.
    Output: {
    
    "defaultAppCrNamespace": "tca-mgr",
    
    "defaultImgpkgTag": "3.2.0-ob-24441215",
    
    "pauseApps": false,
    
    "registryRootUrl": "100.102.1.1:5000/tca-project"
    
    }


  3. Confirm that the tca-mgr & tca-common tcxproducts are ready & all cr's reconciled successfully. If either of them have READY status as FALSE, script will exit and changes won't be applied.
    kubectl get tcxproduct
    
    NAME                       STATUS                         READY             MESSAGE                                                   AGE
    tca-common           updateCompleted           True               All App CRs reconciled successfully         156d
    tca-mgr                updateCompleted           True              All App CRs reconciled successfully         156d


Impact/Risk

TCA applications will be down for 5min, while patch script executes.
Impacts TCA 3.2.0.1

 

Steps to execute to apply the patch (ONLY on tca manager)

  1. Take snapshot of TCA Mgr VM
  2. Download the patch-changes.tar patch bundle.
  3. Copy the patch-changes.tar patch bundle to the /tmp directory of the TCA Manager appliance.
  4. SSH into the TCA Manager and switch the user to root.
  5. Extract the patch-changes.tar file:
    tar -xvf patch-changes.tar
  6. Change to the patch-changes folder:
    cd patch-changes
  7. Execute the patch-tca.sh patch file:
    ./patch-tca.sh
  8. Monitor the patch status to completion. One can also review the contents of the tca-patch.log, in the same directory from which the script was run.

How to validate if patch script is successful

  1. Run the below command and the apps should be in READY state as per below. please note that it will take 4-5 minutes for CR's to be reconciled, so watch kubectl get tcxproduct to see the status.

  2. Once tca-mgr is in ready true state; re-try the CNF instantiation from chrome browser using large values.yaml file

Troubleshooting Steps:

1) Check tca-patch.log in the same folder from where patch-tca.sh is executed to see detailed logs of script execution.

2) Backup of the image list will be saved under /opt/vmware/images/tca_images/3.2.0 on the tca-mgr system.

 

Attachments

patch-changes.tar get_app