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."
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?
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>'
How did you create you reservation ? Through Infrastructure organizer ?
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?
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 ?
Forgot to tell try running against IAAS DB(sql server).
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
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>'
Outstanding! Thanks very much, it works now
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.
I don't have it handy. Will check the logic and let you know.
OK, thanks - that would be very helpful