Bug #8223
closedoVirt 3.5 API issues revolving around disk profiles
Description
There seems to be an issue with the api calls being made to oVirt.
Enivronment:
- Hosted engine setup, with a brand new install of oVirt 3.5
- Default disk profiles are setup, and I can create vm's without issue in the oVirt admin page.
- Foreman install is an upgrade of 1.5.2 to 1.6.2
Steps to reproduce:
1. Create a new host in Foreman
- Get the following error: "Failed to create a compute (oVirt) instance test.ops.controlscan.net: action type disk profile."
Log data:
Ovirt:
2014-10-30 13:53:29,771 WARN [org.ovirt.engine.core.bll.AddDiskCommand] (ajp--127.0.0.1-8702-34) [438eb5a5] CanDoAction of action AddDisk failed. Reasons:VAR__ACTION__ADD,VAR__TYPE__VM_DISK,ACTION_TYPE_DISK_PROFILE_EMPTY
2014-10-30 13:53:29,771 INFO [org.ovirt.engine.core.bll.AddDiskCommand] (ajp--127.0.0.1-8702-34) [438eb5a5] Lock freed to object EngineLock [exclusiveLocks= , sharedLocks= key: 5be2cc2a-d4d3-4f0e-8938-4aa22de35c7d value: VM
Foreman:
Failed to create a compute Operations (oVirt) instance test.ops.controlscan.net: action type disk profile empty
/opt/rh/ruby193/root/usr/share/gems/gems/rbovirt-0.0.29/lib/rbovirt.rb:190:in `handle_fault'
/opt/rh/ruby193/root/usr/share/gems/gems/rbovirt-0.0.29/lib/rbovirt.rb:119:in `rescue in http_post'
/opt/rh/ruby193/root/usr/share/gems/gems/rbovirt-0.0.29/lib/rbovirt.rb:114:in `http_post'
/opt/rh/ruby193/root/usr/share/gems/gems/rbovirt-0.0.29/lib/client/vm_api.rb:77:in `add_volume'
/opt/rh/ruby193/root/usr/share/gems/gems/fog-1.23.0/lib/fog/ovirt/requests/compute/add_volume.rb:9:in `add_volume'
/opt/rh/ruby193/root/usr/share/gems/gems/fog-1.23.0/lib/fog/ovirt/models/compute/server.rb:78:in `add_volume'
/usr/share/foreman/app/models/compute_resources/foreman/model/ovirt.rb:319:in `block in create_volumes'
/usr/share/foreman/app/models/compute_resources/foreman/model/ovirt.rb:314:in `map'
/usr/share/foreman/app/models/compute_resources/foreman/model/ovirt.rb:314:in `create_volumes'
/usr/share/foreman/app/models/compute_resources/foreman/model/ovirt.rb:148:in `create_vm'
/usr/share/foreman/app/models/concerns/orchestration/compute.rb:74:in `setCompute'
/usr/share/foreman/app/models/concerns/orchestration.rb:137:in `execute'
/usr/share/foreman/app/models/concerns/orchestration.rb:85:in `block in process'
/usr/share/foreman/app/models/concerns/orchestration.rb:77:in `each'
/usr/share/foreman/app/models/concerns/orchestration.rb:77:in `process'
/usr/share/foreman/app/models/concerns/orchestration.rb:18:in `on_save'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:660:in `_run__5675277592741465__save__1228866208231251358__callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:385:in `_run_save_callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/callbacks.rb:264:in `create_or_update'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/persistence.rb:84:in `save'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/validations.rb:50:in `save'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/attribute_methods/dirty.rb:22:in `save'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/transactions.rb:259:in `block (2 levels) in save'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/transactions.rb:313:in `block in with_transaction_returning_status'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/transactions.rb:208:in `transaction'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/transactions.rb:311:in `with_transaction_returning_status'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/transactions.rb:259:in `block in save'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/transactions.rb:270:in `rollback_active_record_state!'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/transactions.rb:258:in `save'
/usr/share/foreman/app/models/concerns/foreman/sti.rb:29:in `save_with_type'
/usr/share/foreman/app/controllers/hosts_controller.rb:90:in `create'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/abstract_controller/base.rb:167:in `process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal/rendering.rb:10:in `process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:538:in `block (3 levels) in run_3968931174508796031__process_action__2169301522690226994__callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:215:in `block in conditional_callback_around_6871'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:326:in `around'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:310:in `_callback_around_1821'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_6871'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:537:in `block (2 levels) in _run_3968931174508796031__process_action__2169301522690226994__callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:215:in `block in conditional_callback_around_6870'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:33:in `clear_thread'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_6870'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:426:in `block in _run_3968931174508796031__process_action__2169301522690226994__callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:215:in `block in conditional_callback_around_6869'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:326:in `around'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:310:in `_callback_around_13'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_6869'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:414:in `_run_3968931174508796031__process_action__2169301522690226994__callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/abstract_controller/callbacks.rb:17:in `process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal/rescue.rb:29:in `process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/notifications.rb:123:in `block in instrument'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/notifications.rb:123:in `instrument'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/abstract_controller/base.rb:121:in `process'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/abstract_controller/rendering.rb:45:in `process'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal.rb:203:in `dispatch'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_controller/metal.rb:246:in `block in action'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/routing/route_set.rb:73:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/routing/route_set.rb:36:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/routing/route_set.rb:608:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/apipie-rails-0.2.6/lib/apipie/extractor/recorder.rb:97:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/apipie-rails-0.2.6/lib/apipie/middleware/checksum_in_headers.rb:27:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/etag.rb:23:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/conditionalget.rb:35:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/head.rb:14:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
/usr/share/foreman/lib/middleware/catch_json_parse_errors.rb:9:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/flash.rb:242:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:210:in `context'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:205:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/cookies.rb:341:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/query_cache.rb:64:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activerecord-3.2.18/lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:405:in `_run__2103696518195834597__call__1228866208231251358__callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/railties-3.2.18/lib/rails/rack/logger.rb:32:in `call_app'
/opt/rh/ruby193/root/usr/local/share/gems/gems/railties-3.2.18/lib/rails/rack/logger.rb:16:in `block in call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/tagged_logging.rb:22:in `tagged'
/opt/rh/ruby193/root/usr/local/share/gems/gems/railties-3.2.18/lib/rails/rack/logger.rb:16:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/request_id.rb:22:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/runtime.rb:17:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/activesupport-3.2.18/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/lock.rb:15:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/actionpack-3.2.18/lib/action_dispatch/middleware/static.rb:63:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:143:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:155:in `invalidate'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:71:in `call!'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/railties-3.2.18/lib/rails/engine.rb:484:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/railties-3.2.18/lib/rails/application.rb:231:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/railties-3.2.18/lib/rails/railtie/configurable.rb:30:in `method_missing'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/builder.rb:134:in `call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/urlmap.rb:64:in `block in call'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in `each'
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in `call'
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/rack/thread_handler_extension.rb:77:in `process_request'
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:140:in `accept_and_process_next_request'
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:108:in `main_loop'
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler.rb:441:in `block (3 levels) in start_threads'
Rolling back due to a problem: [Set up compute instance test.ops.controlscan.net 2 failed [#<Host::Managed id: nil, name: "test.ops.controlscan.net", ip: "192.168.50.187", last_compile: nil, last_freshcheck: nil, last_report: nil, updated_at: nil, source_file_id: nil, created_at: nil, mac: nil, root_pass: "$1$Etau+d/a$EX/zVeqL1tWjLtymtX1oM0", serial: nil, puppet_status: 0, domain_id: 1, architecture_id: 1, operatingsystem_id: 1, environment_id: 1, subnet_id: 1, ptable_id: 7, medium_id: 7, build: true, comment: "", disk: "", installed_at: nil, model_id: nil, hostgroup_id: 1, owner_id: 2, owner_type: "User", enabled: true, puppet_ca_proxy_id: 2, managed: true, use_image: nil, image_file: nil, uuid: nil, compute_resource_id: 8, puppet_proxy_id: 2, certname: nil, image_id: nil, organization_id: nil, location_id: nil, type: "Host::Managed", otp: nil, realm_id: nil, compute_profile_id: nil, provision_method: "build">, :setCompute]]
Updated by Dominic Cleal about 10 years ago
- Priority changed from Urgent to High
- Difficulty deleted (
easy)
Updated by Doug Bishop about 10 years ago
After working with the guys red-hat in the ovirt irc channel, it was determined that this is a bug. The issue does not present it self when there is only one disk profile, only when there is more than one. It would be helpful however to have the ability to select a disk profile when creating compute profiles. I have submitted a pull request to rbovirt with the ablity to pull disk profiles from the storage domains, and apply disk profiles when creating disks. The bug is here:
https://bugzilla.redhat.com/show_bug.cgi?id=1160846
They are considering it a block for 3.5.1 since this is a regression from 3.4.
Updated by Ohad Levy almost 9 years ago
- Status changed from New to Feedback
Does this mean its actually an ovirt bug vs foreman? if thats the case can we close this one?
Updated by Anonymous over 7 years ago
- Status changed from Feedback to Rejected
problem was on the ovirt side