AP tool enable patch for VC/NSXT on VxRail fails after the Skip Level Upgrade
search cancel

AP tool enable patch for VC/NSXT on VxRail fails after the Skip Level Upgrade


Article ID: 311884


Updated On:


VMware Cloud Foundation


If the user tries to enable patch after SLU(Skip Level Upgrade) for VC/NSXT with the ap tool versions less than , the bundle(VC/NSXT) may not become available due to an issue with the version of ESX added in the Software Compatibility Sets file . In order to overcome this issue, The work around is provided to unblock the users to make the bundle available . 

This issue is likely to occur, if the environment has undergone a
SLU (Skip Level Upgrade) and the enable patch of VC or NSXT is tried with
the AP tool . 

2022-10-18 06:08:04.729 [INFO ] Updating telemetry details of operation: ENABLE_ASYNC_PATCH
2022-10-18 06:08:04.736 [INFO ] Added operation ENABLE_ASYNC_PATCH and its status FAILURE to async patch tool metrics
2022-10-18 06:08:04.769 [INFO ] Successfully updated telemetry details of operation: ENABLE_ASYNC_PATCH
2022-10-18 06:08:04.769 [ERROR] Error while initiating required functionality: ENABLE_ASYNC_PATCH
2022-10-18 06:08:04.784 [ERROR] POST_CHECKS_FAILED
-- Error Message: Failures found during AP Tool postchecks - [Post enable patch check failed due to upgradable status is incorrect for bundle .Upgradable status should be AVAILABLE.]
-- Remedy: Please refer to AP tool and LCM logs for further debugging. Contact GSS if issue persists.

Exception in thread "main" com.vmware.evo.sddc.lcm.model.error.LcmException: Failures found during AP Tool postchecks - [Post enable patch check failed due to upgradable status is incorrect for bundle. Upgradable status should be AVAILABLE.]
                at com.vmware.evo.sddc.lcm.tools.asyncpatch.PostCheck.checkUpgradableStatus
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.PostCheck.doPostchecks
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.PostCheck$$FastClassBySpring
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed
        at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed
        at com.vmware.vcf.featuretoggle.aspect.FeatureToggleAspect.trace
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0
(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod
        at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod
        at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAround
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvised
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.PostCheck$$EnhancerBySpring
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.AsyncPatchEnabler.enablePatches
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.AsyncPatchWorkflowComposer.
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.AsyncPatchWorkflowComposer
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.EnablePatchHelper.enablePatches
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.AsyncPatchToolMain.process
        at com.vmware.evo.sddc.lcm.tools.asyncpatch.AsyncPatchToolConfig.main


During the SLU , there will be some sets of aliases added for the ESX . During enable patch with the AP tool, We construct software compatibility sets file , which LCM used to calculate the bundle applicability .
Since these aliases are not honored due to a bug in the AP tool , the constructed software compatibility sets file will not make the bundle AVAILABLE for upgrade . 


This issue will be fixed in future releases.

Until the fix is released users are requested to apply the below workaround steps :

Step 1.
Copy the softwareCompatibilitySets from
/nfs/vmware/vcf/nfs-mount/bundle to /nfs/vmware/vcf/nfs-mount/bundle/depot/local

Step 2 .
Find the compat set entry below:
a. If the bundle is VC , find the entry in the file with the VC version as "upgrade to version" of VC bundle and the current(or base version from Alias file) of NSXT and current version of ESX . 

b. If the bundle is NSXT, find the entry in the file with the NSXT version as "upgrade to version" of NSXT bundle and the current(or base version from Alias file) of VC and current version of ESX . 
Step 3.
Check in the alias file /opt/vmware/vcf/lcm-app/conf/VersionAlias.yml for any aliases of ESX(with current version). 

Step 4.
Modify the SCS file and add the base version of ESX in the file.
Step 5.
chmod 777 /nfs/vmware/vcf/nfs-mount/bundle/depot/local/softwareCompatibilitySets.json

Step 6.
curl -X PUT http://localhost/lcm/bundle/upload/compatibilitySets -H "Content-Type: application/json"