The Error 'No eligible capacity disks found on host' is encountered during bringup on VMware Cloud Foundation for Service Providers
search cancel

The Error 'No eligible capacity disks found on host' is encountered during bringup on VMware Cloud Foundation for Service Providers

book

Article ID: 316764

calendar_today

Updated On:

Products

VMware Cloud Foundation

Issue/Introduction

Symptoms:

  • The host is configured for all flash vSAN disk groups.
  • Bringup of the host fails when attempting to claim disks for vSAN.
  • You see messages similar to the following in the /opt/vmware/bringup/logs/evosddc-bringup-debug.log file on the CentOS VM, indicating that no disks are being tagged for capacity:
     
    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
     
  • You see messages similar to the following in the /opt/vmware/bringup/logs/evosddc-bringup-debug.log file on the CentOS VM, indicating that there are no eligible capacity disks:
     
    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]]]
     
  • You see messages similar to the following in the /scratch/log/capacityflash.log file on the ESXi host:
     
    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.

Cause

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.

Resolution

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.