Notifications

34 views

Description

Symptoms

  • While trying to provision a VM from Vsphere datacenter it fails with below error.
java.lang.NullPointerException
at com.snc.cmp.connector.cloud.compute.provider.impl.vSphereComputeProvider.createNode(vSphereComputeProvider.java:313)
at com.snc.cmp.connector.cloud.compute.customizer.impl.vSphereComputeCustomizer.createNode(vSphereComputeCustomizer.java:194)
at com.snc.cmp.connector.cloud.compute.component.CloudComputeProducer.process(CloudComputeProducer.java:48)
at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:145)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:62)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:68)
at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:412)
at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:380)
at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:270)
at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:380)
at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:238)
at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:128)
at org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeaders(DefaultProducerTemplate.java:253)
at org.apache.camel.impl.DefaultProducerTemplate.requestBodyAndHeaders(DefaultProducerTemplate.java:313)
at org.apache.camel.impl.DefaultProducerTemplate$10.call(DefaultProducerTemplate.java:588)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
  • Observed that the VM provision status shows Successfully completed and the VM not provisioned in actual.
  • Observed that the "sn_cmp_order" shows the VM provision successful and the trail shows the above error.

Release

  • London P* & Madrid P* 

Environment

  • Instance with Cloud Management
  • Vcenter Service Account configured 
  • Logical Datacenters Discovered successfully along with Resources 
  • BluePrint and catalog item created successfully on the Vsphere Datacenter 

Cause

  • There are no other error logs observed on what parameters missing to provision the VM 
  • Understanding the  InputParameters from the trail 
CustomTags: '{"Tag Id":"xxxxxxxxxxxxxxxx","Business Service":"Access","ServiceNow
Instance":"<instancename>.service-now.com","User":"Andrew Herbert","User Group":"Admin
Team Test Management Group ","Stack":"TEST","Time Provisioned":"2019-06-19 23:53:54"}'
AdditionalParameters: '{ "ClusterName":"", "Datastore":"", "ClusterDatastore":"",
"CustomSpecName" : "", "HostName" : "", "ResourcePoolName" : ""}'
NetworkProfile: '{"Network":"xxxxxxxxx","SubnetId":""}'
VMFolder: xxxxxxxx
  • The above parameters show the "Business Service" "ClusterName" and "Datastore" "ClusterDatastore" have no data, apart from a valid Datastore rest of the parameters are not mandatory for provisioning a VM 
  • Hence, it is noted that the Provision is taking a wrong Datastore which causing the issue

Resolution

  • Review the available Datacenters in the Vcenter "cmdb_ci_vcenter_datastore" 
  • Choose the Datastores in ACCESSIBLE=TRUE 
  • Change the Catalog item to have the option to choose available Datastore at the time of submitting the Provision
  • While provisioning choose the active Datastore and observe Successful provision.  

 

Additional Information

vSphere VM provisioning is picking the inactive datastore

Article Information

Last Updated:2019-08-02 20:38:51
Published:2019-06-26