VCF 9.0.0 installer fails at "Allocate ESXI host(s) IP Addresses" with "Invalid parameter: Network Pool cannot be null"
search cancel

VCF 9.0.0 installer fails at "Allocate ESXI host(s) IP Addresses" with "Invalid parameter: Network Pool cannot be null"

book

Article ID: 421226

calendar_today

Updated On:

Products

VMware Cloud Foundation

Issue/Introduction

YYYY-MM-DDTHH:MM:SS.DEBUG [vcf_dm,69298fd04c3da59d6f5eadc365f9b78b,10ef] [c.v.e.s.o.c.ProcessingTaskSubscriber,dm-exec-28]  Invoking task EsxisHostIpAllocationAction.PREVALIDATE Description:
 Allocate ESXi Host IP Addresses, Plugin: ClusterManagerPlugin, ParamBuilder null, Input map: {networkPoolParam=InitializeSddcForSddcMgrReuse____14__initSddc____1__initSddcGreenfield____1__addViWithP
olicyNsxt____4__addVi____12__AddViHeader____7__networkPoolParam}, Id: 0xxxxxxxxxx-9xxx-1xxx-8xxx-cxxxxxxxxxxx ...
YYYY-MM-DDTHH:MM:SS DEBUG [vcf_dm,69298fd04c3da59d6f5eadc365f9b78b,10ef] [c.v.e.s.o.core.recipes.spel.SpelBook,dm-exec-28]  Field InitializeSddcForSddcMgrReuse____14__initSddc____1__initSddc
Greenfield____1__addViWithPolicyNsxt____4__addVi____12__AddViHeader____7__networkPoolParam in SpEL expression InitializeSddcForSddcMgrReuse____14__initSddc____1__initSddcGreenfield____1__addViWithPol
icyNsxt____4__addVi____12__AddViHeader____7__networkPoolParam is not defined. Setting value to null.
YYYY-MM-DDTHH:MM:SS DEBUG [vcf_dm,69298fd04c3da59d6f5eadc365f9b78b,10ef] [c.v.e.s.o.c.c.ContractParamBuilder,dm-exec-28]  Contract task Allocate ESXi Host IP Addresses input: {"isVvol":false
,"_executionUuid":"eb2884cc-350a-461c-9abd-7b5e2eb88b02"}
YYYY-MM-DDTHH:MM:SS.348+0000 ERROR [vcf_dm,69298fd04c3da59d6f5eadc365f9b78b,10ef] [c.v.e.s.o.model.error.ErrorFactory,dm-exec-28]  [S#####] VCF_ERRORS_GENERIC_INPUT_PARAM_ERROR Invalid parameter: Network Pool Param cannot be null
com.vmware.evo.sddc.common.core.error.InvalidInputException: Invalid parameter: Network Pool Param cannot be null
        at com.vmware.evo.sddc.common.util.PluginUtils.checkNullParam(PluginUtils.java:162)
        at com.vmware.evo.sddc.common.services.actions.EsxisHostIpAllocationAction.preValidate(EsxisHostIpAllocationAction.java:59)
        at com.vmware.evo.sddc.common.services.actions.EsxisHostIpAllocationAction.preValidate(EsxisHostIpAllocationAction.java:43)
        at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionState.lambda$static$0(FsmActionState.java:22)
        at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionState.invoke(FsmActionState.java:66)
        at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionPlugin.invoke(FsmActionPlugin.java:161)
        at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionPlugin.invoke(FsmActionPlugin.java:147)
        at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.invokeMethod(ProcessingTaskSubscriber.java:403)
        at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.processTask(ProcessingTaskSubscriber.java:540)
        at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:128)
        at jdk.internal.reflect.GeneratedMethodAccessor214.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)

  • The workaround 2 from the above kb was applied twice . The following log lines from  /var/log/vmware/vcf/domainmanager.log reports: 
    • First UPDATE of VAULT STORE CONTEXT - version1

YYYY-MM-DDTHH:MM:SS INFO  [vcf_dm,692976fe54b19b177f81c37d03288a55,3ddb] [c.v.v.v.controller.VaultController,http-nio-127.0.0.1-7200-exec-2]  Updating secret for id eb2884cc-350a-461c-9abd-7b5e2eb88b02

    • Second UPDATE of VAULT STORE CONTEXT - version2

YYYY-MM-DDTHH:MM:SS INFO  [vcf_dm,69297b0b205314a9d098abb24b135602,a633] [c.v.v.v.controller.VaultController,http-nio-127.0.0.1-7200-exec-5]  Updating secret for id eb2884cc-350a-461c-9abd-7b5e2eb88b02

 

Environment

VCF 9.0.0.0 / VCF 9.0.1 

Cause

The issues occurs when workaround 2, from the kb VCF 9.0.0 Deployment fails with VCF Installer 9.0.1 with error - NSX install image validation failed for NSX Version is followed twice  with an interval of more than 20 minutes, using the same workflow.json file captured during the initial attempt. 

Hence the vault is updated with an outdated spec leading to the the failure of the deployment. 

Resolution

To resolve this, two options can be followed: 

"networkPoolParam":{"esxiIds":["dxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","1xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","exxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","1xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","cxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","axxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","3xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","7xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","dxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]],"networkTypes":["VMOTION"]}}"

    • Once obtained, modify the workflow.json that was previously extracted, and update the "networkPoolParam" as obtained above 
      • Run the below command to copy the workflow.json

curl -X GET http://localhost/domainmanager/internal/vault/<execution ID identified from domainmanager.log> | json_pp > /tmp/workflow.json

      • Sample:

curl -X GET http://localhost/domainmanager/internal/vault/86ba####-####-####-####-########5eb7 | json_pp > /tmp/workflow.json

      • Edit /tmp/workflow.json file and replace 'networkPoolParam' with the the above obtained spec. 
      • Update the modified workflow.json in VCF Installer

curl -H 'Content-Type:text/plain' -X PUT http://localhost/domainmanager/internal/vault/86ba####-####-####-####-########5eb7 -d @/tmp/workflow.json

  • Retry the failed run from the VCF Installer UI