VMFS FC Datastore fails.vcfOperationsSpec and vcfAutomationSpec have the parameter useExistingDeployment set to trueThe validation for the VMFS FC Datastore fails because the system tries to retrieve IP Pool information using the API sddcs.VcfAutomationSpec.getIpPool().
However, this API call returns a null value since the VcfAutomationSpec does not contain IP Pool details when an existing deployment is used.
The log file /var/log/vmware/vcf/domainmanager/domainmanager.log confirms the issue.
YYYY-MM-DDTHH:MM:SS ERROR [vcf_dm,68f0cc266ac9f51fed2d33c6f58d99cb,b2ad] [c.v.e.s.o.model.error.ErrorFactory,dm-exec-15] [63693G] VCF_ERROR_INTERNAL_SERVER_ERROR Invocation of prefix '' part of task ValidateVmfsFcDatastoreEligibilityAction in plugin ValidationPlugin failed with exception.com.vmware.evo.sddc.common.core.error.InternalServerErrorException: Invocation of prefix '' part of task ValidateVmfsFcDatastoreEligibilityAction in plugin ValidationPlugin failed with exception. at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.invokeMethod(ProcessingTaskSubscriber.java:450) at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.processTask(ProcessingTaskSubscriber.java:517) at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:128) at jdk.internal.reflect.GeneratedMethodAccessor621.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:85) at com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:71) at com.vmware.vcf.common.tracing.TraceRunnable.run(TraceRunnable.java:63) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840)Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.size()" because the return value of "com.vmware.vcf.rest.api.model.v1.sddcs.VcfAutomationSpec.getIpPool()" is null
The error message indicates that the VcfAutomationSpec is missing IP Pool information, which leads to a NullPointerException during the validation step.
Verify the VcfAutomationSpec file by downloading the JSON file, to confirm there is no IP Pool information, as shown below:
"vcfAutomationSpec":{"hostname":"HOSTNAME","useExistingDeployment":true,"sslThumbprint":"##:##:##:##:##:##:##:57:73:1A:6D:61:37:##:##:##:##:##:##:##:49:28:##:##:##:##:##:##:##","adminUserPassword":"***********"}
Broadcom Engineering is aware of the issue and it will be addressed in an upcoming release.
As a workaround, the IP Pool information is manually added to the VcfAutomationSpec JSON file.
This ensures that the validation for the VMFS FC Datastore passes successfully during the deployment.
Updated JSON Example:
"vcfAutomationSpec": { "ipPool": ["###.##.###.##", "###.##.###.##"], "hostname": "HOSTNAME", "internalClusterCidr": "198.18.0.0/15", --> (Add the correct internalClusterCidr value as configured on the existing Automation VM.) "useExistingDeployment": true, "sslThumbprint": "##:##:##:##:##:##:##:57:73:1A:6D:61:37:##:##:##:##:##:##:##:49:28:##:##:##:##:##:##:##", "adminUserPassword": "***********"}