Error "No such file or directory" returned when attempting to set a VMware NSX Edge load balancer performance profile
book
Article ID: 372433
calendar_today
Updated On:
Products
VMware NSXVMware NSX-T Data Center
Issue/Introduction
Attempting to apply a VMware NSX Edge load balancer performance profile using nsxcli command 'set load-balancer perf-profile https' fails with error "failed to apply profile: [Errno 2] No such file or directory: '/config/vmware/edge/lb/etc/perf/xlvm_https_profile.json'".
The specific profile file may differ depending on if the 'http', 'https', or 'l4' profile was attempting to be applied.
This issue only applies to Virtual Machine NSX Edges with the extra large form factor (16 vCPU and 64 GB memory).
Checking the files present on the VMware NSX Edge location at /config/vmware/edge/lb/etc/perf/, no profiles for the extra large form factor (xlvm) are found present.
Environment
VMware NSX-T 3.x
VMware NSX 4.x
Cause
If the following conditions are met, the VMware NSX Edge will not have the load balancer performance profiles for the extra large (xlvm) form factor due to the way the upgrade is processed which does not update files in the /config file system location that these profiles reside in.
The VMware NSX Edge was deployed on NSX version 2.5 or earlier, which had no Extra Large form factor option.
The VMware NSX Edge was later upgraded to NSX version 3.x or later.
The VMware NSX Edge resources (CPU and memory) were increased manually to meet the requirements for the extra large Edge form factor.
Copy the missing performance profiles from the load balancer container filesystem (/var/lib/docker/overlay2/) to the /config/vmware/edge/lb/etc/perf/ file system location they are missing from and correct the permissions and owners as shown in the steps below.
SSH to the VMware NSX Edge that the profile is missing from, as the root user.
Change directory to /var/lib/docker/overlay2/
cd /var/lib/docker/overlay2/
Run the 'find' command to locate copies of the missing profiles. You should see 3 or more lines of output that include paths to the copies of the missing xlvm performance profiles.
find ./ -iname *xlvm*
Copy the profiles to the location that they are missing from (the path will differ from the example below).