Bug 1328093

Summary: [REST API] Vm doesn't inherit bios->boot_menu->enabled->true from template when created via API
Product: [oVirt] ovirt-engine Reporter: sefi litmanovich <slitmano>
Component: RestAPIAssignee: Shahar Havivi <shavivi>
Status: CLOSED CURRENTRELEASE QA Contact: sefi litmanovich <slitmano>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.6.5.1CC: bugs, gklein, michal.skrivanek, shavivi, slitmano
Target Milestone: ovirt-4.1.0-betaFlags: rule-engine: ovirt-4.1+
rule-engine: planning_ack+
rule-engine: devel_ack+
gklein: testing_ack+
Target Release: 4.1.0.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-15 14:48:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description sefi litmanovich 2016-04-18 12:35:02 UTC
Description of problem:

Trying to create via API a vm based on a template which is configured to enable boot menu results in vm with boot menu disabled.

Version-Release number of selected component (if applicable):
rhevm-3.6.5.3-0.1.el6

How reproducible:
always

Steps to Reproduce:
1. Create a template -> under boot options tab check enable boot menu checkbox.
2. Verify via API that the template is set with the following attribute:

<bios>
<boot_menu>
<enabled>true</enabled>
</boot_menu>
</bios>

3. Create a vm based on the template you just created via API

https://{engine_url}/ovirt-engine/api/vms

POST
header:Content-Type=application/xml
header:Accept=application/xml

<vm>
<name>test</name>
<cluster href= "/ovirt-engine/api/clusters/{cluster_id}" id="{cluster_id}">
<template href= "/ovirt-engine/api/templates/{template_id}" id="{template_id}"/>
</vm>

Actual results:
The vm is created successfully but 'Enable boot menu' is disabled:
<bios>
<boot_menu>
<enabled>false</enabled>
</boot_menu>
</bios>


Expected results:
Vm should inherit the 'Enable boot menu' attribute from the template.

Comment 1 Yaniv Kaul 2016-04-19 07:18:23 UTC
- Logs?
- Severity?

Comment 2 sefi litmanovich 2016-04-19 08:13:56 UTC
Logs - There isn't really much to see in any log, This is on the static vm level, no vdsm. In engine log there's no informative message, vm is created successfully, see relevant lines below. If I start the vm, the vm's xml contains: u'bootMenuEnable': u'false'.
In DB you can also see the template ('testweest') is set to 't' and the vm created from it ('test-boot-menu') to 'f':


engine=# select vm_name, is_boot_menu_enabled from vm_static;
           vm_name            | is_boot_menu_enabled 
------------------------------+----------------------
 Blank                        | f
 Small                        | f
 Medium                       | f
 XLarge                       | f
 Tiny                         | f
 Large                        | f
 testweest                    | t
 test-boot-menu               | f
 golden_mixed_virtio_template | f

from engine.log the relevant lines:

2016-04-19 10:53:03,641 INFO  [org.ovirt.engine.core.bll.aaa.LoginUserCommand] (ajp-/127.0.0.1:8702-4) [] Running command: LoginUserCommand internal: false.
2016-04-19 10:53:03,645 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (ajp-/127.0.0.1:8702-4) [] Correlation ID: null, Call Stack: null, Custom Event ID: -1, Message: User admin@internal logged in.
2016-04-19 10:53:03,798 INFO  [org.ovirt.engine.core.bll.AddVmCommand] (ajp-/127.0.0.1:8702-4) [18ac35dd] Lock Acquired to object 'EngineLock:{exclusiveLocks='[test-boot-menu=<VM_NAME, ACTION_TYPE_FAILED_OBJECT_LOCKED>]', sharedLocks='[93d359e0-a0c5-4637-bfa8-e3cacac20164=<TEMPLATE, ACTION_TYPE_FAILED_TEMPLATE_IS_USED_FOR_CREATE_VM$VmName test-boot-menu>]'}'
2016-04-19 10:53:03,976 INFO  [org.ovirt.engine.core.bll.AddVmCommand] (ajp-/127.0.0.1:8702-4) [] Running command: AddVmCommand internal: false. Entities affected :  ID: 0065d105-d6ca-4112-94fc-b94f288a4ee1 Type: VdsGroupsAction group CREATE_VM with role type USER,  ID: 93d359e0-a0c5-4637-bfa8-e3cacac20164 Type: VmTemplateAction group CREATE_VM with role type USER
2016-04-19 10:53:04,070 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (ajp-/127.0.0.1:8702-4) [] Correlation ID: 18ac35dd, Job ID: d0146392-3568-4226-b67a-a30ef6a67fc6, Call Stack: null, Custom Event ID: -1, Message: VM test-boot-menu was created by admin@internal.
2016-04-19 10:53:04,075 INFO  [org.ovirt.engine.core.bll.AddVmCommand] (ajp-/127.0.0.1:8702-4) [] Lock freed to object 'EngineLock:{exclusiveLocks='[test-boot-menu=<VM_NAME, ACTION_TYPE_FAILED_OBJECT_LOCKED>]', sharedLocks='[93d359e0-a0c5-4637-bfa8-e3cacac20164=<TEMPLATE, ACTION_TYPE_FAILED_TEMPLATE_IS_USED_FOR_CREATE_VM$VmName test-boot-menu>]'}'
2016-04-19 10:53:04,144 INFO  [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (ajp-/127.0.0.1:8702-4) [79205dd5] Running command: LogoutSessionCommand internal: false.
2016-04-19 10:53:04,154 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (ajp-/127.0.0.1:8702-4) [79205dd5] Correlation ID: 79205dd5, Call Stack: null, Custom Event ID: -1, Message: User admin@internal logged out.

Comment 3 sefi litmanovich 2017-02-01 15:29:00 UTC
Verified with rhevm-4.1.0.3-0.1.el7 according to steps in description.