Description of problem: Add cluster with cpu type "IBM POWER 8" via RESTAPI fail on Operation failed. Same operation via webAdmin succeed. RESTAPI Request: =============== Custom header: Content-Type: application/xml POST https://<engine fqdn>:443/ovirt-engine/api/clusters <cluster> <name>istein1</name> <cpu id="IBM POWER 8"/> <data_center href="/api/datacenters/06e2ae3d-de68-4e1b-8643-57c926e3bbe9" id="06e2ae3d-de68-4e1b-8643-57c926e3bbe9"> <name>istein</name> <local>false</local> <version major="3" minor="6"/> <supported_versions> <version major="3" minor="6"/> </supported_versions> <quota_mode>disabled</quota_mode> </data_center> <version major="3" minor="6"/> </cluster> Response: ======== 400 Bad Request <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <fault> <reason>Operation Failed</reason> <detail>[Cannot create Cluster. The chosen CPU is not supported.]</detail> </fault> Version-Release number of selected component (if applicable): rhevm 3.6.3-0.1.el6 How reproducible: 100% Steps to Reproduce: 1. Created a DC (storage type: shared, compatibility version 3.6, Quota mode), via the webAdmin, for example. 2. Create a cluster via RESTAPI same as the request described above
The <cpu id="... must correspond to the one defined in vdc_options. In this case it has to be "IBM POWER8" (e.g. without the space before the '8'). Does it work if you try it like this?
reply to comment 1: It is regression as the rhevm env I am working on, contains active DCs and clusters, that were added via RESTAPI, about 2 month ago. reply to comment 2: Even when using "IBM POWER8" instead of "IBM POWER 8" still fails: Using values from vdc_options ServerCPUList [1]: - <cpu id="IBM POWER8"/> => fail same as in the bug description - <cpu id="Intel Conroe Family"/> => succeed to add cluster [1] ServerCPUList 3:Intel Conroe Family:vmx,nx,model_Conro e:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx, model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 7:Intel SandyBridge Family:vmx,nx,model_SandyBridge:SandyBridge:x86_64; 8:Intel Haswell Family:vmx,nx,model_Has well:Haswell:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx ,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64; 5:AMD O pteron G4:svm,nx,model_Opteron_G4:Opteron_G4:x86_64; 6:AMD Opteron G5:svm,nx,model_Opteron_G5:Opteron_G5 :x86_64; 3:IBM POWER8:powernv,model_power8:power8:ppc64;
Ilanit - anything in the engine.log? (why is it not attached?)
The problem is that https://bugzilla.redhat.com/show_bug.cgi?id=1248867 seems to be partially incorrect. The part which updates the existing engine_config for 3.6 did not work due to incorrectly set default value for the fn_db_update_default_config_value() so it is still "IBM POWER 8". And sending "IBM POWER 8" using REST does not work because there is a code which translates this to "IBM POWER8" on the API layer.
Bug tickets must have version flags set prior to targeting them to a release. Please ask maintainer to set the correct version flags and only then set the target milestone.
This bug report has Keywords: Regression or TestBlocker. Since no regressions or test blockers are allowed between releases, it is also being identified as a blocker for this release. Please resolve ASAP.
Engine.log relevant part: 2016-02-03 17:52:14,985 WARN [org.ovirt.engine.core.bll.AddVdsGroupCommand] (ajp-/127.0.0.1:8702-6) [3ace3ea8] CanDoAction of action 'AddVdsGroup' failed for user admin@internal. Reasons: VAR__TYPE__CLUSTER,VAR__ACTION__CREATE,ACTION_TYPE_FAILED_CPU_NOT_FOUND 2016-02-03 17:52:14,986 ERROR [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (ajp-/127.0.0.1:8702-6) [] Operation Failed: [Cannot create Cluster. The chosen CPU is not supported.] 2016-02-03 17:52:15,020 INFO [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (ajp-/127.0.0.1:8702-6) [2d17a222] Running command: LogoutSessionCommand internal: false. 2016-02-03 17:52:15,028 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (ajp-/127.0.0.1:8702-6) [2d17a222] Correlation ID: 2d17a222, Call Stack: null, Custom Event ID: -1, Message: User admin@internal logged out.
It is fixed for 4.0 and works for fresh install of 3.6.3. For upgrade from 3.6.2 use a workaround to change the 'IBM POWER 8' to 'IBM POWER8' in the vdc_options table for the ServerCPUList for version 3.6. You can use a query like this: update vdc_options set option_value = '3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 7:Intel SandyBridge Family:vmx,nx,model_SandyBridge:SandyBridge:x86_64; 8:Intel Haswell-noTSX Family:vmx,nx,model_Haswell-noTSX:Haswell-noTSX:x86_64; 9:Intel Haswell Family:vmx,nx,model_Haswell:Haswell:x86_64; 10:Intel Broadwell-noTSX Family:vmx,nx,model_Broadwell-noTSX:Broadwell-noTSX:x86_64; 11:Intel Broadwell Family:vmx,nx,model_Broadwell:Broadwell:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64; 5:AMD Opteron G4:svm,nx,model_Opteron_G4:Opteron_G4:x86_64; 6:AMD Opteron G5:svm,nx,model_Opteron_G5:Opteron_G5:x86_64; 3:IBM POWER8:powernv,model_POWER8:POWER8:ppc64;' where option_name = 'ServerCPUList' and version = '3.6'
Verified on 3.6.1-0.1 (While using automation to build PPC testing rhevm environment from new, including add cluster, via REST API).