Symptoms:
2018-04-11 09:17:20.506 [pool-2-thread-16] INFO [c.v.e.s.common.util.command.SshCommandExecuter] Command 'cd /tmp/; python /tmp/createvd.py 2>&1' output:
Exit Code 0: vmware-esx-storcli VIB not installed
Error output:
2018-04-11 09:17:20.506 [pool-2-thread-16] DEBUG [com.vmware.evo.sddc.common.util.SshUtil] Starting to execute command [ cd /tmp/; python /tmp/capacityflash.py 2>&1 ]
2018-04-11 09:17:27.508 [pool-2-thread-16] DEBUG [com.vmware.evo.sddc.common.util.SshUtil] End of execution of command [cd /tmp/; python /tmp/capacityflash.py 2>&1], Status: 0
Output: All flash disks: {'915715': ['naa.500a0751192daca0', 'naa.500a0751192179f5'], '1526185': ['naa.58ce38ee2021a9bd', 'naa.58ce38e06c8b5915'], '763097': ['t10.NVMe____Dell_Express_Flash_PM1725a_800GB_SFF____D807B081E1300825', 't10.NVMe____Dell_Express_Flash_PM1725a_800GB_SFF____0408B081E1300825'], '457862': ['naa.500a07511991923c']}
Disks to tag: {}
Tag disks with capacity flash
2018-04-11 09:17:40.640 [threadPoolExecutor-2] INFO [c.v.e.s.f.h.HostPreparationPluginImpl] <########-####-####-####-##########67> Checking for preparation failures.
2018-04-11 09:17:40.641 [threadPoolExecutor-2] ERROR [c.v.e.s.f.h.HostPreparationPluginImpl] <########-####-####-####-##########67> Host preparation exception com.vmware.evo.sddc.common.hostservices.error.HostPreparationException: No eligible capacity disks found on ESXi host 172.16.8.101.
java.util.concurrent.ExecutionException: com.vmware.evo.sddc.common.hostservices.error.HostPreparationException: No eligible capacity disks found on ESXi host 172.16.8.101.
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.vmware.evo.sddc.fsmplugins.hostpreparation.HostPreparationPluginImpl.lambda$PrepareEsxi$1(HostPreparationPluginImpl.java:118)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.vmware.evo.sddc.fsmplugins.hostpreparation.HostPreparationPluginImpl.PrepareEsxi(HostPreparationPluginImpl.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.invokeMethod(ProcessingTaskSubscriber.java:356)
at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.processTask(ProcessingTaskSubscriber.java:431)
at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:97)
at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:54)
at reactor.bus.EventBus$3.accept(EventBus.java:317)
at reactor.bus.EventBus$3.accept(EventBus.java:310)
at reactor.bus.routing.ConsumerFilteringRouter.route(ConsumerFilteringRouter.java:72)
at reactor.bus.EventBus.accept(EventBus.java:591)
at reactor.bus.EventBus.accept(EventBus.java:63)
at reactor.core.dispatch.AbstractLifecycleDispatcher.route(AbstractLifecycleDispatcher.java:160)
at reactor.core.dispatch.MultiThreadDispatcher$MultiThreadTask.run(MultiThreadDispatcher.java:74)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.vmware.evo.sddc.common.hostservices.error.HostPreparationException: No eligible capacity disks found on ESXi host 172.16.8.101.
at com.vmware.evo.sddc.common.hostservices.impl.HostPreparationServiceImpl.createVsan(HostPreparationServiceImpl.java:217)
at com.vmware.evo.sddc.common.hostservices.impl.HostPreparationServiceImpl.access$100(HostPreparationServiceImpl.java:32)
at com.vmware.evo.sddc.common.hostservices.impl.HostPreparationServiceImpl$PreparePrimaryHostTask.run(HostPreparationServiceImpl.java:346)
at com.vmware.evo.sddc.common.hostservices.impl.HostPreparationServiceImpl.prepareHost(HostPreparationServiceImpl.java:107)
at com.vmware.evo.sddc.fsmplugins.hostpreparation.HostPreparationPluginImpl.lambda$PrepareEsxi$0(HostPreparationPluginImpl.java:103)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 3 common frames omitted
2018-04-11 09:17:40.642 [threadPoolExecutor-2] ERROR [c.v.e.sddc.orchestrator.model.error.ErrorFactory] [HKP8QG] HOST_PREPARATION_FAILED Host preparation failed with the following errors: com.vmware.evo.sddc.common.hostservices.error.HostPreparationException: No eligible capacity disks found on ESXi host 172.16.8.101.
com.vmware.evo.sddc.orchestrator.exceptions.OrchTaskException: Host preparation failed with the following errors: com.vmware.evo.sddc.common.hostservices.error.HostPreparationException: No eligible capacity disks found on ESXi host 172.16.8.101.
at com.vmware.evo.sddc.fsmplugins.hostpreparation.HostPreparationPluginImpl.PrepareEsxi(HostPreparationPluginImpl.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.invokeMethod(ProcessingTaskSubscriber.java:356)
at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.processTask(ProcessingTaskSubscriber.java:431)
at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:97)
at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:54)
at reactor.bus.EventBus$3.accept(EventBus.java:317)
at reactor.bus.EventBus$3.accept(EventBus.java:310)
at reactor.bus.routing.ConsumerFilteringRouter.route(ConsumerFilteringRouter.java:72)
at reactor.bus.EventBus.accept(EventBus.java:591)
at reactor.bus.EventBus.accept(EventBus.java:63)
at reactor.core.dispatch.AbstractLifecycleDispatcher.route(AbstractLifecycleDispatcher.java:160)
at reactor.core.dispatch.MultiThreadDispatcher$MultiThreadTask.run(MultiThreadDispatcher.java:74)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2018-04-11 09:17:40.643 [threadPoolExecutor-2] DEBUG [c.v.e.s.o.core.ProcessingTaskSubscriber] Collected the following errors for task with name PrepareEsxi and ID ########-####-####-####-##########67: [ExecutionError [errorCode=null, errorResponse=LocalizableErrorResponse [defaultMessage=Host preparation failed with the following errors: com.vmware.evo.sddc.common.hostservices.error.HostPreparationException: No eligible capacity disks found on ESXi host 172.16.8.101., errorCode=HOST_PREPARATION_FAILED, arguments=[com.vmware.evo.sddc.common.hostservices.error.HostPreparationException: No eligible capacity disks found on ESXi host 172.16.8.101.], messageBundle=com.vmware.evo.sddc.fsmplugins.hostpreparation.messages, context=null, referenceToken=HKP8QG]]]
2018-04-11T16:17:21 [ERROR capacityflash.py::disks_to_tag_capacity_flash::167] More than two SSD types exist
Note: The preceding log excerpts are only examples. Date, time, and environmental variables may vary depending on your environment.
The algorithm for determining the capacity disks for an all flash implementation assumes that there will only be disks of two different sizes and types. The smaller disks are expected to be cache disks while the larger disks are expected to be capacity disks. If there are more than two different types or sizes of flash drive in the host, the disks for capacity cannot be determined and no disks will be tagged for capacity. This results in the failure to claim the drives for vSAN disk groups.
When configuring an all-flash host for use with VMware Cloud Foundation for Service Providers, ensure that there are no more than two types or sizes of flash drive.