On Mon, Dec 25, 2017 at 8:29 PM, Michal Skrivanek < [email protected]> wrote:
> > > > On 25 Dec 2017, at 18:41, Juan Hernández <[email protected]> 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. > > The default for VMs comes from the Blank template. There’s no template for > instance types, so it always needs to be provided > That's true in general, but not for max-memory. Let the blank template be defined with memory=1024mb and max-memory=4096mb. When a request to add a VM based on the blank template with memory=8192mb arrives with no max-memory specified, we cannot take the value of max-memory from the template since then the operation will fail (as the memory exceeds max memory) When adding a VM from rest-api and max-memory is not specified then we set max-memory = memory * 4 [1, 2]. We can do the same for templates/instance types.. [1] https://github.com/oVirt/ovirt-engine/blob/master/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java#L163 [2] and that logic is problematic since the result may exceed the max memory limitation defined for the OS in os-info and then the operation will fail.. > > > _______________________________________________ > > Devel mailing list > > [email protected] > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > _______________________________________________ > Devel mailing list > [email protected] > http://lists.ovirt.org/mailman/listinfo/devel >
_______________________________________________ Devel mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/devel
