On Mon, Dec 25, 2017 at 8:29 PM, Michal Skrivanek <michal.skrivanek@redhat.com> wrote:


> On 25 Dec 2017, at 18:41, Juan Hernández <jhernand@redhat.com> wrote:
>
> 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.

Thanks, that worked.
We also need to fix the example in the SDK...
Y.
 

The default for VMs comes from the Blank template. There’s no template for instance types, so it always needs to be provided

> _______________________________________________
> Devel mailing list
> Devel@ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel
>
>