
On 12/25/2017 05:46 PM, Yaniv Kaul wrote:
While trying to add an instance type, I fail with the error: Operation Failed". Fault detail is "[Cannot add Template. Memory size (1024MB) cannot exceed maximum memory size (0MB).]
The code is taken from the example in the SDK, so I'm not sure what I'm doing wrong here. Code: instance_types_service.add( types.InstanceType( name='myinstancetype', description='My instance type', memory=1 * 2**30, high_availability=types.HighAvailability( enabled=True, ), cpu=types.Cpu( topology=types.CpuTopology( cores=2, sockets=2, ), ), ), )
engine.log: 2017-12-25 10:58:19,825-05 INFO [org.ovirt.engine.core.bll.AddVmTemplateCommand] (default task-13) [265ff704-d89f-471b-8207-fc0e1b8816fd] Lock Acquired to object 'EngineLock:{exclusiveLocks='[myinstancetype=TEMPLATE_NAME, 703e1265-e160-4a76-82e6-06974156b7b9=TEMPLATE]', sharedLocks='[]'}' 2017-12-25 10:58:19,831-05 WARN [org.ovirt.engine.core.bll.AddVmTemplateCommand] (default task-13) [265ff704-d89f-471b-8207-fc0e1b8816fd] Validation of action 'AddVmTemplate' failed for user admin@internal-authz. Reasons: VAR__ACTION__ADD,VAR__TYPE__VM_TEMPLATE,ACTION_TYPE_FAILED_MAX_MEMORY_CANNOT_BE_SMALLER_THAN_MEMORY_SIZE,$maxMemory 0,$memory 1024 2017-12-25 10:58:19,832-05 INFO [org.ovirt.engine.core.bll.AddVmTemplateCommand] (default task-13) [265ff704-d89f-471b-8207-fc0e1b8816fd] Lock freed to object 'EngineLock:{exclusiveLocks='[myinstancetype=TEMPLATE_NAME, 703e1265-e160-4a76-82e6-06974156b7b9=TEMPLATE]', sharedLocks='[]'}' 2017-12-25 10:58:19,839-05 DEBUG [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] (default task-13) [265ff704-d89f-471b-8207-fc0e1b8816fd] method: runAction, params: [AddVmTemplate, AddVmTemplateParameters:{commandId='179df9ed-209c-4882-a19a-b76a4fe1adb8', user='null', commandType='Unknown'}], timeElapsed: 33ms 2017-12-25 10:58:19,846-05 ERROR [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (default task-13) [] Operation Failed: [Cannot add Template. Memory size (1024MB) cannot exceed maximum memory size (0MB).]
TIA, Y.
I think this is related to the new `memory_policy.max` attribute that was introduced in 4.1. I think that for virtual machines it has a default value so that it isn't necessary to explicitly provide it. It may not have a default value fro instance types. Can you try adding this to the request to create the instance type? memory_policy=types.MemoryPolicy( max=1 * 2**30 ) Then try again. If it works I think that we need to fix the engine so that it assigns a default value, like it does for virtual machines.