VMware Cloud Community
jmedd
Enthusiast
Enthusiast
Jump to solution

Failed to deploy from blueprint: Error requesting machine.INNER EXCEPTION: Nullable object must have a value.

vRA 6.2.1-2543390

Trying to deploy any blueprint in a tenant I get the following error as the requester:

"A server error was encountered Error requesting machine. Nullable object must have a value.."

Looking in the log viewer I get:

"Error requesting machine.INNER EXCEPTION: Exception has been thrown by the target of an invocation.INNER EXCEPTION: Error requesting machine.INNER EXCEPTION: Nullable object must have a value."

NullableObject01.PNG

From the C:\Program Files (x86)\VMware\vCAC\Server\Model Manager Web\Logs\Repository log on the IaaS server I can see the blueprint request and the following stack trace:

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - MachineRequest :<?xml version="1.0" encoding="utf-16"?>

<MachineRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <TemplateId>2e2cc4cb-c867-4290-8419-77489755d0c0</TemplateId>

  <GroupId>f4ac2e16-8b0a-47ea-94bb-455d0155f44b</GroupId>

  <RequestingUser>jmedd@vrademo.local</RequestingUser>

  <Owner>jmedd@vrademo.local</Owner>

  <Reason>This is the reason</Reason>

  <Properties>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>__Notes</Name>

      <Value>Testing</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>provisioningGroupId</Name>

      <Value>f4ac2e16-8b0a-47ea-94bb-455d0155f44b</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>VirtualMachine.LeaseDays</Name>

      <Value>100</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>blueprintId</Name>

      <Value>2e2cc4cb-c867-4290-8419-77489755d0c0</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>VirtualMachine.CPU.Count</Name>

      <Value>1</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>VirtualMachine.Disk0.Size</Name>

      <Value>16</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>true</IsRuntime>

      <Name>Custom.Domain</Name>

      <Value>child.vrademo.local</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>VirtualMachine.Memory.Size</Name>

      <Value>2048</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>VirtualMachine.Disk0.IsClone</Name>

      <Value>true</Value>

    </NameValue>

    <NameValue>

      <IsEncrypted>false</IsEncrypted>

      <IsHidden>false</IsHidden>

      <IsRuntime>false</IsRuntime>

      <Name>__api.request.id</Name>

      <Value>2116a8fc-cf07-4827-8841-70d2e8495b1a</Value>

    </NameValue>

  </Properties>

</MachineRequest>

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - AllocateMachineRequest: 25da3edf-7dfe-4582-ac6e-49464775d41a: started initializing AllocateMachineRequest

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - AllocateMachineRequest: 25da3edf-7dfe-4582-ac6e-49464775d41a: completed initializing AllocateMachineRequest

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - AllocateReservationService: 25da3edf-7dfe-4582-ac6e-49464775d41a: started GetAvailableReservations

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - AllocateReservationService: 25da3edf-7dfe-4582-ac6e-49464775d41a: completed GetAvailableReservations

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - AllocateReservationService: 25da3edf-7dfe-4582-ac6e-49464775d41a: started loading 1 available reservations

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - AllocateReservationService: 25da3edf-7dfe-4582-ac6e-49464775d41a: completed loading 1 available reservations

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - AllocateReservationRequest: e78ecf77-025c-4cea-a322-fdfd1f5c4b21: started initializing AllocateReservationRequest

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - AllocateReservationRequest: e78ecf77-025c-4cea-a322-fdfd1f5c4b21: completed initializing AllocateReservationRequest

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Debug]: Thread-Id: 25 - Started deleting virtual machine record for: [None]

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Debug]: Thread-Id: 25 - Finished deleting virtual machine record for: [None]

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Error]: Thread-Id: 25 - Failed to submit request. Inner exception: Nullable object must have a value.

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Error]: Thread-Id: 25 - jmedd@vrademo.local

System.InvalidOperationException: Nullable object must have a value.

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations(AllocateMachineRequest request, AllocateReservationRequest currentReservation, Boolean requireExactPolicy)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateAvailableReservations(List`1 availableReservations, List`1 machineRequests, Boolean requireExactPolicy, StringBuilder infoErrorMsg)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations(List`1 availableReservations, List`1 requests)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservationByType(AllocateMachineRequest request)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservations(AllocateRequest request)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.<>c__DisplayClasse.<AllocateMachine>b__c()

   at DynamicOps.Common.RetryTransactionException.RetryIfNecessary(Action action)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.AllocateMachine(VirtualMachineTemplate template, ProvisioningGroup group, String owner, List`1 properties, Boolean isComponent, Boolean applyExpiresOverride, Nullable`1 expiresOverride, Nullable`1 networkScopeId, VirtualMachine masterMachine)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequestByType(VirtualMachineTemplate template, ProvisioningGroup group, String owner, List`1 properties, List`1 originalRuntimeProperties)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest(MachineRequest request)

[UTC:2015-06-03 11:38:39 Local:2015-06-03 12:38] [Error]: Thread-Id: 25 - System.Data.Services.DataServiceException: Error requesting machine. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.Services.DataServiceException: Error requesting machine. ---> System.InvalidOperationException: Nullable object must have a value.

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations(AllocateMachineRequest request, AllocateReservationRequest currentReservation, Boolean requireExactPolicy)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateAvailableReservations(List`1 availableReservations, List`1 machineRequests, Boolean requireExactPolicy, StringBuilder infoErrorMsg)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations(List`1 availableReservations, List`1 requests)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservationByType(AllocateMachineRequest request)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservations(AllocateRequest request)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.<>c__DisplayClasse.<AllocateMachine>b__c()

   at DynamicOps.Common.RetryTransactionException.RetryIfNecessary(Action action)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.AllocateMachine(VirtualMachineTemplate template, ProvisioningGroup group, String owner, List`1 properties, Boolean isComponent, Boolean applyExpiresOverride, Nullable`1 expiresOverride, Nullable`1 networkScopeId, VirtualMachine masterMachine)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequestByType(VirtualMachineTemplate template, ProvisioningGroup group, String owner, List`1 properties, List`1 originalRuntimeProperties)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest(MachineRequest request)

   --- End of inner exception stack trace ---

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest(MachineRequest request)

   at DynamicOps.ManagementModel.ManagementModelOperations.<SubmitVirtualMachineRequest>b__c(MachineRequest r, ManagementModelEntities d)

   at DynamicOps.Common.Entity.OperationInvoke`1.Execute[TRequest](Func`3 operation)

   --- End of inner exception stack trace ---

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)

   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)

   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

   at System.Data.Services.Providers.BaseServiceProvider.InvokeServiceOperation(ServiceOperation serviceOperation, Object[] parameters)

   --- End of inner exception stack trace ---

   at System.Data.Services.ErrorHandler.HandleTargetInvocationException(TargetInvocationException exception)

   at System.Data.Services.Providers.BaseServiceProvider.InvokeServiceOperation(ServiceOperation serviceOperation, Object[] parameters)

   at System.Data.Services.Providers.DataServiceProviderWrapper.InvokeServiceOperation(OperationWrapper serviceOperation, Object[] parameters)

   at System.Data.Services.RequestUriProcessor.ComposeExpressionForServiceOperation(SegmentInfo segment, IDataService service, Boolean checkRights, SegmentInfo lastSegment)

   at System.Data.Services.RequestUriProcessor.ComposeExpressionForSegments(IList`1 segments, IDataService service, Boolean isCrossReferencingUri)

   at System.Data.Services.RequestUriProcessor.ProcessRequestUri(Uri absoluteRequestUri, IDataService service, Boolean internalQuery)

   at System.Data.Services.DataService`1.HandleRequest()

INNER EXCEPTION: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.Services.DataServiceException: Error requesting machine. ---> System.InvalidOperationException: Nullable object must have a value.

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations(AllocateMachineRequest request, AllocateReservationRequest currentReservation, Boolean requireExactPolicy)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateAvailableReservations(List`1 availableReservations, List`1 machineRequests, Boolean requireExactPolicy, StringBuilder infoErrorMsg)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations(List`1 availableReservations, List`1 requests)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservationByType(AllocateMachineRequest request)

   at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservations(AllocateRequest request)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.<>c__DisplayClasse.<AllocateMachine>b__c()

   at DynamicOps.Common.RetryTransactionException.RetryIfNecessary(Action action)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.AllocateMachine(VirtualMachineTemplate template, ProvisioningGroup group, String owner, List`1 properties, Boolean isComponent, Boolean applyExpiresOverride, Nullable`1 expiresOverride, Nullable`1 networkScopeId, VirtualMachine masterMachine)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequestByType(VirtualMachineTemplate template, ProvisioningGroup group, String owner, List`1 properties, List`1 originalRuntimeProperties)

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest(MachineRequest request)

   --- End of inner exception stack trace ---

   at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest(MachineRequest request)

   at DynamicOps.ManagementModel.ManagementModelOperations.<SubmitVirtualMachineRequest>b__c(MachineRequest r, ManagementModelEntities d)

   at DynamicOps.Common.Entity.OperationInvoke`1.Execute[TRequest](Func`3 operation)

   --- End of inner exception stack trace ---

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)

   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)

   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

   at System.Data.Services.Providers.BaseServiceProvider.InvokeServiceOperation(ServiceOperation serviceOperation, Object[] parameters)

[UTC:2015-06-03 11:38:41 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - Guid :<?xml version="1.0" encoding="utf-16"?>

<guid>2e2cc4cb-c867-4290-8419-77489755d0c0</guid>

[UTC:2015-06-03 11:38:47 Local:2015-06-03 12:38] [Trace]: Thread-Id: 25 - Guid :<?xml version="1.0" encoding="utf-16"?>

<guid>2e2cc4cb-c867-4290-8419-77489755d0c0</guid>

Any ideas on what could be the nullable object that requires a value?

Blog: http://jonathanmedd.net | Twitter: @jonathanmedd
Tags (3)
Reply
0 Kudos
1 Solution

Accepted Solutions
kumarankpl
Hot Shot
Hot Shot
Jump to solution

Yep that seems to be the problem You can update using below query and see whether it works for you.

UPDATE [HostReservation] set StorageAllocationPolicyID = 4, CurrentStorageAllocationIndex = 0 , CurrentNetworkAllocationIndex =0

WHERE HostReservationName = '<Reservation Name>'

View solution in original post

Reply
0 Kudos
9 Replies
kumarankpl
Hot Shot
Hot Shot
Jump to solution

How did you create you reservation ? Through Infrastructure organizer ?

Reply
0 Kudos
jmedd
Enthusiast
Enthusiast
Jump to solution

Programmatically via vRO. Using some code with the last line as vCACEntityManager.createModelEntity(vcacHost.id , modelName , entitySetName , properties , links , null)

A number of the properties and links were set to null. Is it one of those that is causing the problem perhaps?

Blog: http://jonathanmedd.net | Twitter: @jonathanmedd
Reply
0 Kudos
kumarankpl
Hot Shot
Hot Shot
Jump to solution

Yep looks like that's the issue. Can you run the below query and check value for the below columns. This will help to see whats missing.


CurrentStorageAllocationIndex , CurrentNetworkAllocationIndex , StorageAllocationPolicyID.

SELECT *

FROM [vCAC].[dbo].[HostReservation]

WHERE HostReservationName = '<reservation-name>'


In the above query replace <reservation-name> with your reservation name ?

Reply
0 Kudos
kumarankpl
Hot Shot
Hot Shot
Jump to solution

Forgot to tell try running against IAAS DB(sql server).

Reply
0 Kudos
jmedd
Enthusiast
Enthusiast
Jump to solution

The values for all three columns are set to null. Looks like that is the problem then?

In another tenant (where deploying from Blueprints work), I created the Reservation through the vRA WebUI and the values are populated as:

CurrentStorageAllocationIndex - 7

CurrentNetworkAllocationIndex - 7

StorageAllocationPolicyID - 4

Blog: http://jonathanmedd.net | Twitter: @jonathanmedd
Reply
0 Kudos
kumarankpl
Hot Shot
Hot Shot
Jump to solution

Yep that seems to be the problem You can update using below query and see whether it works for you.

UPDATE [HostReservation] set StorageAllocationPolicyID = 4, CurrentStorageAllocationIndex = 0 , CurrentNetworkAllocationIndex =0

WHERE HostReservationName = '<Reservation Name>'

Reply
0 Kudos
jmedd
Enthusiast
Enthusiast
Jump to solution

Outstanding! Thanks very much, it works now Smiley Happy

Do you have any information on what StorageAllocationPolicyID is? And also on what the value to set for it translates to?

I will need to set this value as part of programmatically creating the reservation, so need to know how to determine the value.

Blog: http://jonathanmedd.net | Twitter: @jonathanmedd
Reply
0 Kudos
kumarankpl
Hot Shot
Hot Shot
Jump to solution

I don't have it handy. Will check the logic and let you know.

Reply
0 Kudos
jmedd
Enthusiast
Enthusiast
Jump to solution

OK, thanks - that would be very helpful Smiley Happy

Blog: http://jonathanmedd.net | Twitter: @jonathanmedd
Reply
0 Kudos